[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 164

 
Кто разбирается в MQL4 подскажите пожалуйста, почему когда я прогоняю советника в тестере с одними и теми же настройками и на одном и том же тайм фрейме, у меня получаются разные результаты, существенно в просадке и в прибыли.
 
а тут телепатов нет пока - они в отпуске... ошибка в коде однозначно... как говаривал ж.
 
Tesla555:
Кто разбирается в MQL4 подскажите пожалуйста, почему когда я прогоняю советника в тестере с одними и теми же настройками и на одном и том же тайм фрейме, у меня получаются разные результаты, существенно в просадке и в прибыли.

отключите терминал от интернета.

все дело в спреде / стопуровне

 
Alexandr24:
Уважаемые форумчане, как можно получить время нарисованной стрелки. К примеру по условию рисуется стрелка if (Ckose[0]>High[1]-5*Point && Ckose[0]<High[1]+5*Point ) но как только стрелка нарисовалась начинается постоянная смена времени, а необходимо чтобы было известно только время первого входа в эту зону, через double ar=ObjectGet("ar",OBJPROP_TIME1); время постоянно меняется видимо потому что Close[0] находится в этой зоне, но непонятно стрелка статична а время с нее списывается при каждом тике в зоне стрелки, как быть, как узнать только время создания стрелки?
Робяты, ктонить поможет?
 

Время создания объекта нету.

Вам нужно логику менять. или самому запоминать в какую то переменную время выполнения условия

 
Поскажите (или киньте ссылку) пжлст, что или как дописать в советник чтобы после открытия позиции, блокировать на N секунд открытие любой другой позиции по любой вал. паре. Заранее спс.
 
paladin80:
Поскажите (или киньте ссылку) пжлст, что или как дописать в советник чтобы после открытия позиции, блокировать на N секунд открытие любой другой позиции по любой вал. паре. Заранее спс.
void Sleep( int milliseconds)
Функция задерживает выполнение текущего эксперта или скрипта на определенный интервал.
Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить.
В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды.
Параметры:
milliseconds - Интервал задержки в миллисекундах.
Пример:
//---- wait for 10 seconds
   Sleep(10000);
 

r772ra

Дело в другом. Если по EUR/USD советник открыл позицию, и в то же самое время напр. по GBP/USD тоже есть сигнал на открытие позиции, то надо само выслание ордера на открытие позиции на сервер, задержать на N секунд. Sleep() усыпляет советник по текущей паре. Есть вроде вещь типа записи где-то флага, с которого все советники по всем валютам считывают разрешение совершения сделки.

 
Есть такая функция: TimeCurrent().
При открытии позиции надо запомнить значение этой функции, а при возникновении желания открыть новую позицию проверять разность текущего и запомненного значений этой функции.
 

Есть функция: OrderOpenTime().
Можно сравнивать её значение для последнего открытого ордера с TimeCurrent() перед открытием новой позиции.

Причина обращения: