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

 

Здравия всем.

Есть свечной индикатор, тиковый, ни к какому ТФ не привязан. Свеча в индикаторе может появиться в любой момент.

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

Я пробовал добавить в индикатор дополнительный буфер

#property indicator_buffers 5 // дополнительный буфер
#property indicator_plots   1
SetIndexBuffer(4, is_new,           INDICATOR_DATA);

в который при появлении новой свечи пишу 1.

Беда в том, что в окне Обзора данных этот буфер не появился, а значит и считать его значение из советника нельзя.

Как быть?

 
Сергей Таболин:

Здравия всем.

Есть свечной индикатор, тиковый, ни к какому ТФ не привязан. Свеча в индикаторе может появиться в любой момент.

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

Я пробовал добавить в индикатор дополнительный буфер

в который при появлении новой свечи пишу 1.

Беда в том, что в окне Обзора данных этот буфер не появился, а значит и считать его значение из советника нельзя.

Как быть?

Добавить построение

#property indicator_buffers 5 // дополнительный буфер
#property indicator_plots   2
 
Alexey Viktorov:

Добавить построение

Спасибо.

 
Привет всем! Друзья,возникли проблемы с подключением к серверу и есть необходимость протестить индюк.Но не могу обновить данные. Кто может,скиньте пожалуйста историю М1 RTS-12.20 за последние 2-е недели или больше.Заранее спасибо!
 
Поделитесь, пожалуйста, функцией для получения в массив всех путей (с подкаталогами) к конкретным файлам в указанной директории!
 

Здравствуйте. Советник выставляет отложенные ордера по уровням. В условиях присутствует цены аск и бид, соответственно, для ордеров на покупку и продажу. Если пишу :

ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
bid = SymbolInfoDouble(Symbol(), SYMBOL_BID);

в тестере выставляются отложенные ордера, как на покупку, так и на продажу. Если пишу:

ask = m_symbol.Ask();
bid = m_symbol.Bid();

выставляются ордера только на покупку. Ордера на продажу не выставляются, записи в журнале, на этот счет, отсутствуют. Меня вполне устраивает и первый вариант, но все же интересно, в чем причина. 

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Youri Lazurenko:

Здравствуйте. Советник выставляет отложенные ордера по уровням. В условиях присутствует цены аск и бид, соответственно, для ордеров на покупку и продажу. Если пишу :

в тестере выставляются отложенные ордера, как на покупку, так и на продажу. Если пишу:

выставляются ордера только на покупку. Ордера на продажу не выставляются, записи в журнале, на этот счет, отсутствуют. Меня вполне устраивает и первый вариант, но все же интересно, в чем причина. 

для начала проверить на 0.0

m_symbol.Bid();

смотреть остальной код на вызов присвоение цены

 
Youri Lazurenko:

Здравствуйте. Советник выставляет отложенные ордера по уровням. В условиях присутствует цены аск и бид, соответственно, для ордеров на покупку и продажу. Если пишу :

в тестере выставляются отложенные ордера, как на покупку, так и на продажу. Если пишу:

выставляются ордера только на покупку. Ордера на продажу не выставляются, записи в журнале, на этот счет, отсутствуют. Меня вполне устраивает и первый вариант, но все же интересно, в чем причина. 

Перед обращением к ценам через объект класса CSymbolInfo, сначала нужно обновить цены 

CSymbolInfo:RefreshRates

Обновляет котировки по символу

Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
  • www.mql5.com
CSymbolInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Перед обращением к ценам через объект класса CSymbolInfo, сначала нужно обновить цены 

CSymbolInfo:RefreshRates

Обновляет котировки по символу

Спасибо за ответ. Как по мне, гораздо проще использовать первый вариант, чем писать к подобному еще кучу условий, чтобы оно стало работоспособным. В классе CSymbolInfo, при определении ask и bid, используется та же формула, что и в первом первого варианте. Почему в первом варианте получаем результат без обновления цены, во втором через обновление. При чем цену ask, через класс CSymbolInfo, получается можно получить и без обновления, а bid такой вариант уже не катит. На мой взгляд, слишком заморочно.

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

Всем привет!

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

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