Антон (Все сообщения пользователя)

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

Страницы: 1
Снятие заявки и повтор ее при помощи OnOrder
 
Цену я указываю, но на какой тип заявки нужно изменить, что бы даже если в данный момент нету предложения, что бы заявка осталась висеть и не снималась? На лимитированную L ?
Снятие заявки и повтор ее при помощи OnOrder
 
Устроит ответ на любой из вопросов
1) Какие указать параметры, что бы заявка не снималась сама. В квике не могу нигде найти причину автоматического снятия заявки.
2) Как сделать дубль снятой заявки, с теми же параметрами.(Покупка\продажа, цена, количество)
Снятие заявки и повтор ее при помощи OnOrder
 
Здравствуйте.

Может кто сталкивался, если ставится заявка на продажу\покупку при очень активном движении, то заявка сразу же снимается.

Вот так ставлю заявки:
trans_id_FUT = math.random(1,9999);

  local Transaction={
     ["TRANS_ID"]   = tostring(trans_id_FUT),
     ["ACTION"]     = "NEW_ORDER",
     ["CLASSCODE"]  = CLASS_CODE_FUT,
     ["SECCODE"]    = SEC_CODE_FUT_FOR_OPEN,
     ["OPERATION"]  = orderType,
     ["TYPE"]       = "M",
     ["QUANTITY"]   = tostring(math.floor(math.abs(quantity))),
     ["ACCOUNT"]    = TRADE_ACC,
     ["PRICE"]      = price,
     ["COMMENT"]    = "Sdelka фьючерсов скриптом"
  }
 
  local Result = sendTransaction(Transaction);

Потом пытаюсь отловить результат, если заявка снята  в OnOrder:
function OnOrder(order)
if order.trans_id == trans_id_FUT then

if CheckBit(order.flags, 0) == false and CheckBit(order.flags, 1) == true then
--- И вот не могу придумать, как правильно выставлять данную заявку повторно?
end;
end;
end;

И вот не могу придумать, как правильно выставлять данную заявку повторно?  Может у кого есть пример, как правильно продублировать заявку
Обнуляется по утрам
 
Спасибо за ответу. Написал свой пост, увидел про окончания поддержки, переписал на Lua с сохранением при остановке параметров в файл. Пока все хорошо, спасибо!
Обнуляется по утрам
 
Написал небольшой скрипт, который контролирует стоп-лос моей позиции. Почему то утром прихожу к терминалу и мой скрипт все время обнулен, как будто ночью-утром сам quik нажимает кнопку "Начать расчет заново".
Как можно решить данную проблему и с чем может быть связано?
--------------
Код
PORTFOLIO_EX RTS_LAST15;
DESCRIPTION RTS_LAST15;
CLIENTS_LIST  ALL_CLIENTS;
FIRMS_LIST FIRM_ID;
USE_CASE_SENSITIVE_CONSTANTS;
INCLUDE info\function.qpl;
PROGRAM


error=0
path="\"
client=READ_LINE (path&"ClientBox.txt", GET_FILE_LEN(path&"ClientBox.txt"), error)
depo=READ_LINE (path&"DepoBox.txt", GET_FILE_LEN(path&"DepoBox.txt"), error)
code=READ_LINE (path&"SecCode.txt", GET_FILE_LEN(path&"SecCode.txt"), error)  
quant=READ_LINE (path&"lotSize.txt", GET_FILE_LEN(path&"lotSize.txt"), error) +0

new_global("losLevel", 0)





servertime=GET_INFO_PARAM ("SERVERTIME")
class=get_class(code)
market=get_market(class)

SecInfo =  GET_SECURITY_INFO(class, code)
Lot = GET_VALUE (SecInfo, "LOT_SIZE")
id_base=code


CBPLPLANNED=get_CBPLPLANNED(market,client)

TOTAL_NET=get_total_net(market,client,code)

    if market&""=="micex"

    TOTAL_NET=TOTAL_NET/Lot
end if


line=0
string=create_map()
delete_all_items()
last= GET_PARAM (class, code , "LAST")
bid = GET_PARAM (class, code , "BID")
offer = GET_PARAM (class, code , "OFFER")


SEC_PRICE_STEP=get_value(get_param_ex(class, code, "SEC_PRICE_STEP"),"PARAM_VALUE")+0

slip = SEC_PRICE_STEP * 2


if total_net + 0 == 0
    ' ############################## REMOVE ON PRODUCTION
losLevel = 0
end if


if(total_net + 0 < 0 and last + 0 > 0)
if(last  > losLevel and losLevel != 0)
message("Покупка лося!"&(offer+slip),1)
operation(client,depo,"b",offer+slip,total_net * -1,code,class,market)



end if
end if

if(total_net + 0 > 0 and last + 0 > 0)
if(last  < losLevel and losLevel != 0)
message("Продажа лося!"&(bid-slip),1)
operation(client,depo,"s",bid-slip,total_net,code,class,market)



end if
end if



 
END_PROGRAM




END_PORTFOLIO_EX
Страницы: 1
Наверх