[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 579

 

我将在这个主题中重复我的问题--在另一个主题中没有收获 :(

请告诉我。

1.如果出现连接中断,EA是如何工作的?

2.它将重新启动init()函数?

3.我如何在EA日志中使用 "旧刻度 "事件?

 

1.取决于EA,如果逻辑规定其停止,它就会停止工作,否则它就会运转一段时间......周一自己检查,启动EA,拉开电源线,你就会看到......

2.不,init不会起作用,一切都会从头开始,所以要为连接中断做好准备--保存EA最后一次启动的时间,如果两次启动之间有时间差,就调用init。

3.编写一个函数,从该事件的日志中读取最后几行内容

[删除]  
SergNF >>:


Вы заполняете массив, а потом на него натравливаете "стандартный индикатор" (RSIOnArray, CCIOnArray и т.п. - около 7 штук).

Крайнее упоминание на форуме , а вообще F1, учебник и т.п.


//+------------------------------------------------------------------+
//|                                                    onArrayBB.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 SeaGreen
#property indicator_color2 SeaGreen
#property indicator_color3 SeaGreen
#property indicator_color4 SeaGreen

extern int maper = 14;
extern int bbper = 14;

double Buf_0[],Buf_1[],Buf_2[],Buf_3[];
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
SetIndexBuffer(0,Buf_0);
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(1,Buf_1);
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(2,Buf_2);
SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(3,Buf_3);

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
//----
   int i,Counted_bars;
   Counted_bars=IndicatorCounted();
   i=Bars-Counted_bars-1;
   while(i>=0)
   {
      Buf_3[i]=iMA(Symbol(),0,maper,0,MODE_SMA,PRICE_CLOSE,i);
      Buf_0[i]=iBandsOnArray(Buf_3[i],0,bbper,2,0,0,i);
      Buf_1[i]=iBandsOnArray(Buf_3[i],0,bbper,2,0,1,i);
      Buf_2[i]=iBandsOnArray(Buf_3[i],0,bbper,2,0,2,i);
      Print(Buf_0[0]);
      i--;
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+


对吗,所以只画了中间的线,而没有画上面和下面的线。

 
keekkenen >>:


3. напишите функцию, которая бы читала из лога последние строки на предмет этого события


认可

请详细说明第三点,前两点我没有问题。

谢谢

 
trader_fx >>:

Правильно?, Так только средняя отрисовывается, а верхняя и нижняя линии не отрисовываются.

把对缓冲区Buf_3的填充放到一个单独的循环中。
 
IgorM >>:


OK

про 3-й пункт плз подробнее, первые два у меня вопросов не возникает

спс

我没有做过,但解决方案应该不会太复杂,因为你不能用自己的语言获得日志,你必须获得文件并使用WinAPI读取它。

也许有一个更简单的解决方案......

 
keekkenen >>:

..решение не должно быть сложным, т.к. родным языком логи не достать..


很奇怪,Mql的功能不允许读取终端日志

在连接方面似乎没有问题,有一个函数,我们必须在其上建立一个检查块。

boolIsConnected(

)

 

下午好。我想了解如何在mql4中写一个EA。首先,我采用了教程中建议的例子:简单专家顾问。以下是它的链接:https://c.mql4.com/book/mq4/experts/tradingexpert.mq4

当我试图通过Strategy Tester在RTS期货(Broco平台)上进行测试时,我得到了一个有趣的结果--正向交易被认为是 "负向"--这有什么关系?

我没有改变代码中的任何内容,我只是在OrderSend中把SP和TP设置为 "0",以便进行纯粹的反转,而不在止损和止盈时获取利润。


[删除]  
我不是期货专家,但我有个问题:你是否考虑到了价差?
 

我对外汇了解不多。事实上,股票和期货在报价牌中没有点差,但我不知道它在MetaTrader中是如何运作的(我刚刚在MT的符号属性 中看了一下,点差=0)。在算法中没有改变任何东西,除了SP=TP=0,差价是如何计算的?