Помогите разобраться с логом терминала. - страница 2

 

Наступал на такие же грабли

...если же цена устарела ...

Хотелось бы выяснить сколько это в секундах (или тиках)

потому как не раз замечал что есть цена (вижу на экране) эксперт посылает запрос

цена изменилась получил реквоту ордер не закрылся

стоит slippage = 5 пара GBPUSD (спред=3)

На экране цена изменялась во время закрытия ордера только на 1 пипс slippage не отработал.

 
Rosh:
kermit:

Открыл минутный график.

OHLC - 1.9894/1.9908/1.9892/1.9907 / спред 4 пипа.

V=25


Получается, что была такая цена.

Вы не поняли вопроса. Была ли такая цена в момент отсылки приказа на закрытие ордера? То, что такая цена была (могла быть) в течение последнего месяца - значения не имеет. Сервер отсекает все приказы с несуществующими ценами, будь они хоть трижды в пределах допустимого проскальзывания. Это сделано для защиты от "грязного" кода, когда неправильно написанные советники начинают забрасывать сервер приказами с некорректным ценами в приказах, будь то непреднамеренно от неумения правильно программировать, или это сделано специально в расчете случайгно поймать шпильку.


Да, такая цена была в момент закрытия ордера. Эксперт начал закрывать ордер на хае минутной свечи. Есть правда одно "но". Опен следующей свечи равен 1,9904 и происходиловсё на "быстром" рынке. Но опять возникает другое "но". Таже ситуация по баксочифу тоже вчера, но уже на обычном рынке в районе 18 часов. Первый ордер закрылся, а остальные нет. При этом цена в течение 4 минут не выходила из пятипипового коридора. Слипэйдже тоже 8 пунктов.

 

Прочёл. Частично понял.

Это утверждение на сегодня работает?

Котировка должна присутствовать среди последних 5 точных рыночных ценах и не иметь задержки более 5 секунд. 
Если это последняя котировка в потоке, то условие 5 секунд не работает. 
Например, ночью, когда котировки приходят раз в минуту и реже, можно нормально совершать сделки по последней котировке, хотя ее время устаревания более 5 сек.
 
kermit:

Прочёл. Частично понял.

Это утверждение на сегодня работает?

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

Проверка на корректность цен в приказах не может ослабеть, она может только усилиться. Ваш советник должен как минимум не нарушать этих условий. Иначе торговые приказы сразу отсекаются.
 
Rosh:
kermit:

Прочёл. Частично понял.

Это утверждение на сегодня работает?

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

Проверка на корректность цен в приказах не может ослабеть, она может только усилиться. Ваш советник должен как минимум не нарушать этих условий. Иначе торговые приказы сразу отсекаются.

Вы можете ответить - да или нет?
 
Нет - условия давным давно поменялись и не будут озвучиваться.
 

мда.... тупик

Люди добрые. Поделитесь опытом\наблюдениями, когда slippage из эксперта отрабатывает, а когда просто игнорируется.

Интересуют любые действия(открытие по рынку\закрытие по рынку)


З.Ы. Код эксперта моего достаточно простой и пересчет на кажом тике выполняется до получения очередного тика в терминал. По этому думаю что вариант когда эксперт пропускает несколько тиков из-за того что не закончен еще пересчет предыдущего просто отпадает.

RefreshRates();

Присутсвует при каждой операции обращения к серверу.

Как найти стабильность и быть уверенным, что ордер закроется без переодического получения реквот.

 

Можете дать образец кода, который корректно закрывает все позиции на счёте?

Как он по вашему должен выглядеть?

 
Неужели так сложно прочитать и понять справку? Вот простой скрипт, который делает тоже самое:

//+------------------------------------------------------------------+
//|                                                    CheckNull.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net/ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/ru/"
 
#property show_inputs
 
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int a=0;
   if (!a) Print("Обалдеть! a=",a);  
//----
   return(0);
  }
//+------------------------------------------------------------------+
Причина обращения: