问吧!

 

嗨,伙计们。

我收到了很多私人信息,要求我帮助解决一些代码的问题。

在这里,您可以发布与MQL4有关的问题,我会尽力回答。

 

警报(通过声音或任何)

我有两个问题。

第一个问题。有时在创建EA之前,有必要手动测试一些交易策略。这对M1、M5和M15来说是可以的。但对于H1和更高的时间框架来说,这很难。在一个指标(任何人)中应该包括哪一段代码,以显示一个指标的两行交叉的警报(声音或其他)?例如,该指标只有两条线,应该是交叉的(有警报)。

第二个问题。我们有两个指标。哪些代码应该包含在一个或两个指标中,以显示两条线的交叉:一条线来自第一个指标,另一条线来自另一个指标(当然,所有这两条线都在同一个窗口中)?

如果是EA或脚本,那么在我们研究EA和脚本的创建之前,请保留这个问题。

 

十字架上的警报!

newdigital:
我有两个问题。

第一个。有时在创建EA之前,有必要手动测试一些交易策略。这对M1、M5和M15来说是可以的。但对于H1和更高的时间框架,这是很困难的。在一个指标(任何人)中应该包括哪一段代码,以显示一个指标的两行交叉的警报(声音或其他)?例如,该指标只有两条线,应该是交叉的(有警报)。

第二个问题。我们有两个指标。哪些代码应该包含在一个或两个指标中,以指示两条线的交叉:一条线来自第一个指标,另一条线来自另一个指标(当然,所有这两条线都在同一个窗口中)?

如果是EA或脚本应该被创建,所以在我们研究EA和脚本的创建之前,保留这个问题。

第二个问题需要做一些工作(想法的关键是与GlobalVariables 合作,使两个指标相互认识!)。

我将在以后的工作中进行。

这是第一个问题的代码。它需要一些测试(现在是早上6:40, )。

//+------------------------------------------------------------------+

//| Demo1.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

bool Crossed (double line1 , double line2 )

{

static string last_direction = "";

string current_dirction = "";

if(line1>line2)current_dirction = "up";

if(line1<=line2)current_dirction = "down";

if(current_dirction != last_direction)

{

Alert("CRROSED: Line1 is (" + current_dirction + ") Line2 now");

last_direction = current_dirction;

return (true);

}

else

{

return (false);

}

}

int start()

{

int counted_bars=IndicatorCounted();

//---- check for possible errors

if (counted_bars<0) return(-1);

//---- last counted bar will be recounted

if (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

while(pos>=0)

{

ExtMapBuffer1[pos]= iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,pos);

ExtMapBuffer2[pos]= iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,pos);

pos--;

}

Print(Crossed (ExtMapBuffer1[0],ExtMapBuffer2[0]));

//----

return(0);

}

//+------------------------------------------------------------------+
 

问题

尊敬的编码大师。

我有几个系统需要帮助,从Tradestation翻译成Meta,然后是一个基本交易系统。我正在从头开始工作。你帮助提供这项服务的时薪是多少?

其中一些系统将被公布,有两个系统我已经购买并签署了保密协议,所以我可以公布,但必须让你在私下里对这些系统进行收费。你的费用是多少?

非常感谢。

里克

 

还没有。我还没有测试。

明天我将把这段代码插入一些指标中(任何有两行交叉的人)。

 

交叉提示

newdigital:
我有两个问题。

第一条。有时,在创建EA之前,有必要手动测试一些交易策略。这对M1、M5和M15来说是可以的。但对于H1和更高的时间框架,这是很困难的。在一个指标(任何人)中应该包括哪一段代码,以显示一个指标的两行交叉的警报(声音或其他)?例如,该指标只有两条线,应该是交叉的(有警报)。

第二个问题...

你好,newdigital。

你测试了代码吗?是你想要的吗?

附加的文件:
 

回溯测试课程

你好。

您能解释一下,如何进行回测工作吗?

为准备我们的EA进行回测需要做什么?

回溯测试是如何进行的(每个点,开盘价...)?

谢谢。

 
codersguru:
你好,newdigital,你测试过这个代码吗?

我测试了它。它是伟大的

我们可以把它作为一个样本使用。

或者如果我们只需要一个声音,我们可以使用所附的代码。

附加的文件:
 

或者如果我们只需要一个声音(可选)和写在图表上的文字(也可选),我们可以使用这个代码(附后)。

附加的文件:
 

完美的!

newdigital:
如果我们只需要一个声音(可选)和写在图表上的文字(也可选),我们可以使用这个代码(附件)。

newdigital,

岩石!

谢谢

 

我为RSTL和Supertrend交叉警报做了非常小的EA。

第一个是在当前条上工作。

第二个是在可选的柱子上工作(当前、之前或任何)。

只有警报。

对不起,我的编码很差:我们还没有研究EA。

可能我犯了一些错误......

但我测试了一下,它是有效的。

附加的文件:
cross.mq4  3 kb
cross1.mq4  3 kb
rstl.mq4  4 kb