Вот код, который я попробовал:
Я получаю неизвестную ошибку в журнале
Пожалуйста, дайте мне знать, как это исправить.
Artyom Trishkin :
В индикаторах запрещены торговые функции . Однозначно и бесповоротно.
Спасибо за ваш ответ, @ Артём Тришкин .
Но я хочу использовать кнопку в тестере стратегий, и индикатор это позволяет. Но это не позволяло торговать.
Я все еще пытаюсь научиться использовать вашу библиотеку.
вот выкладывал код @Alexey Volchanskiy
https://www.mql5.com/ru/forum/171668#comment_10574757
но учтите, что в тестере не приходят события OnChartEvent() , это значит,что в тестере нужно проверять состояние кнопок по приходу тика
вот выкладывал код @Alexey Volchanskiy
https://www.mql5.com/ru/forum/171668#comment_10574757
но учтите, что в тестере не приходят события OnChartEvent() , это значит,что в тестере нужно проверять состояние кнопок по приходу тика
Код не работает вообще, я попробовал. Было более 100 ошибок.
вот выкладывал код @Alexey Volchanskiy
https://www.mql5.com/ru/forum/171668#comment_10574757
но учтите, что в тестере не приходят события OnChartEvent() , это значит,что в тестере нужно проверять состояние кнопок по приходу тика
Не знаю как в пятёрке(не работаю с ней), а в четвёрке в индикаторах события OnChartEvent() работают и могут быть использован при тестировании в визуальном режиме. Можете посмотреть реализацию в этой ветке. Там в конце ветки я выкладывал коды.
- 2016.02.14
- www.mql5.com
Не знаю как в пятёрке(не работаю с ней), а в четвёрке в индикаторах события OnChartEvent() работают и могут быть использован при тестировании в визуальном режиме. Можете посмотреть реализацию в этой ветке. Там в конце ветки я выкладывал коды.
я не знаю, что сейчас в МТ4 творится, в принципе не важно - для определения состояния CButton - достаточно по приходу тика в тестере проверить состояние с помощью вызова метода Pressed()
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вот код, который я попробовал:
#property indicator_chart_window #include <Button.mqh> #include <Trade\Trade.mqh> CTrade trade; //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping ButtonCreate("but","but",10,10); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnChartEvent(const int id, // event ID const long& lparam, // long type event parameter const double& dparam, // double type event parameter const string& sparam // string type event parameter ) { if(id==CHARTEVENT_OBJECT_CLICK && ObjectGetInteger(ChartID(),sparam,OBJPROP_TYPE)==OBJ_BUTTON) { trade.Buy(0.01); } } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+Я получаю неизвестную ошибку в журнале
Пожалуйста, дайте мне знать, как это исправить.