[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 103

 
Reshetov:

不,她不欠任何人任何东西。真实的演示和测试者之间是有区别的。例如,如果所有OrderSend()参数都是正确的,那么测试者在打开订单时就不会显示错误。但是,一个贸易服务器,相反,它将。

这就是为什么我们应该在测试器之后修改程序,然后在演示器上运行,这样就可以充分处理特殊情况,而这些情况在测试器中不会发生。

谢谢!!!。
这对我来说是非常有用的信息))。
 
Reshetov:
使用Time[x]吧时间。


这在这里是行不通的,因为在同一根柱子上的下一行中,这个第一个形成的数字也将作为第二个启动......而我需要把它们分开...分开

然后比较低点 - 如果是长线,和高点 - 如果是短线...

......
if (AO3 < 0 && AO3 > AO2 && AO2<0 && AO2 < AO1 && AO1 < 0 && fl1==false && fl2==false) {a1 = AO2; fl1=true;Time_Figure1=TimeCurrent(); Print ("образование первого пика",DoubleToStr(a1, 6),"Время: ",Time_Figure1);}// определение наличия 1-го пика, флаг установлен
 Print ("Образование первого пика",DoubleToStr(a1, 6),"Время1: ",Time_Figure1);
 sleep (2000);
 if (AO3<0 && AO3>AO2 && AO2<0 && AO2<AO1 && AO1<0 && fl1==true && fl2==false && TimeCurrent() > Time_Figure1)  // определение наличия 2-го пика, флаги установлены
      { 
        a11 = AO2; fl1=true; fl2=true; Print ("Образование второго пика", DoubleToStr (a11,6), "Время2: ",Time_Figure2);
.....

 
robot:

如果写一个模板不难,我还没有想清楚)

谢谢你的考虑。
我建议你看一下交易编码的例子,例如这里
 
Roman.:


这在这里是行不通的,因为在同一根柱子上的下一行中,这个第一个形成的数字也将作为第二个启动......而我需要把它们分开...分开

以便随后比较低点--如果是长线和高点--如果是短线......

不是这样的。如果你先有AO信号条,那么就从它开始寻找,并在历史深处寻找其他的信号。当你开仓时,要记住开仓的时间,不要再在它上面开仓。一旦下一个AO柱形成,就再次开始寻找形态。
 
artmedia70:
并非如此。如果你有AO的第一个信号栏,那么就从它开始,在历史深处寻找其他信号。当你开仓时,记住开仓的时间,不要再开仓。一旦下一个AO柱形成,就再次开始寻找形态。


你能详细说明一下吗--我不需要深入地搜索历史...

对我来说,现在确定是否有一个峰值出现就足够了--这就是图1,如果在图中的一些条形图之后,又出现了另一个峰值,那么就可以对它们进行比较并做出决定......

问题是,第一个和第二个数字的尖峰都是一样的,我不能(甚至用旗子来区分一个数字和另一个)...我很无聊,什么什么......。

P.S. 钉子不一定是一个接一个的,它们可能是通过几个相等的杆子,等等。它们可能是不同的--主要的是它们的结构原理是一样的。

最主要的是把一个和另一个分开,以便进一步比较。

 
Reshetov:
使用Time[x]吧时间。

一般来说,在执行一些指令后,在下一个条形图形成之前,有可能在代码的某一点中断EA。
 
Roman.:

一般来说,在执行一些命令后,在下一个条形图形成之前,有可能在代码中的某个地方中断EA。
是的,有的。你将Time[0]的当前值存储在一个静态变量 中,并与每个新的tick进行比较。如果它没有变化,我们就返回(0)。如果它发生了变化,我们面对的是一个新的酒吧。记住新条的时间,即Time[0],然后开始你自己的计算。
 

eddy:

for(k=0; k<KPeriod; k++)           // перебрать KPeriod баров
if(Low[k]<minimum) minimum=Low[k]; // найти минимум

如何正确地用iLowest函数来代替它?

minimum=Low[iLowest (NULL, 0, MODE_LOW,KPeriod, 0)] - 这是否正确?

我被告知是这样的。感谢你们相互无视一个简单的问题)
 
Reshetov:
是的,确实如此。你将Time[0]的当前值存储在一个静态变量中,并与每个新的tick进行比较。如果它没有变化,你就用return(0)退出。如果它发生了变化,我们面对的是一个新的酒吧。记住新条的时间,即Time[0],然后开始你自己的计算。


我很久以前就知道了......:-))更多来自教科书...谢谢你...

我现在正在比较,我想我在正确的轨道上,但到目前为止,它没有发挥应有的作用......

double AO1 =  iAO(Symbol(), signal_period, 1);
 double AO2 =  iAO(Symbol(), signal_period, 2);
 double AO3 =  iAO(Symbol(), signal_period, 3);
 
 
 //  Расчет переменных для доливки 2-а пика
  
 if (AO3 < 0 && AO3 > AO2 && AO2<0 && AO2 < AO1 && AO1 < 0 && fl1==false && fl2==false) {a1 = AO2; fl1=true;Time_Figure1=Time[0]; Print ("Oбразование первого пика",DoubleToStr(a1, 6),"Время: ",Time_Figure1);}// определение наличия 1-го пика, флаг установлен
 Print ("Образование первого пика",DoubleToStr(a1, 6),"Время1: ",Time_Figure1);
 if (Time_Figure1<Time[0] && Time_Figure1!=0)    // условие наличия первого пика...
   {
    if (AO3<0 && AO3>AO2 && AO2<0 && AO2<AO1 && AO1<0 && fl1==true && fl2==false )  // определение наличия 2-го пика, флаги установлены
      { 
        a11 = AO2; fl1=true; fl2=true; Time_Figure2=Time[0]; Print ("Образование второго пика", DoubleToStr (a11,6), "Время2: ",Time_Figure2);
        if (a1<a11 && High [0] > High [1]) 
           { signal_buy = true; a1=a11; fl1=true;fl2=false; Time_Figure1=Time[0];}   //  активируем бай и устанавливаем сигнал на бай и записываем параметры как первого пика  
        else { a1=a11; fl1=true;fl2=false;Time_Figure1=Time[0];}                     //  просто запоминаем новый минимум - "первый" сигнал   
      }                                                       
   }
 
 if (AO2>0 || High [0] < High [1]) {fl1=false; fl2=false; Time_Figure1=0;}// если какой - либо столбец гистограммы  пересекает 0-ю линию между сигналами 2-а пика
                                                               // то сигнал считается недействительным. Cбрасываем флаги 1-го и 2-го пика вниз,
 if (Mas_Tip[0]!=0 && signal_buy == true )  return(10);        // при доливке и сигнале к покупке открываемся с рынка 
 signal_buy = false;                                           // сбрасываем сигнал к покупке
你已经正确地建议我使用Time[x]--试图实现...
 
伙计们真的需要一个脚本,在MT4的图表上添加休息日,在哪里可以找到它?