Разделение условий.

Страницы: 1
RSS
Разделение условий.
 
Добрый день. Такой вопрос: Как разделить условия, вначале выполняется одно, другие игнорируются, а затем другое, а первое игнорируется. То есть первое учитывается только один раз От сделки не зависит.
 
Добрый день.

Не ясно, какую задачу вы решаете? Вариантов может быть много.
Например, хотите снять активную заявку по коду клиента.
Условие "если" и "и", то"

   if (client_code=="1") --в кавычках код клиента
   and (bit.band(flags, 0x1) ~= 0) --проверяем что заявка активна
   then transaction = {TRANS_ID="1", ACTION="KILL_ORDER", CLASSCODE=class_code, SECCODE=sec_code, ORDER_KEY=tostring(order_num)}
       res = sendTransaction(transaction) --снимаем заявку
 
Если в двух словах то пробую сделать безубыток. У меня есть образец кода с трейлинг-стопом, вот я и пробую что бы после первого стопа ставился безубыток, а далее работал трал. Сложность в том, что не понимаю как сделать чтобы после достижения безубытка выставлялся стоп по дельте (по разнице в цене между первым стопом и текущей ценой), а далее эта дельта была другой.
 
Не так написал, выставить безубыток я смогу (по дельте 1), но для трала нужна дельта2. Как сделать что бы после выставления безубытка дельта1 игнорировалась?
 
Добрый день.

Выложите свой код.
 
Скрытый текст
 
Добрый день.
Обработал Ваш код, иначе читать такой объем в таком виде невозможно. Укажите, пожалуйста, в каком именно месте/функции Вам нужно разделить условия, описанные выше
Скрытый текст
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Скрытый текст
 
Я выделил красным цветом где, а синим свои мысли по поводу что примерно можно сделать, не знаю на сколько верным путем иду) новичок в этом.
 
Добрый день.
Да, Вы совершенно верно предположили необходимость использования дополнительного флага (в Вашем случе traling). Только нужно переменную traling заранее определить как false. Вот небольшой шаблон

Код
traling = false

function main()

  if traling == false then

    --что-то делаем, что нужно сделать первоочередно
    traling = true

  end

  if traling == truet then
    --что-то делаем, только если выполнен первоочередный шаг
  end

end
можно еще использовать вот такую конструкцию:
Код
traling = false

function main()

  if traling == false then

    --что-то делаем, что нужно сделать первоочередно
    traling = true

  elseif traling == truet then

    --в эту ветку уже не зайдем если зашли в ветку traling == false

  end

end
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Опечатался... truet = true
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Вот здесь описан синтаксис оператора if в Lua.
Перед тем как задать вопрос, убедитесь, что решение Вашей задачи не описано в официальном мануале - 'Использование Lua в Рабочем месте QUIK.pdf' https://arqatech.com/upload/Public/quik_lua.zip
 
Цитата
Nikolay Pavlov написал:
Опечатался... truet = true
Кстати, как насчёт обновить движок форума для поддержки редактирования собственных сообщений?
 
Спасибо, попробую все собрать все в кучу.
Страницы: 1
Читают тему
Наверх