初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1423

 

请提供在 EA 中使用该功能的示例。

bool  FrameAdd( 
   const string  name,        // публичное имя/метка 
   long          id,          // публичный id 
   double        value,       // значение 
   const string  filename     // имя файла с данными 
   );
 
mwwm #:

请提供在 EA 中使用该功能的示例。

您可以查看此处

Оцениваем ядра CPU для оптимизации - Попробуйте скомпилировать советники на Phenom 2 x4 975.
Оцениваем ядра CPU для оптимизации - Попробуйте скомпилировать советники на Phenom 2 x4 975.
  • 2022.09.29
  • www.mql5.com
должно получиться 6 результатов оптимизации - приложите логи журнала тестера стратегий. то проведите оптимизацию отдельно в течении часа - интересно сопоставить расчетное время на оптимизацию с реальным. По поводу журнала - вероятно не стоит галка - ставиться по нажатию ПКМ во вкладке Тестера стратегий
 
您好!
请帮我弄明白我做错了什么!

只要我把注释粘贴到下面附带的代码中,我的机器人就会停止工作。
如果没有注释,则一切正常。我将账户改为正常账户和假账户。
我到底做错了什么?
   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 #:
您好!
请帮我弄明白我做错了什么!

只要我把注释粘贴到下面附带的代码中,我的机器人就会停止工作。
如果没有注释,则一切正常。我将账户改为正常账户和假账户。
我到底做错了什么?
 

你忘了 if 中的括号。如果不等于得分,则进行评论,然后重赛。如果不等于分数,则继续并点击 retourn。

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

之后,OnTick 结束并等待下一个 tick。它不会继续!!!!

谢谢我都弄明白了,修好后就能用了。

这只是我脑子里的一个小毛病。

 

您能否告诉我是否可以从智能交易系统中调用

void OnTradeTransaction()

调用外部文件?

我创建了一个测试文件 *mqh,并将其添加到该文件中。

void OnTradeTransaction(const MqlTradeTransaction &trans,

                        const MqlTradeRequest &request,

                        const MqlTradeResult &result)

  {

  }

我在智能交易系统中添加了这个文件

#include <тест.mqh>

但是在 Expert Advisor 中没有调用OnTradeTransaction

如何正确操作?

 
TrederMT5 OnTradeTransaction 智能交易系统 的调用。

如何正确执行?

我会反其道而行之。在 .mqh 文件中编写一个类,例如 test.mqh 文件中的 CTest。

连接该类

#include <test.mqh>
CTest onTest;


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

  {

  }

然后从 EA 的OnTradeTransaction 函数中调用我的函数

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

我会反其道而行之。我会在 .mqh 文件中编写一个类,例如在 test.mqh 文件中编写 CTest。

连接类


然后从 EA 的OnTradeTransaction 函数中调用我的函数

谢谢
 



但当我将其上传到市场上的 MQL 时,却收到了错误信息


为什么会这样?是因为净额账户吗?

我已经在论坛上看过一些相关帖子,但我不明白问题所在。

交易量是由 EA 固定的。即使是 0.01 手等也不起作用。
,希望有人能帮我解决这个问题。