Обсуждение статьи "Какие проверки должен пройти торговый робот перед публикацией в Маркете" - страница 5

 
Andrey F. Zelinsky:

Вот-вот. Согласно "методичке" Роша -- нулевой стоплевел означает нулевой и никак его отрабатывать не надо. Но как быть с вопросами и сомнениями на форуме на этот счёт. Надо прояснить и освятить в "мотодичке" ситуацию, когда стоплевел равен нулю.

Надо.

Обычно используют двойной спред. Но то "обычно". А бывает и не "обычно".

 
Andrey F. Zelinsky:

Артём, что размышлять "обычно" и "не обычно". Мы же говорим о требованиях маркета, которые, так понимаю, ориентированы на реальную правильную отработку нулевого стоплевел.

Т.е. надо в "методичке" сделать комментарий по нулевому стоплевел и снять все вопросы на этот счёт. А то получается, что вопросы на форуме возникают, тот же Владон уже мозоли натёр, нажимая на клавиши по этому вопросу -- а официальная сторона безмолствует.

Я ж и говорю - надо ;)
 
Oleksii Chepurnyi:

Как-то не понятно по поводу знака...

Написал вот такое

Нужно примерно так

   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      if(!pst.SelectByIndex(i)) ShowError;
      if(pst.Symbol()==CheckSymb)
        {
         if(oper==1 && pst.PositionType()==POSITION_TYPE_BUY)  sum_volume += pst.Volume();
         if(oper==2 && pst.PositionType()==POSITION_TYPE_SELL) sum_volume -= pst.Volume();
        }
     }
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(!ord.SelectByIndex(i)) ShowError;
      if(ord.Symbol()==CheckSymb)
        {
         if(oper==1 && (ord.OrderType()==ORDER_TYPE_BUY  || ord.OrderType()==ORDER_TYPE_BUY_LIMIT  || ord.OrderType()==ORDER_TYPE_BUY_STOP  || ord.OrderType()==ORDER_TYPE_BUY_STOP_LIMIT))  sum_volume += ord.VolumeCurrent();
         if(oper==2 && (ord.OrderType()==ORDER_TYPE_SELL || ord.OrderType()==ORDER_TYPE_SELL_LIMIT || ord.OrderType()==ORDER_TYPE_SELL_STOP || ord.OrderType()==ORDER_TYPE_SELL_STOP_LIMIT)) sum_volume -= ord.VolumeCurrent();
        }
     }
и потом анализировать не только значение, но и знак суммы.  Посмотрите сами дальше
 
Andrey F. Zelinsky:

Вот-вот. Согласно "методичке" Роша -- нулевой стоплевел означает нулевой и никак его отрабатывать не надо. Но как быть с вопросами и сомнениями на форуме на этот счёт. Надо прояснить и освятить в "мотодичке" ситуацию, когда стоплевел равен нулю.

Ну так напишите - в чем проблема? Поговорить опять

Уже ответили же - нулевой стоплевел не всегда означает отсутствие такого ограничения.

 
Rashid Umarov:
и потом анализировать не только значение, но и знак суммы.  Посмотрите сами дальше

А зачем? Ведь на выходе будет сумма позиций и ордеров только в одну сторону.

 
Oleksii Chepurnyi:

А зачем? Ведь на выходе будет сумма позиций и ордеров только в одну сторону.

Напомню ваш вопрос из  

На сколько я понимаю, в вычислении нужно учитывать объем всех позиций и ордеров только в том направлении, в которое собираемся открыть сделку или выставить ордер.

Но тут Ограничение на количество лотов по одному символу направление вообще никак не учитывается...

Или я что-то не так понял?


Что не так?
 
Rashid Umarov:

 

Что не так?

Знак зачем нам? В моем примере суммируются объемы только одного направления...

 

OK

 

Ребята, а как быть в подобной ситуации

Робот для рынка ФОРТС

Торговля от плотностей в стакане, под определенную плотность ставиться лимитка и далее сопровождение, но в тестере стакан не работает, как в такой ситуации проити проверку на публикацию, я попытался, ошибки поисправлял, но он не может пройти тестирование + пытается протестится на форекс рынке, под который робот вообще не заточен т.к работает по ласт ценам стакана ,все расчеты и событийная модель завязана на события в стакане.

 
Объясните ситуацию модераторам Маркета в комментариях.