Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 646

 
Artyom Trishkin:

Для того, чтобы понять, что это новая вершина или донышко, нужно запомнить время прошлой найденной вершины/донышка, и сравнить его с тем, что нашли на данный момент.

Спасибо, с буфером понятно.

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

Как это сделать, как узнать время прошлой найденной вершины?

 
mila.com:

Спасибо, с буфером понятно.

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

Как это сделать, как узнать время прошлой найденной вершины?

1. Объявляете статическую переменную для хранения времени прошлого экстремума зигзага, инициализируете нулём.

2. Находите вершину, если её время не равно времени в статической переменной, то считаете что нашли нужный экстремум и запоминаете новое время в этой переменной.

3. GoTo(2);

 

Товарищи программисты!

Порекомендуйте способ, как можно выяснить что спред увеличился.

Задача такая: при переходе на новые сутки ДЦ расширяет спред, и иногда он бывает по некоторым парам невменяемым - превышает нормальный в 3-5 раз. Переход суток в разных ДЦ по-разному в плане времени, у кого-то в 23-59, а у кого-то в 20-59 и тд.

Есть пары, по которым спред практически не меняется, то есть отсечь в роботе "Работа по времени" не вариант, потому как если по паре спред не изменился, то нет необходимости запрещать торговлю.

Теперь главный вопрос: как узнать что спред по паре завышен и запретить роботу в это время открывать позиции. Мне видится вариант сохранения размера спреда в файл на каждом новом баре за последние 5-7 баров, потом всё это сложить и делить на количество, тем самым узнаю средний спред и умножить на 1.2 - 1.4 (запас), но как-то неинтересно сохранять и плодить файлы, и не уверен что это правильное решение расчёта среднего размера спреда. Если вручную вводить максимально допустимый спред в настройках, то это очень банально и неинтересно в плане эксплуатации бота.

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

Спасибо! 

[Удален]  
Vitaly Muzichenko:

Товарищи программисты!

Порекомендуйте способ, как можно выяснить что спред увеличился.

Задача такая: при переходе на новые сутки ДЦ расширяет спред, и иногда он бывает по некоторым парам невменяемым - превышает нормальный в 3-5 раз. Переход суток в разных ДЦ по-разному в плане времени, у кого-то в 23-59, а у кого-то в 20-59 и тд.

Есть пары, по которым спред практически не меняется, то есть отсечь в роботе "Работа по времени" не вариант, потому как если по паре спред не изменился, то нет необходимости запрещать торговлю.

Теперь главный вопрос: как узнать что спред по паре завышен и запретить роботу в это время открывать позиции. Мне видится вариант сохранения размера спреда в файл на каждом новом баре за последние 5-7 баров, потом всё это сложить и делить на количество, тем самым узнаю средний спред и умножить на 1.2 - 1.4 (запас), но как-то неинтересно сохранять и плодить файлы. Если вручную вводить максимально допустимый спред в настройках, то это очень банально и неинтересно в плане эксплуатации бота.

Подскажите оптимальное решение вопроса. Спасибо!

Может и бонально, но ограничение ввожу вручную. А если на новогодние праздники за последние N свечей будет спред в 3 раза больше чем обычно, а ночью ещё в 3 раза больше ? то система анализа воспримет как норм спред х3. Думаю если человек торгует на реале, то ему не трудно вручную оценить средний рабочий спред и установить порог. Хотя решение вашего вопроса было бы интересно и мне)
 
Что же это за ТС-логика, так зависящая от спреда?!
 
fxsaber:
Что же это за ТС-логика, так зависящая от спреда?!

Ладно, пусть будет так. Вот к примеру тут расширение спреда даже не в три раза, а больше, и если входить в рынок со спредом в 20пп, в то время как нормальный 4-6пп, то это не нормально, и нужно эти моменты отсечь.

 
Vitaly Muzichenko:

Ладно, пусть будет так. Вот к примеру тут расширение спреда даже не в три раза, а больше, и если входить в рынок со спредом в 20пп, в то время как нормальный 4-6пп, то это не нормально, и нужно эти моменты отсечь.

Ну так ориентируйтесь на bid, если собираетесь делать SELL. Какая разница, какой спред? Ладно, больше не встреваю.
[Удален]  
Vitaly Muzichenko:

Ладно, пусть будет так. Вот к примеру тут расширение спреда даже не в три раза, а больше, и если входить в рынок со спредом в 20пп, в то время как нормальный 4-6пп, то это не нормально, и нужно эти моменты отсечь.

Глобальные не помогут?
 
pako:
Глобальные не помогут?
Думал - стрёмно, как-то не всегда даже GlobalVariablesFlush помогает при экстренном выключении.
[Удален]  
Vitaly Muzichenko:
Думал - стрёмно, как-то не всегда даже GlobalVariablesFlush помогает при экстренном выключении.

Вам всеравно прйдется проверять каждый тик

потому что спред также расширяется перед новостями 

ну или по таймеру 

но по таймеру можно пропустить начало расширения