| / | Форум |
|
EvgeniX
15.02.2006 21:59
Может кто помочь перегнать это в MT4 плиз
|
|
Бесплатная Groupware для групп разработчиков Установите систему групповой работы TeamWox и объедините усилия всех разработчиков. Это поможет вашей команде работать быстрее и организованнее. Благодаря TeamWox станет намного проще ставить задачи и контролировать их выполнение. |
|
mandor
16.02.2006 08:33
Например так:
Насчет "Exit" надо смотреть в контексте всей проги. |
|
EvgeniX
18.02.2006 06:39
спасибо огромное!
и еще один вопросик? стоитли выходить из еа (return(0)) после каждого OrderClose(...) если нужно закрыть неприер 4 ордера (3 Buy и 1 Sell ) или мт4 может закрыть их подрят и без ошибок? зарание блогодарен! |
|
mandor
18.02.2006 17:44
Теоретически можно, но ...
1. Перед выполнением любой торговой функции делаем проверку:
2. Из опыта следует, что надёжнее после запроса любой торговой фунции выйти до прихода нового тика (перед выходом выполнить проверку возвращаемого значения и напечатать код ошибки, если терминал версии 4.xx). Хотя выход после вызова любой торговой функции был строго небходим при использовании терминала 3.xx версии, не вижу препятствий для использования этого способа и при использовании терминала версии 4.xx. Надёжность в реале важнее красивого алгоритма. 3. Частенько в терминале на нескольких графиках висит по советнику. Будет лучше, если они будут выполнять свои операции минимально короткое время и не будут мешать друг другу. Поэтому такую "классную" фичу как Sleep(), а тем более в циклах, старательно игнорируем. |
|
SKif
18.02.2006 18:16
EvgeniX: Эксперт или скрипт не выпустит одновременно несколько торговых
приказов.стоитли выходить из еа (return(0)) после каждого OrderClose(...) если нужно закрыть неприер 4 ордера (3 Buy и 1 Sell ) или мт4 может закрыть их подрят и без ошибок? Более того, он не выпустит очередной приказ до тех пор, пока не получит ответ сервера по факту исполнения или неисполнения предыдущего приказа. Советник просто не передаст управление следующей командной строке (оператору), находящейся непосредственно за функцией, отправляющей торговый приказ, до ответа сервера. Это значит, что не будет являться некоррекным код, кот. поочерёдно посылает торговые приказы по нескольким ордерам в рамках одного запуска ф-ии Start(). Нужно только следить, чтобы перед отправкой приказа был проанализирован текущий курс, например, использовать RefreshRates(). Если курс изменился, то необходимо откорректировать значения параметров торговой функции. При хорошей связи ордера могут быть закрыты с периодичностью приблизительно 0,5 - 1 сек, что зачастую меньше, чем промежуток времени между тиками. |
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий