Добрый день.
Только начинаю программировать, нужна ваша поддержка.
Пишу программу, чтобы робот выводил сообщение, когда открывается позиция.
Пока вот такой код. Сообщения не выдаёт, ошибки тоже не показывает. Что здесь не верно?...
Идентификатор в графике прописан.
Только начинаю программировать, нужна ваша поддержка.
Пишу программу, чтобы робот выводил сообщение, когда открывается позиция.
Пока вот такой код. Сообщения не выдаёт, ошибки тоже не показывает. Что здесь не верно?...
Идентификатор в графике прописан.
Код |
---|
MyAccount="---" -- сюда вбить свой код клиента; или вбить в настройки индикатора в квике class_code="SPBFUT" Emit="RIZ8" loss=100 loss_prosk=0 profit=110 -- количество пунктов от места входа в сделку до тейк профита; или вбить в настройки индикатора в квике profit_otstup=0 -- отступ от максимума (параметр тейк-профита); или вбить в настройки индикатора в квике profit_prosk=10 -- защитный спред (параметр тейк-профита); или вбить в настройки индикатора в квике is_run=true function main() while is_run do Body() end end function OnStop(stop_flag) is_run=false stop_flag=1 end function Body() function PosNowFunc(emit,account) local nSize = getNumberOf("futures_client_holding") --количество строк в таблице "Ограничения по клиентским счетам" if (nSize~=nil)then for i = 0, nSize-1 do local row = getItem("futures_client_holding",i) if(row~=nil and row.sec_code == emit and row.trdaccid == account) then --больше одной строки не должно быть для каждого инструмента return tonumber(row.totalnet) --значение позиции на фортс end end end return 0 end local PosNow = PosNowFunc(Emit,MyAccount) local N=getNumCandles("M1") t,n,l=getCandlesByIndex("M1", 0, N-6, 6) --возвращает информацию о 5 последних свечах на графике с определённым идентификатором. if PosNow>0 then if t[5].low<t[4].low and t[5].low<t[3].low and t[5].low<t[2].low and t[5].low<t[1].low and t[5].low<t[0].low then low_high=(t[5].low)-10 message("Стоп-лосс будет установлен по цене ".. tostring ((t[5].low)-10).."!") elseif t[4].low<t[5].low and t[4].low<t[3].low and t[4].low<t[2].low and t[4].low<t[1].low and t[4].low<t[0].low then low_high=(t[4].low)-10 message("Стоп-лосс будет установлен по цене ".. tostring ((t[4].low)-10).."!") elseif t[3].low<t[5].low and t[3].low<t[4].low and t[3].low<t[2].low and t[3].low<t[1].low and t[3].low<t[0].low then low_high=(t[3].low)-10 message("Стоп-лосс будет установлен по цене ".. tostring ((t[3].low)-10).."!") elseif t[2].low<t[5].low and t[2].low<t[4].low and t[2].low<t[3].low and t[2].low<t[1].low and t[2].low<t[0].low then low_high=(t[2].low)-10 message("Стоп-лосс будет установлен по цене ".. tostring ((t[2].low)-10).."!") elseif t[1].low<t[5].low and t[1].low<t[4].low and t[1].low<t[3].low and t[1].low<t[2].low and t[1].low<t[0].low then -- then low_high=(t[1].low)-10 message("Стоп-лосс будет установлен по цене ".. tostring ((t[1].low)-10).."!") elseif t[0].low<t[5].low and t[0].low<t[4].low and t[0].low<t[3].low and t[0].low<t[2].low and t[0].low<t[1].low then low_high=(t[0].low)-10 message("Стоп-лосс будет установлен по цене ".. tostring ((t[0].low)-10).."!") end end if PosNow<0 then message("Работает!") end end |