Ошибки, баги, вопросы - страница 149

 
Vladix:

Поставить задержку - да, принимаю, сколько строк кода уйдет на это? А если речь о мультивалютнике, это нужно по каждому учитывать задержку, не так ли?

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

 

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

if(типдействия==TRADE_ACTION_DEAL || типдействия==TRADE_ACTION_PENDING)
    ВремяОкончанияЗапрета[i3]=TimeCurrent()+СекундыЗадержкиПослеЗапроса;
 
Vladix:

Поставить задержку - да, принимаю, сколько строк кода уйдет на это? А если речь о мультивалютнике, это нужно по каждому учитывать задержку, не так ли?

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


Задержки не наш метод))

1. Перед торговой операцией запоминаем в переменную(статик иль глобальную) количество позиций(или ордеров)

2. В случае не исполнения - переменная=-1;

В случае исполнения ждём-с, ни чего не делаем, на каждом тике проверяем, пока количество позиций(или ордеров) будет не равно переменной.

3. як стало не равно - переменная=-1;

Документация по MQL5: Торговые функции / PositionsTotal
Документация по MQL5: Торговые функции / PositionsTotal
  • www.mql5.com
Торговые функции / PositionsTotal - Документация по MQL5
 
Swan:

Задержки не наш метод))

1. Перед торговой операцией запоминаем в переменную(статик иль глобальную) количество позиций(или ордеров)

Открытых что ли? Позиция то она одна на каждом инструменте.... это что, ни доливать, ни частично закрывать нельзя... количество одно и то же будет. А перещитывать количество ордеров в истории это вобще не приемлемо... мало ли откуда они там могут взяться
 
Swan:

Задержки не наш метод))

1. Перед торговой операцией запоминаем в переменную(статик иль глобальную) количество позиций(или ордеров)

2. В случае не исполнения - переменная=-1;

В случае исполнения ждём-с, ни чего не делаем, на каждом тике проверяем, пока количество позиций(или ордеров) будет не равно переменной.

3. як стало не равно - переменная=-1;

Не метод - только для пипсовки, а для среднесрочной торговли - нормальный метод. Иначе рискуем нарваться на


10024

TRADE_RETCODE_TOO_MANY_REQUESTS

Слишком частые запросы

с возможным запретом на торговлю эксперта.

 
Dmitriy2:
Открытых что ли? Позиция то она одна на каждом инструменте.... это что, ни доливать, ни частично закрывать нельзя... количество одно и то же будет. А перещитывать количество ордеров в истории это вобще не приемлемо... мало ли откуда они там могут взяться

угу. я ф курсе) в переменную пишем, то что в результате OrderSend() должно измениться.

При полном закрытии/(иль  открытии новой) таки изменится общее количество поз(хотя да, достаточно, и вроде надёжней, и есть/нет поза по символу запомнить). Мона и обьём запоминать, будет и при доливке/урезке работать.

при выставлении/удалении отложенника - количество ордеров(можно и по символу посчитать).


Вобщем: чуть-чуть фантазии и добавление всего одной переменной, на тип торговой операции, сделают Ваш код более надёжным, простым и элегантным :)

 
Valmars:

Не метод - только для пипсовки, а для среднесрочной торговли - нормальный метод. Иначе рискуем нарваться на


10024

TRADE_RETCODE_TOO_MANY_REQUESTS

Слишком частые запросы

с возможным запретом на торговлю эксперта.


это о другом немного, в 4ке было так:

ERR_TOO_MANY_REQUESTS 141 Слишком много запросов. Необходимо уменьшить частоту запросов, изменить логику программы.

чтоб этой ошибки добиться надо очень постараться, ну или счёт в хитром ДЦ иметь :)

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

 
Swan:

это о другом немного, в 4ке было так:

чтоб этой ошибки добиться надо очень постараться, ну или счёт в хитром ДЦ иметь :)

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


Ну, не знаю...

Вот, даже в руководстве для терминала написано:

  • По одной позиции Трейлинг Стоп не может срабатывать чаще, чем один раз в 10 секунд. Т.е. сам терминал устанавливает такую задержку. А ведь трейлинг-стоп обрабатывается на сервере автоматом.
 
Valmars:

Ну, не знаю...

Вот, даже в руководстве для терминала написано:

  • По одной позиции Трейлинг Стоп не может срабатывать чаще, чем один раз в 10 секунд. Т.е. сам терминал устанавливает такую задержку. А ведь трейлинг-стоп обрабатывается на сервере автоматом.
На пятизнаке каждый тик стоплось двигать действительно не стоит. Но это не значит, что если трейлинг каждые 10с. срабатывает - другие торговые операции запрещены.


О другом я таки толкую :)

Vladix:

Вообще сама проблема вот в чем:

приходит тик, индикатор показывает, что нужно закрываться, делаю закрытие

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

здесь жеж надо просто определить, что инфо по позициям обновилось, без использования пятой точки желательно)

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 

Разработчикам.

В справке по MQL, на вкладке "Указатель" нет ENUM_CHART_VOLUME_MODE. Добавьте плиз...

 
Swan:

Вобщем: чуть-чуть фантазии и добавление всего одной переменной, на тип торговой операции, сделают Ваш код более надёжным, простым и элегантным :)

 

Ну так нафантазируйте конкретно код что человеку нужен, что бы и в 10строчек и надежный был, как у меня, и что бы ему понравился :)

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

 

Swan:

Задержки не наш метод))

В случае исполнения ждём-с,... ...3. як стало не равно...

А ждемс сколько? Это что не считается задержкой? А если никогда не будет "не равно"? А мы ждем у моря погоды... Торговый запрос запросто может вернуть труе, а реально не исполниться...

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