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

 
Здравствуйте!
Помогите пожалуйста разобраться, что не так я делаю!

Как только я вставляю комент в ниже прикрепленный код - у меня перестает работать робот.
Без комента - все работает. Счет я меняю на нормальный и фейковый.
Что не так я делаю?
   void OnTick()
     {
      if(AccountInfoInteger(ACCOUNT_LOGIN) != 12345678)
         Comment("На этом счете - робот не работает");
      return;
     }
 
Sprut 185 #:
Здравствуйте!
Помогите пожалуйста разобраться, что не так я делаю!

Как только я вставляю комент в ниже прикрепленный код - у меня перестает работать робот.
Без комента - все работает. Счет я меняю на нормальный и фейковый.
Что не так я делаю?


https://www.mql5.com/ru/search#!keyword=ACCOUNT_LOGIN&module=mql5_module_forum

 
Sprut 185 #:
Здравствуйте!
Помогите пожалуйста разобраться, что не так я делаю!

Как только я вставляю комент в ниже прикрепленный код - у меня перестает работать робот.
Без комента - все работает. Счет я меняю на нормальный и фейковый.
Что не так я делаю?
 

Cкобки забыли в иф. Если не равен счету, то коммент и далее ретурн. А если не равен, то далее, и попадает на ретурн.

void OnTick()
     {
      if(AccountInfoInteger(ACCOUNT_LOGIN) != 12345678) 
     {
         Comment("На этом счете - робот не работает");
      return;
     }
     }
 
Valeriy Yastremskiy #:

И после этого ОнТик заканчивает работу и ждет следующего тика. Дальше не идет!!!!

Спасибо !!! Все понял, исправил и теперь все работает.

Просто глюк в голову зашел.

 

Подскажите можно ли осуществить вызов из эксперта

void OnTradeTransaction()

из внешнего файла ?

Создал тестовый файл *mqh и там добавил 

void OnTradeTransaction(const MqlTradeTransaction &trans,

                        const MqlTradeRequest &request,

                        const MqlTradeResult &result)

  {

  }

В советнике добавил этот файл

#include <тест.mqh>

Но вызов из эксперта OnTradeTransaction не осуществляется.

Как правильно сделать ?

 
TrederMT5 #:

Подскажите можно ли осуществить вызов из эксперта

void OnTradeTransaction()

из внешнего файла ?

Создал тестовый файл *mqh и там добавил 

В советнике добавил этот файл

Но вызов из эксперта OnTradeTransaction не осуществляется.

Как правильно сделать ?

Я-бы сделал наоборот. В .mqh файле написал класс, например CTest в файле test.mqh. 

Подключение класса

#include <test.mqh>
CTest onTest;


void CTest::MyOnTradeTransaction(const MqlTradeTransaction &trans,
                                 const MqlTradeRequest &request,
                                 const MqlTradeResult &result)

  {

  }

И из советника из функции  OnTradeTransaction вызов моей функции

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
 {
      onTest.MyOnTradeTransaction(trans, request, result);
 }/******************************************************************/
 
Alexey Viktorov #:

Я-бы сделал наоборот. В .mqh файле написал класс, например CTest в файле test.mqh. 

Подключение класса


И из советника из функции  OnTradeTransaction вызов моей функции

Спасибо
 

Я решился попробовать первый простой советник, и он работает безупречно.

Но когда я загружаю его на MQL в рынок, я получаю сообщение об ошибке:


Почему так? Это связано с неттинг-счетом?

Я уже прочитал несколько сообщений на форуме об этом, но я не понимаю, в чем проблема.

Объем фиксируется советником. Даже 0.01 лот и т.д. не работает.
Буду благодарен, если кто-нибудь мне поможет.

 
Maik Kemper сообщение об ошибке:


Почему так? Это связано с неттинг-счетом?

Я уже прочитал несколько сообщений на форуме об этом, но я не понимаю, в чем проблема.

Объем фиксируется советником. Даже 0.01 лот и т.д. не работает.
Буду благодарен, если кто-нибудь мне поможет.

Это из-за того, как вы рассчитываете объем (лоты) - но без кода?

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

 
Carl Schreiber #:

это из-за того, как вы рассчитываете объем (лоты) - но без кода?

Фиксированный размер лота, вероятно, не является решением, я полагаю, вы проверяете с высоким и низким балансом счета и различными маржинальными сборами...

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

0.01, 0.02, 0.10 везде ошибка

Edit2:

Теперь я использую значение SYMBOL_VOLUME_MIN в качестве размера лота вместо фиксированного размера. В MQL 0,2 кажется наименьшим размером лота.
Тем не менее, теперь я получаю сообщение об ошибке, потому что на счету, вероятно, только 1 $ или €.....



Редактировать:

Теперь я установил размер лота на 1,0 и теперь получаю это сообщение


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