Скачать MetaTrader 5

Надёжные реализации экспертов

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Victor Demihov
618
Victor Demihov  

 Я вот думаю по поводу того, что можно писать проще, но это, как я понимаю, не всегда будует надёжно отрабатываться в реале. Хочу обсудить данный момент. Так как написать могу всё что нужно, но не хочется избыточности кода. Потому прикидываю в плане оптимизации сразу. А думаю я о том, что торговые операции совершаются есс-но на новом баре, т.е. не то чтоб на новом, но не на каждом тике, а периодически, через N-ое количество секунд (минут). Но это касается лишь совершения сделок.

 А есть ещё и другие вещи. Например,операции удаления ордеров (если они не исполнились), траалы и тд, Их нужно, по ходу, отрабатывать на каждом тике? Я думаю, что иначе никак. Например, если ордер не удалится с первого раза, и ждать ещё какое-то время, не всегда будет толк, если торговать на не высоких ТФ. Получается, нужно это всё разруливать либо на каждом тике, либо использовать глобальные флаги типа ТРЕНД вверх или вниз. Если флаг активен, то проверяется или что-то делается, если не активен, то не делается.

Как кто выстраивает подобные конструкции? Хочу написать более гибкий код.. 

Алексей Тарабанов
7327
Алексей Тарабанов  
Практически, с точностью до наоборот. Попробуйте потралить позицию на каждом тике,- получите незабываемые впечатления. 
Victor Demihov
618
Victor Demihov  
tara:
Практически, с точностью до наоборот. Попробуйте потралить позицию на каждом тике,- получите незабываемые впечатления. 
Ну а как тогда?
Алексей Тарабанов
7327
Алексей Тарабанов  
shanty:
Ну а как тогда?
Да, как пишется. 
Victor Demihov
618
Victor Demihov  
tara:
Да, как пишется. 
В том то и дело, что пока лишь думается..
Алексей Тарабанов
7327
Алексей Тарабанов  
shanty:
В том то и дело, что пока лишь думается..
Дык, я тоже зело ленив. 
atztek
279
atztek  
shanty:
Ну а как тогда?
Если хотите получить конкретные ответы то и задавайте конкретные вопросы, по пунктам.
Victor Demihov
618
Victor Demihov  
tara:
Дык, я тоже зело ленив. 

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

Я думаю, что, например, удалять ордера можно так:

1. На каждом тике ищем свои ордера.

2. Если есть просроченные пытаемся из снести. 

3. Если не вышло, значит ставим некий булевский флаг в положение мол не вышло удалить ордер т.е. не закончена работа данного метода.

4. На следующем тике проверяем положение флага, и, если  он в положении не удалось снести ордер, то пытаемся снова.

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

Логично? 

Алексей Тарабанов
7327
Алексей Тарабанов  
Виктор, мне совсем не интересно, как удалять ордер.
atztek
279
atztek  
shanty:
Логично? 
Поищите здесь, там очень много профессионально написанных готовых функций, в т.ч. и для удаления ордеров.
Dina Paches
7921
Dina Paches  
shanty:

В дополнение к посту выше, скажу, что:

  1. Ещё коды Игоря Кима, из тех, что он выложил в свободный доступ, здесь на сайте можно посмотреть, к примеру, в этой теме: https://www.mql5.com/ru/forum/131859
  2. Очень хорошим ориентиром направлений действий по вашему вопросу является учебник: https://book.mql4.com/ru/trading/index , Документация + поиск по сайту.

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

P./S.: Это вам как трудоголик трудоголику говорю. Поскольку если вы действительно им являетесь или приходиться быть, как вы сказали выше, то коллеги, можно сказать.

12345
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий