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

 
kemal.pulat #:

Я хочу взять значения open, close, high, low паритета EURUSD, чтобы написать ea на MQL5.
Конечно, ea не сработала. Когда я распечатал значения командой Alert и проверил их, я увидел, что они все одинаковые.

CopyOpen(Parity, PERIOD_H1, 0, 1, Buffer_OPEN);
CopyClose(Parity, PERIOD_H1, 0, 1, Buffer_CLOSE);
CopyHigh(Parity, PERIOD_H1, 0, 1, Buffer_HIGH);
CopyLow(Parity, PERIOD_H1, 0, 1, Buffer_LOW);

Alert(Buffer_OPEN[0], " ", Buffer_CLOSE[0], " ", Buffer_MA[0], " ", Buffer_HIGH[0], " ", Buffer_LOW[0]);

.
:
:
2023.03.02 19:00:00 Оповещение: 1.05943 1.05943 1.0620066666666659 1.05943 1.05943 1.05943
2023.03.02 20:00:00 Оповещение: 1.05799 1.05799 1.0614719999999993 1.05799 1.05799
2023.03.02 21:00:00 Оповещение: 1.0593 1.0593 1.0611919999999992 1.0593 1.0593
2023.03.02 22:00:00 Оповещение: 1.05903 1.05903 1.0608339999999992 1.05903 1.05903 1.05903
2023.03.02 23:00:00 Оповещение: 1.06005 1.06005 1.0606413333333324 1.06005 1.06005 1.06005 1.06005

Когда я изучаю его, я вижу, что значение OPEN правильное, а остальные неправильные.
Есть ли у кого-нибудь идея?

Я нашел ответ на форуме https://www.mql5.com/en/forum/129842
High[0] Low[0] Close[0] all return the open value of the bar... am I missing something here?
High[0] Low[0] Close[0] all return the open value of the bar... am I missing something here?
  • 2010.11.09
  • www.mql5.com
High[0] Low[0] Close[0] all return the open value of the bar... am I missing something here...
 
Привет друзья, помогите пожалуйста настроить оповещение на почту. Выдает ошибку не знаю почему.
 
Подскажите, как средствами mql5 получить в советнике значение комиссии в процентах? В свойствах символа есть значение, как пример у EURUSD 0.0016% за лот.
Файлы:
dsrocrpy.png  20 kb
 
Здравствуйте. Проблема в трелинг стопе для MOEX. Во время клиринга позиция закрывается и открывается по цене во время клиринга, соответственно трейлинг стоп рассчитывается от клиринговой цены что ломает всю логику, но на графике сохраняется отметка в виде стрелки (autotrade # .......) в которой присутствуют данные о первоначальной цене открытия. Вопрос: где в коде взять данные именно из этой метки?
[Удален]  
В своём массиве вести учёт цен открытия текущих позиций, и потом свериться.
 
Pavel Nikiforov #:
Здравствуйте. Проблема в трелинг стопе для MOEX. Во время клиринга позиция закрывается и открывается по цене во время клиринга, соответственно трейлинг стоп рассчитывается от клиринговой цены что ломает всю логику, но на графике сохраняется отметка в виде стрелки (autotrade # .......) в которой присутствуют данные о первоначальной цене открытия. Вопрос: где в коде взять данные именно из этой метки?

1. Цена есть в сделке (сделках, их по одному ордеру может быть несколько) открытия позиции в истории.

2. Я у себя сохраняю цену, опять же, с учётом всех сделок и их объёма, в файле состояния робота.

 
Aleksei Stepanenko #:
В своём массиве вести учёт цен открытия текущих позиций, и потом свериться.

Сперва я об этом подумал, но ведь данные уже сохраняются в метке и может есть способ к ней обратиться?

 

6779

1

[Удален]  
Это не надёжно. Метку можно случайно удалить или перетащить. Массив, и его загрузка из файла при начале работы советника лучше. Сложнее конечно, но не сильно
 
Pavel Nikiforov #:

Сперва я об этом подумал, но ведь данные уже сохраняются в метке и может есть способ к ней обратиться?

А если на графике торгуют несколько роботов, как узнать, где чья метка?

Взять ордер, найти в истории все сделки по этому ордеру.