Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1112

 
paukas:
 OrdersTotal()

Может я не понимаю, но просто я думал что OrdersTotal()==0 это наоборот конечная цель моего цикла.

То что я хочу, можно представить еще вот так:

Условие;

while(OrdersTotal()==0)

{

Запрет на торговлю;

 
Mislaid:

Нет, достаточно 100 чартов, но, нужно правильно написать индикатор. 

Ну да. Больше 100 чартов нельзя открыть в Метатрейдере.

А как организовать своевременную подкачку истории по всем символам и таймфреймам в индикаторе?
Вызов ArrayCopySeries будет делать это?

На старте индикатора вызов ArrayCopySeries не подкачивает историю по новым инструментам.
Может не идет подкачка, потому-что рынок в выходные закрыт?
 

Добрый день! Нужна помощь! При работе эксперта ордер зарывается по стопу, и сразу же на новом тике идет открытие на том же баре в том же направлении нового ордере и, как следствие, снова срабатывает стоп и так может продолжаться несколько раз. Цель следующая, чтобы после закрытия по стопу новый ордер открывался только после следующего пересечения короткой МА с длинной МА. Если возможно предложить сразу код в mql4. За ранее благодарю!

 
Sokolmih:

Добрый день! Нужна помощь! При работе эксперта ордер зарывается по стопу, и сразу же на новом тике идет открытие на том же баре в том же направлении нового ордере и, как следствие, снова срабатывает стоп и так может продолжаться несколько раз. Цель следующая, чтобы после закрытия по стопу новый ордер открывался только после следующего пересечения короткой МА с длинной МА. Если возможно предложить сразу код в mql4. За ранее благодарю! 

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

Код с нуля писать не буду, это к фрилансерам.

 
RickD:
Ну да. Больше 100 чартов нельзя открыть в Метатрейдере.

А как организовать своевременную подкачку истории по всем символам и таймфреймам в индикаторе?
Вызов ArrayCopySeries будет делать это?

На старте индикатора вызов ArrayCopySeries не подкачивает историю по новым инструментам.
Может не идет подкачка, потому-что рынок в выходные закрыт?

Для выходных нужен скрипт.

Я работаю по будням. Поэтому пользуюсь индикатором. Даю ему список инструментов, и он запрашивает котировки то тому таймфрейму, на чарте которого он висит. С обработкой ошибок не заморачиваюсь. Через десяток минут все устаканивается.

Да, совершенно забыл. Если нужно сохранять историю, то чарт по инструменту обязательно должен быть открыт. 

 
evillive:

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

Код с нуля писать не буду, это к фрилансерам.

Спасибо

Весь код не прошу конечно, но просьба направить/подсказать. Вот как определить следующее пересечение, можете помочь?

 
Sokolmih:

Спасибо

Весь код не прошу конечно, но просьба направить/подсказать. Вот как определить следующее пересечение, можете помочь?

Да точно так же, как и предыдущие, советник же есть у вас, поищите в коде. 
 
evillive:
Да точно так же, как и предыдущие, советник же есть у вас, поищите в коде. 
Я наверное не корректно задал вопрос, смотрите, я в истории определил, что последний ордер закрылся по стоп и теперь, по вашему совету, я должен запомнить значение короткой и длинной, далее при следующих тиках я должен сравнивать их текущими значениями и в случае, если одна другой становится  меньше или больше, то тогда открываю ордер. Я правильно понял. 
 
Sokolmih:
Я наверное не корректно задал вопрос, смотрите, я в истории определил, что последний ордер закрылся по стоп и теперь, по вашему совету, я должен запомнить значение короткой и длинной, далее при следующих тиках я должен сравнивать их текущими значениями и в случае, если одна другой становится  меньше или больше, то тогда открываю ордер. Я правильно понял. 

Запомнить можно время открытия бара, на котором зафиксировано пересечение двух МА. Советник запомнил время пересечения, открыл ордер. Далее следует мониторинг наличия рыночного ордера, насколько я понимаю, в рынке только один ордер.

После того, как ордер закрылся, советник сравнивает время закрытия ордера и время пересечения. Если OrderCloseTime>CrossTime - запрет торговли и мониторинг нового пересечения. Если в этот период найдено новое пересечение - запомнить его время. При этом автоматически становится OrderCloseTime<CrossTime  и открывается новый ордер.

 
evillive:

Запомнить можно время открытия бара, на котором зафиксировано пересечение двух МА. Советник запомнил время пересечения, открыл ордер. Далее следует мониторинг наличия рыночного ордера, насколько я понимаю, в рынке только один ордер.

После того, как ордер закрылся, советник сравнивает время закрытия ордера и время пересечения. Если OrderCloseTime>CrossTime - запрет торговли и мониторинг нового пересечения. Если в этот период найдено новое пересечение - запомнить его время. При этом автоматически становится OrderCloseTime<CrossTime  и открывается новый ордер.

Условия понял, сейчас разбираюсь как определить время открытия бара, на котором зафиксировано пересечение двух МА, примеры нашел, посмотрю, что получится. Спасибо за совет.
Причина обращения: