新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1471

 
ANDREY:

我在测试器中发现了一个稳定的统计模式,自2008年以来,它一直在稳定地产生利润,并有可接受的跌幅。我需要在不同的配对和框架等方面进行测试。
但我需要同时使用几个参数来测试。而我已经写了一个代码,可以更快地测试我需要的东西。而现在我正在改进我的代码,也就是说,我希望它在测试器中工作得更快,或者尽可能快。我的代码中的主要算法是在每个局部最低点后的30点开仓。因此,我试图尽可能快地做。

如果你能解释你是如何识别局部极值的,你的任务就会更容易。

如果分形指标 适合于此,那么你应该在第二条杠上检查是否存在分形,并从这个值中计算出必要的30点或点数......随你喜欢。

 
MakarFX:

你代码中的检查没有加载,但如果你真的想尝试一下

试过了。再次打开错误的订单(在时间、价格和数量方面)。

你的代码。

double LoU;
int OnInit()
  {
   LoU=Bid;
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(Low[1]<LoU) {LoU=Low[1];}
   if ((Bid-30*Point)>=LoU)
     {
      if(OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,0,0,"300",0)) LoU=Bid;
     }
  }


谢谢你的帮助。

 
Alexey Viktorov:

如果你能解释你是如何识别局部极值的,你的任务就会更容易。

如果分形指标 适合于此,那么你就在第二个条形上检查是否存在分形,并计算必要的30点或点......随你喜欢。

如果我们所说的极值是指订单开启后的局部最低值,那么这个最低值是通过检查每个tick或烛台上的最低价格值来定义的。而这正是我所纠结的问题。我希望一切都能更快地发生,以便在我需要的位置开出订单。

 
ANDREY:

如果极值被理解为一个局部的低点,在这个低点之后开仓,那么这个低点是通过检查每个tick或烛台的最低价格值来确定的。而这正是我所纠结的问题。我希望一切都能更快地发生,以便在我需要的位置开出订单。

极点是一个局部最小值 局部最大值。你如何定义它?

 
Alexey Viktorov:

如果你能解释你是如何识别局部极值的,你的任务就会更容易。

如果分形指标 是合适的,那么你就在第二个柱子上检查是否存在分形,并从这个值中计算出必要的30点或点...任何你喜欢的。

我认为分形指标并不适合我。它将错过许多订单。

我的代码开出的订单在每个刻度处都有价格检查,以蓝色显示。我认为,在这种情况下,分形指标对我来说没有必要说什么。

 
Alexey Viktorov:

一个极端是一个局部的最小值 局部的最大值。你如何定义它?

就我而言,这是一个最低限度。

 
ANDREY

它是什么

Pr

它是如何初始化的?

 
MakarFX:
这取决于你把它放在哪里

例如,在两个相邻订单的开盘之间。也就是说,记住最后一个开仓订单的条形图,只要价格高于这个函数定义的 低点30个点,就开仓订单。但在这种情况下,这个函数必须在每一个刻度 上被调用。改用肥皂水的摇钱树.......

 
ANDREY:

把一个骗子换成了一个肥皂.......

更糟糕的是......仍然需要知道酒吧的数量


我调整了...尝试

 
MakarFX:

它是什么

它是如何初始化的?

double LoU,Pr;
void OnTick()//484
{
Tick++;
if (Bid<LoU)
LoU=Bid;
//**************************************************************||TimeCurrent()==1262568096
if (Bid-LoU>=0.0030&&Pr!=LoU)
{
OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,0,0,"300",0);
Print("---------------------КАЖДЫЙ ТИК ------Tick---------=     "    ,   Tick);
Pr=LoU;
LoU=Bid;
}
}
Pr是一个变量,以便在30点后只开1个订单。如果没有这个变量,它们会在每次打勾 时打开
原因: