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

 
В индикаторе выделяю прямоугольную область и бары в этой области тоже меняют цвета, как сделать чтобы они оставались такого же цвета в этой области как и на всем графике.
Файлы:
Screenshot_4.jpg  279 kb
 
Flash-3 #:
В индикаторе выделяю прямоугольную область и бары в этой области тоже меняют цвета, как сделать чтобы они оставались такого же цвета в этой области как и на всем графике.

Поставь график сверху


 

Здравствуйте. Помогите пожалуйста с проблемой в мт5.

Не грузится история котировок валютных пар дальше 2016 года. Брокер - Герчик.

Пробовал:

1 -закачать историю через тестор стратегий.

2 - через терминал инструментов. он тупо показывает историю только до 2016 года.

3 - скопировать историю с нормальной прогрузившейся пары сервера самого мт5. бестолку, он просто удаляет эти файлы после перезапуска программы и снова история только до 2016 года.

4 - тех поддержка брокера сказала. мол запускайте пары без буквы Z в конце, но у них все валютные пары заканчиваются на Z  - EURUSDz, AUDCADz

Я догадываюсь, что проблема именно в брокере и их сервере, но почему он даже скопированную историю удаляет? Может подскажет кто, как нормально историю прогрузить?

 
gyperion #:

Здравствуйте. Помогите пожалуйста с проблемой в мт5.

Не грузится история котировок валютных пар дальше 2016 года. Брокер - Герчик.

Пробовал:

1 -закачать историю через тестор стратегий.

2 - через терминал инструментов. он тупо показывает историю только до 2016 года.

3 - скопировать историю с нормальной прогрузившейся пары сервера самого мт5. бестолку, он просто удаляет эти файлы после перезапуска программы и снова история только до 2016 года.

4 - тех поддержка брокера сказала. мол запускайте пары без буквы Z в конце, но у них все валютные пары заканчиваются на Z  - EURUSDz, AUDCADz

Я догадываюсь, что проблема именно в брокере и их сервере, но почему он даже скопированную историю удаляет? Может подскажет кто, как нормально историю прогрузить?

Так может у них нет истории, так как они сами не очень старая кухня?

 
Aleksey Vyazmikin #:

Так может у них нет истории, так как они сами не очень старая кухня?

А что есть не кухни, чтобы из России работать? Это не важно на самом деле. Вопрос как историю загрузить, даже если  у них её нет?
 
gyperion #:
А что есть не кухни, чтобы из России работать? Это не важно на самом деле. Вопрос как историю загрузить, даже если  у них её нет?

А вы не могли-бы одолжить мне денег, даже если у вас их нет?

 
gyperion #:
А что есть не кухни, чтобы из России работать? Это не важно на самом деле. Вопрос как историю загрузить, даже если  у них её нет?

Через пользовательских символов делаете свою историю.

Importing High Quality Tick Data to MetaTrader 5
Importing High Quality Tick Data to MetaTrader 5
  • 2021.11.28
  • www.mql5.com
In order to vet a potential trading strategy, it is imperative to ensure that the results obtained f r om optimizations and strategy tests are a true reflection of the performance of your EA
 
Nauris Zukas #:

Через пользовательских символов делаете свою историю.

Хмм. Сработало частично, но главное сработало. Покопаюсь дальше. Спасибо за помощь, уважаемый, ато уже всё перепробовал.
[Удален]  

Привет всем, я хочу написать своего первого торгового робота (советника). Он отлично работает в бэктесте и результаты тестов тоже достойные. Но есть разные вещи, которые нужно учитывать: типы счетов, свойства инструментов, вмешательство в работу других советников и т.д.

Для этого у меня есть четыре переменные:

bool isHedging; bool isFIFO; ulong positionTicket; double positionVolume;

Первые две переменные задаются в методе init:

if ((bool)AccountInfoInteger(ACCOUNT_HEDGE_ALLOWED)) isHedging = true;
else isHedging = false;
if ((bool)AccountInfoInteger(ACCOUNT_FIFO_CLOSE)) isFIFO = true;
else isFIFO = false;

Если я хочу открыть позицию, я сначала проверяю, не вызовет ли это проблем с FIFO (т. е. если я хочу открыть длинную позицию, я проверяю, нет ли уже длинной позиции с таким же объемом или короткой позиции по соответствующему символу, поскольку в противном случае StopLoss и TakeProfit могут работать некорректно, как я слышал). И, наконец, я использую метод OrderSend и устанавливаю, был ли он успешным:

positionVolume = tradeResult.volume;
positionTicket = tradeResult.deal;

При исполненном StopLoss или TakeProfit я узнаю через метод OnTradeTransaction, была ли закрыта моя (внутренняя) позиция советника, проверяя, совпадает ли переменная positionTicket с transaction.position.

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

Если я хочу закрыть позицию на счете хеджирования, я закрываю позицию с помощью trade.PositionClose(positionTicket, slippage);

Если я хочу закрыть позицию на счете хеджирования FIFO, я закрываю самую старую позицию по соответствующему символу, которая соответствует направлению позиции (длинная/короткая) и объему, который должен быть моим собственным в силу моих условий входа для счетов FIFO, описанных выше.

Теперь я уверен, что упустил из виду что-то фундаментальное. Как мне убедиться, что StopLoss и TakeProfit на неттинговом счете также закрываются, когда я закрываю (внутреннюю) позицию советника, как описано выше? Есть ли более элегантные и эффективные способы сделать советник соответствующим FIFO? Если я открываю позицию в советнике только с помощью MarketOrder, не редактирую ее и затем хочу закрыть, всегда ли значение tradeResule.deal остается неизменным, чтобы я мог без проблем закрыть эту позицию с помощью trade.PositionClose(positionTicket, slippage), где positionTicket - это сохраненное значение tradeResult.deal?

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

 
Benjamin Fotteler #:

Теперь я уверен, что упустил из виду что-то фундаментальное. Как сделать так, чтобы StopLoss и TakeProfit на неттинговом счете также закрывались при закрытии (внутренней) позиции советника, как описано выше? Есть ли более элегантные и эффективные способы сделать советник FIFO-совместимым? Если я открываю позицию в советнике только с помощью MarketOrder, не редактирую ее и затем хочу закрыть, всегда ли значение tradeResule.deal остается неизменным, чтобы я мог закрыть эту позицию с помощью trade.PositionClose(positionTicket, slippage) без каких-либо проблем, при этом positionTicket будет сохраненным значением tradeResult.deal?

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

На неттинговом счете есть только одна позиция на символ. Если советник торгует только одним символом, это можно прочитать в PositionTotal() - или, что еще проще, PositionSelect() либо неверен (=none), либо, соответственно, также выбран для дальнейшей торговли.

Documentation on MQL5: Trade Functions / PositionSelect
Documentation on MQL5: Trade Functions / PositionSelect
  • www.mql5.com
PositionSelect - Trade Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5