Андрей Мурга (Все сообщения пользователя)

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

Страницы: 1 2 След.
Помогите пожалуйста доделать робота
 
есть условие входа в позицю и есть отдельно тейк и стоп,когда складую вместе сразу после запуска виставляються лимитки,как зделать так чтоб лимитки виставлялись после входа в позицю?Заранее благодарен
Вот скрипти
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)
 
Тейк Профит и Стоп Лос
 
О чом же я таком нереальном мечтаю,если вы о стопе 1п,то я его вбил  для того чтоб быстрее понять работу скрипта  
Тейк Профит и Стоп Лос
 
Здравствуйте,у меня опять проблема на этот рас с проскальзиваныем цены,заявка активируется но цена уходит,заявка не исполнена,Подскажите что сделать чтоб не проскальзивало,вот скрипт  
PriceStep = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
Price = getParamEx('SPBFUT', 'RIH6', 'LAST').param_value
PriceS = Price - 50 * PriceStep --маркет цена продажи
t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="RIH6",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]="SPBFUT011Ib ",

["CLIENT_CODE"]=" 99883",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]=tostring(PriceS),

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message('Открытие позиции: '..res,1)

PriceStep = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
PriceT = getParamEx('SPBFUT', 'RIH6', 'LAST').param_value
PriceT = Price * 1 --маркет цена продажи




SEC_PRICE_STEP = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
STOP_LOSS=1;
TAKE_PROFIT=3;
stopprice= tostring(PriceT - TAKE_PROFIT*SEC_PRICE_STEP);
stopprice2= tostring(PriceT + STOP_LOSS*SEC_PRICE_STEP);

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);

message('Выставление тейк-стоп: '..res,2)
Тейк Профит и Стоп Лос
 
прочитал ну так оступ=10 и тогда должна виставиться заявка на 30п тоесть от цени входа  на 40п,ну никак на 500
Тейк Профит и Стоп Лос
 
я поставил стоп на 30п а заявка виставилась больше чем на 500п почему
Тейк Профит и Стоп Лос
 
   Не указаны единицы измерения защитного интервала take profit стоп-заявки.В скрипте они есть почму же он их не видит?
SEC_PRICE_STEP = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
STOP_LOSS=3;
TAKE_PROFIT=3;
stopprice= tostring(PriceS - TAKE_PROFIT*SEC_PRICE_STEP);
stopprice2= tostring(PriceS + STOP_LOSS*SEC_PRICE_STEP);

local Transaction = {
["ACTION"] = "NEW_STOP_ORDER", -- Тип заявки
["TRANS_ID"] = "2",
["CLASSCODE"]="SPBFUT",
["SECCODE"]="RIH6",
["ACCOUNT"]="SPBFUT011Ib",
["OPERATION"]="B",
["QUANTITY"]= "1",
["PRICE"]= tostring(PriceS),
["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"]= "40",
["STOPPRICE2"]= tostring(stopprice2), -- Цена Стоп-Лосса
["IS_ACTIVE_IN_TIME"]= "NO"
}
res = sendTransaction(Transaction);

message('Выставление тейк-стоп: '..res,2)
Тейк Профит и Стоп Лос
 
Проверил месседжом там всьо работает
Тейк Профит и Стоп Лос
 
attempt to perform arithmetic on global 'SEC_PRICE_STEP' (a nil value)
Тейк Профит и Стоп Лос
 
Почему не видит шаг цени?
PriceStep = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
Price = getParamEx('SPBFUT', 'RIH6', 'LAST').param_value
PriceS = Price - 50 * PriceStep --маркет цена продажи
t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="SRH6 ",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]=" SPBFUT00b52 ",

["CLIENT_CODE"]=" 99883 ",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]=tostring(PriceS),

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message(res,1)
               
STOP_LOSS=5;                  
TAKE_PROFIT=5;
stoppric= tostring(Prices - TAKE_PROFIT*SEC_PRICE_STEP);  
stopprice2= tostring(Prices + STOP_LOSS*SEC_PRICE_STEP);
SEC_PRICE_STEP = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value

local Transaction = {
["ACTION"] = "NEW_STOP_ORDER", -- Тип заявки
["TRANS_ID"] = tostring(trans_id),
["CLASSCODE"]="SPBFUT",
["SECCODE"]="SRH6 ",
["ACCOUNT"]="SPBFUT011Ib ",
["OPERATION"]="B",
["QUANTITY"]= "1",
["PRICE"]= tostring(PriceS),
["STOPPRICE"] = tostring(stopprice), -- Цена Тэйк-Профита
["STOP_ORDER_KIND"]= "TAKE_PROFIT_AND_STOP_LIMIT_ORDER", -- Тип стоп-заявки
["EXPIRY_DATE"]= "TODAY",
["SPREAD"]= "20",
["STOPPRICE2"]= tostring(stopprice2), -- Цена Стоп-Лосса
["IS_ACTIVE_IN_TIME"]= "NO"
}
sendTransaction(Transaction);

 
Тейк Профит и Стоп Лос
 
огромное вам спасибо
Тейк Профит и Стоп Лос
 
["QUANTITY"]= "1",
Тейк Профит и Стоп Лос
 
ошибка таже 39 и 46 строка
Тейк Профит и Стоп Лос
 
 Transaction = {
Тейк Профит и Стоп Лос
 
а как правильно закрить?
Тейк Профит и Стоп Лос
 
Ребят помогите кому не сложно розобраться с тейком и стопом и я чтоб не делал все равно ошибка,код вверху
Что за [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
 
У меня слип(120000000000) делает 100 меседжей в секунду
Тейк Профит и Стоп Лос
 
Вот в чом ошибка:lua:46: '}' expected (to close '{' at line 39) near '['
PriceStep = getParamEx('SPBFUT', 'RIH6' , 'SEC_PRICE_STEP').param_value
Price = getParamEx('SPBFUT', 'RIH6', 'LAST').param_value
PriceS = Price - 50 * PriceStep --маркет цена продажи
t = {

["CLASSCODE"]="SPBFUT",

["SECCODE"]="SRH6 ",

["ACTION"]="NEW_ORDER",

["ACCOUNT"]=" SPBFUT011Ib  ",

["CLIENT_CODE"]=" 000000326117  ",

["TYPE"]="L",

["OPERATION"]="S",

["QUANTITY"]="1",

["PRICE"]=tostring(PriceS),

["TRANS_ID"]="1"

}

res=sendTransaction(t)

message(res,1)
               
STOP_LOSS=5;                  
TAKE_PROFIT=5;
stoppric= tostring(Prices - TAKE_PROFIT*SEC_PRICE_STEP);  
stopprice2= tostring(Prices + STOP_LOSS*SEC_PRICE_STEP);



local Transaction = {
     ["ACTION"]              = "NEW_STOP_ORDER", -- Тип заявки
["TRANS_ID"]            = tostring(trans_id),
["CLASSCODE"]="SPBFUT",
["SECCODE"]="SRH6 ",              
["ACCOUNT"]="SPBFUT011Ib    ",
["OPERATION"]="B"  
["QUANTITY"]= "1",
["PRICE"]= tostring(PriceS),
["STOPPRICE"] = tostring(stopprice), -- Цена Тэйк-Профита
["STOP_ORDER_KIND"]= "TAKE_PROFIT_AND_STOP_LIMIT_ORDER", -- Тип стоп-заявки
["EXPIRY_DATE"]= "TODAY",  
       ["SPREAD"]=  "20"
       ["STOPPRICE2"]= tostring(stopprice2), -- Цена Стоп-Лосса
["IS_ACTIVE_IN_TIME"]= "NO",
               }
               sendTransaction(Transaction);    
Что за [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
 
Как ограничить количество заявок в секунду?
Что за [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
 
Что за  [ FORTS ] [ 90112 ] " SQLProxy ограничение борьбы с наводнениями " .Кто сталкивався?
Проблема с циклом
 
всьоровно зависает
Трейлинг Стоп
 
Мне не нужо програму,мне нужно код
Проблема с циклом
 
тоесть?
Тейк Профит и Стоп Лос
 
В чом шибка стопа
local Transaction = {
["ACTION"] = "NEW_STOP_ORDER", -- Тип заявки
["TRANS_ID"] = tostring(trans_id),
["CLASSCODE"] = "SPBFUT",
["SECCODE"] = "SRH6 ",
["ACCOUNT"] =  "SPBFUT00963",
["OPERATION"] = "B"
["QUANTITY"] = "1", -- Количество в лотах
["PRICE"] = price, -- Цена, по которой выставится заявка при срабатывании Стоп-Лосса (для рыночной заявки по акциям должна быть 0)
["STOPPRICE"] =  "10290", -- Цена Тэйк-Профита
["STOP_ORDER_KIND"] = "TAKE_PROFIT_AND_STOP_LIMIT_ORDER", -- Тип стоп-заявки
["EXPIRY_DATE"] = "TODAY", -- Срок действия стоп-заявки ("GTC" – до отмены,"TODAY" - до окончания текущей торговой сессии, Дата в формате "ГГММДД")

["STOPPRICE2"] = "10260, -- Цена Стоп-Лосса
["IS_ACTIVE_IN_TIME"] = "NO",


}
sendTransaction(Transaction);
Трейлинг Стоп
 
Зачем нам таблица стопов и зделок?
Проблема с циклом
 
не не полний но при етом тоже виснет
Проблема с циклом
 
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(1000)
  end
Трейлинг Стоп
 
я правильно понял. stop_level и есть трейлинг он будет подтягиваит за индикатором,можно ли зделать что подтягивал за ценной и при достижениее б/у остановлявся на том уровне?
Трейлинг Стоп
 
Я нашел один но трудно розобраться
if string.find(package.path,'C:\\Program Files (x86)\\Lua\\5.1\\lua\\?.lua')==nil then
  package.path=package.path..';C:\\Program Files (x86)\\Lua\\5.1\\lua\\?.lua;'
end
if string.find(package.path,'C:\\Program Files\\Lua\\5.1\\lua\\?.lua')==nil then
  package.path=package.path..';C:\\Program Files\\Lua\\5.1\\lua\\?.lua;'
end

require"QL"
require"iuplua"
log="auto_stop.log"

--Блок пользовательских переменных. Забиваем в визуальный интерфейс, который помнит ранее введённые данные.
account="game997"
cl_code="game997"
sec="MSICHS"
stop_level=5 --расстояние в шагах цены от индикатора, на котором срабатывает стоп.
slippage=10 --проскальзывание при исполнении ордера в шагах цены.
chart="auto_stop"

table_mask={}
table_mask.client_code=cl_code
table_mask.seccode=sec
is_run = true

function OnStop(s)
 is_run = false
 toLog(log,'OnStop. Script finished manually')
 message ("auto_stop finished manually", 2)
end

function main()
log=getScriptPath()..'\\'..log
toLog(log,"Start main")
class=getSecurityInfo("",sec).class_code
--Получаем размер лота
lotsize=getParamEx(class,sec,"lotsize").param_value
--Получаем цену последней сделки
last=getParamEx(class,sec,"last").param_value
step=getParamEx(class,sec,'SEC_PRICE_STEP').param_value
stop_level=stop_level*step
if string.find(FUT_OPT_CLASSES,class)~=nil then acc=account else acc=cl_code end
 while is_run do
--получаем значение индикатора. Одинаково для Moving Average и Parabolic SAR
n = getNumCandles (chart)
if n==0 or n==nil then
toLog(log,'Can`t get data fr om chart '..chart)
message('Не можем получить данные с графика '..chart,1)
is_run=false
break
end
t,n,s = getCandlesByIndex(chart,0,n-1,1)
indicator=t[0].close

sell_out_trigger=toPrice(sec, indicator-stop_level) --цена, при которой спускаем курок на продажу лонга
buy_out_trigger=toPrice(sec, indicator+stop_level) --цена, при которой спускаем курок на откуп шорта

--Получаем текущий баланс по торгуемому инструменту

balance=getPosition(sec,acc)
close_order_size=math.abs(balance/lotsize) --считаем размер ордера-закрывашки
toLog(log,balance)

--ЗАКРЫТИЕ ПОЗИЦИЙ

if balance>0 and last < sell_out_trigger then
toLog (log, 'Sell out signal. Balance='..balance..' Last='..last..' SellTrigerPrice='..sell_out_trigger)
comment="sell_out!" --комментарий: продаём!
sell_out=sell_out_trigger-slippage
_,reply=sendLimit(class,sec,"S",sell_out,close_order_size,account,cl_code,comment)
toLog(log, reply)
end

if balance<0 and last > buy_out_trigger then
toLog (log, 'Buy out signal. Balance='..balance..' Last='..last..' SellTrigerPrice='..buy_out_trigger)
comment="buy_out!" --комментарий: продаём!
buy_out=buy_out_trigger+slippage
_,reply=sendLim it(class,sec,"B",buy_out,close_order_size,account,cl_code,comment)
toLog(log, reply)
end
sleep(1000)
--killAllOrders(table_mask) --рекомендуется после срабатывания стопа принудительно почистить все заявки в стакане по этому инструменту чтобы вдруг не осталось лишних, в том числе "забытых" по неосторожности. Бывает, что оставшиеся в стакане заявки блокируют средства и не дают продать по стопу. killAllOrders даст гарантию что на следующем круге цикла мы точно выйдем из позиции.
 end
 toLog(log,"Main ended")
end
Трейлинг Стоп
 
Есть пример на луа?
Проблема с циклом
 
У меня при запуске робота с циклом сразу зависает терминал и нужно виходить,что делать?
ошибка транзакции
 
а как правильно?
ошибка транзакции
 
Вот обрезал нули но вибивает ошибку: неправильно указана цена,подсккажите почему?
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)
Как зделать один месседж:покупайте по цене(цена)?
 
Тейк Профит и Стоп Лос
 
Цитата
Валентин написал:
в данном случае спред относится к тейк профиту, как я понял.
да, он нужен
зачем?
Округление цены
 
у меня не получаеться можете кодом записать
Цитата
Андрей Мурга написал:
Цитата
Владимир   написал:
 http://www.lua.org/manual/5.1/manual.html  
п.2.5.1.
Извините я в школе нимецкий учил,переводчик не поог,я всьоровно не понял как округлить если не сложно можете показать на примере
Тейк Профит и Стоп Лос
 
Ну так я о томже,поясните зачем тогда в транзакцию вбивать спред?
Тейк Профит и Стоп Лос
 
Вот изминил,Вопрос возможно ли прокальзование,если робот торгует маркет ордирами  



   STOP_LOSS         = 10;                    
   TAKE_PROFIT       = 30;            
   SEC_PRICE_STEP = getParamEx(SPBFUT , SRH6 , "SEC_PRICE_STEP").param_value;
   priceS=tostring (getParamEx("SPBFUT", "SRH6", 'bid').param_value)  
   stopprice = tostring(Price + TAKE_PROFIT*SEC_PRICE_STEP);
   stopprice2 = tostring(Price - STOP_LOSS*SEC_PRICE_STEP);

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" - до окончания текущей торговой сессии, Дата в формате "ГГММДД")
     
["STOPPRICE2"]          = stopprice2, -- Цена Стоп-Лосса
["IS_ACTIVE_IN_TIME"]   = "NO",
     
     
}
    sendTransaction(Transaction);    
Тейк Профит и Стоп Лос
 
Подскажите пожалуйста  в даной транзакции нужно условия Спреда,если робот торгует Маркет Ордерами?
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);  

 
Не работает бесконечный цикл
 
как записать слип(минута)
Округление цены
 
Цитата
Владимир написал:
http://www.lua.org/manual/5.1/manual.html
п.2.5.1.
Извините я в школе нимецкий учил,переводчик не помог,я всьоровно не понял как округлить если не сложно можете показать на примере
Не работает бесконечный цикл
 
Вроде всьо пошло,только у меня комп виснет от цикла,Какой цикл вбить чтоб комп не вис?  
Округление цены
 
Как округлить цену к целому числу,у меня цену видает с нулями после точки.а такую цену тразакция не принимает
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)
Не работает бесконечный цикл
 
Цитата
Николай Камынин написал:
поставьте первой строкой
run=true-- или любое значение
Вот переделал но всеровно реакции 0

 run = true

while is_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(1000)
end
Не работает бесконечный цикл
 
Не работает бесконечный цикл,исправте пожалуйста,Ошибку не видает,просто ничего не происходит
  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
Как зделать переворот пози?
 
Ви не поняли,Смотрите
if aaa>bbb then buy end
if aaa<bbb then закрить бай и открить селл,Как ето записать кодом?
тоесть банальний реверс просто увиличить контракт не поможет робот потом запутается  
Как зделать переворот пози?
 
меня больше интерисует функция Клоус Поз как ее скриптом записать?  
Как зделать переворот пози?
 
Есто условие по которому входим в позицию,если есть обратное условие то как закрить действующую позу и открить новую?
Страницы: 1 2 След.
Наверх