Андрей Мурга (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Помогите пожалуйста доделать робота
 
есть условие входа в позицю и есть отдельно тейк и стоп,когда складую вместе сразу после запуска виставляються лимитки,как зделать так чтоб лимитки виставлялись после входа в позицю?Заранее благодарен
Вот скрипти
run = true
function main()
while run do
PriceStep = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
Price = getParamEx('SPBFUT', 'RIH6', 'LAST').param_value
PriceB = Price + 50 * PriceStep --маркет цена покупки    
     local N1=getNumCandles("Price")

     local N2=getNumCandles("MyPrice")

     t1,n1,i1=getCandlesByIndex("Price", 0, N1-3, 2)

     t2,n2,i2=getCandlesByIndex("MyPrice", 0, N2-3, 2)
    --сигнал на покупку (первый мувинг пересекает второй снизу вверх

     if t1[0].close<t2[0].close and t1[1].close>t2[1].close then
Open('SPBFUT', 'RIH6',PriceB , 1, 'B')
  end
     sleep(500)
  end
end

function OnStop()
  run = false
end


function Open(class_code, sec_code, price, qty, operation)
   
  local Transaction={
     ['TRANS_ID']   =  "1",
     ['ACTION']     = 'NEW_ORDER',
     ['CLASSCODE']  = tostring(class_code),
     ['SECCODE']    = tostring(sec_code),      
     ['PRICE']      = tostring(price),
     ['QUANTITY']   = tostring(qty),
     ['OPERATION']  = operation,
     ['TYPE']       = 'L',
     ['QUANTITY']   = tostring(qty),
     ['ACCOUNT']    = 'SPBFUT011Ib  '
  }
 
  local res = sendTransaction(Transaction)
  if res ~= '' then message('Ошибка отправки транзакции: '..res) end
end  


И второй
PriceStep = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
Price = getParamEx('SPBFUT', 'RIH6', 'LAST').param_value
PriceT = Price * 1+200 --маркет цена продажи
SEC_PRICE_STEP = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
STOP_LOSS=1;
TAKE_PROFIT=3;
stopprice= tostring(Price - TAKE_PROFIT*SEC_PRICE_STEP);
stopprice2= tostring(Price + STOP_LOSS*SEC_PRICE_STEP);
if operation(S) then send
local Transaction = {
["ACTION"] = "NEW_STOP_ORDER", -- Тип заявки
["TRANS_ID"] = "2",
["CLASSCODE"]="SPBFUT",
["SECCODE"]="RIH6",
["ACCOUNT"]="SPBFUT011Ib",
["OPERATION"]="B",
["QUANTITY"]= "1",
["PRICE"]= tostring(PriceT),
["STOPPRICE"] = tostring(stopprice), -- Цена Тэйк-Профита
["STOP_ORDER_KIND"]= "TAKE_PROFIT_AND_STOP_LIMIT_ORDER", -- Тип стоп-заявки
["EXPIRY_DATE"]= "TODAY",
["OFFSET"]              = tostring(2*SEC_PRICE_STEP),
["OFFSET_UNITS"]        = "PRICE_UNITS",
["SPREAD"]= "30",
["SPREAD_UNITS"]        = "PRICE_UNITS",
["STOPPRICE2"]= tostring(stopprice2), -- Цена Стоп-Лосса
["IS_ACTIVE_IN_TIME"]= "NO"
}
res = sendTransaction(Transaction);
end

message('Выставление тейк-стоп: '..res,2)
 
Что за [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
 
Что за  [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
Проблема с циклом
 
У меня при запуске робота с циклом сразу зависает терминал и нужно виходить,что делать?
ошибка транзакции
 
Вот обрезал нули но вибивает ошибку: неправильно указана цена,подсккажите почему?
price = tostring(math.floor(getParamEx("SPBFUT", "SRH6", 'offer') .param_value))

t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="SRH6 ",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]="SPBFUT00963   ",

["CLIENT_CODE"]="G501963/RF  ",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]=tostring(Price),

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message(res,1)
Трейлинг Стоп
 
Возможно ли переносить позицию в безубыток (тоесть трейлинг стоп), после достижения профита в 100п по РТС?
функция tonumber
 
Функция tonumber должна обрезать нули,почему же она этого не делает ?
  priceB=tonumber (getParamEx("SPBFUT", "SRH6", 'offer').param_value)

t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="SRH6 ",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]="   ",

["CLIENT_CODE"]=" 99883 ",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]=tonumber(priceB),

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message(res,1)
ошибка скрита
 
Как исправить чтоб работало,вот ошибка  11: 'then' expected near '='
run=true

while run do

priceB=tostring (getParamEx("SPBFUT", "RIH6", 'offer').param_value)  
priceS=tostring (getParamEx("SPBFUT", "SRH6", 'bid').param_value)
if  priceB-priceS=20 then  

message(спред)
end;

sleep(60000)
end
message
 
priceB=tostring (getParamEx("SPBFUT", "SRH6", 'offer').param_value)  
message("покупайте по цене")
message(priceB)
Как зделать один месседж:покупайте по цене(цена)?
 
Тейк Профит и Стоп Лос
 
Подскажите пожалуйста  в даной транзакции нужно условия Спреда,если робот торгует Маркет Ордерами?
local Transaction = {
               ["ACTION"]              = "NEW_STOP_ORDER", -- Тип заявки
["TRANS_ID"]            = tostring(trans_id),
["CLASSCODE"]           =  "SPBFUT",
["SECCODE"]             =  "SRH6 ",
["ACCOUNT"]             = ACCOUNT,
["OPERATION"]           = "B"
["QUANTITY"]            = "1", -- Количество в лотах
["PRICE"]               = price, -- Цена, по которой выставится заявка при срабатывании Стоп-Лосса (для рыночной заявки по акциям должна быть 0)
["STOPPRICE"]           = stopprice, -- Цена Тэйк-Профита
["STOP_ORDER_KIND"]     = "TAKE_PROFIT_AND_STOP_LIMIT_ORDER", -- Тип стоп-заявки
["EXPIRY_DATE"]         = "TODAY", -- Срок действия стоп-заявки ("GTC" – до отмены,"TODAY" - до окончания текущей торговой сессии, Дата в формате "ГГММДД")
 
       ["SPREAD"]              = tostring(100*SEC_PRICE_STEP),
["SPREAD_UNITS"]        = "PRICE_UNITS", -- Единицы измерения защитного спрэда ("PRICE_UNITS" - шаг цены, или "PERCENTS" - проценты)
     

["STOPPRICE2"]          = stopprice2, -- Цена Стоп-Лосса
["IS_ACTIVE_IN_TIME"]   = "NO",
     
     ["COMMENT"]             = "Простой MA-робот ТЭЙК-ПРОФИТ и СТОП-ЛОСС"
}
    sendTransaction(Transaction);  

 
Округление цены
 
Как округлить цену к целому числу,у меня цену видает с нулями после точки.а такую цену тразакция не принимает
Price =tonumber(getParamEx('SPBFUT', 'SRH6', 'bid').param_value)

t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="SRH6 ",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]=" SPBFUT00b52 ",

["CLIENT_CODE"]=" 99883 ",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]=tonumber(Price),

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message(res,1)
Не работает бесконечный цикл
 
Не работает бесконечный цикл,исправте пожалуйста,Ошибку не видает,просто ничего не происходит
  while run do
     
 
t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="RIH6 ",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]=" SPBFUT00b52 ",

["CLIENT_CODE"]=" 99883 ",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]= "70500",

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message(res,1)
 sleep(10)
  end
Как зделать переворот пози?
 
Есто условие по которому входим в позицию,если есть обратное условие то как закрить действующую позу и открить новую?
Страницы: 1
Наверх