文章 "自动搜索背离和趋合" - 页 2

 
plumedelan:

Oui, j'ai déja essayé il y a 15 jours, mais ça ne fonctionne pas, pourtant dans d'autre EA la fonctionSendNotification est ok.

J'avais écrit:

Mais je vais écrire un script ce soir par exemple:


J'ai trouvé le problème. La fonction CheckAlerts () n'est pas appelée. Vous devez appeler CheckAlerts () en bas de onCalculate ():

...
...
...

   if(ArrowsOnChart || DrawLines){
      ChartRedraw();
   }
   
   CheckAlerts(rates_total,time);
   
   return(rates_total);                
}   

Mon erreur.

 

谢谢,我马上就去。

 

是的,运行正常,但需要设置Alerts_bar1 或 Alerts_bar0 参数。

谢谢,您好。

 

我的情况也一样,我收到了一条信息:无法加载指标

我把指标文件夹中的指标和 "include "文件夹中的其他文件放到了 metatrader 的 "include "文件夹中。
我做错了什么吗?
Alberto



 

您好、

您能告诉我如何在 MT4 上通过阈值 实现极端检测 吗?我读了您的文章,研究了所附文件的代码,但我不明白如何在 MT4 上只使用这个功能。

谢谢。

 
你好,也许我做错了什么,但指示器无法启动。
 

很好:


非常感谢你的文章,事实上,我从你所阐述的一切中学到了很多东西,我很感谢你花时间写这篇文章。


我目前正在尝试使用 icustom导入 buf_buy 和 buf_sell 缓冲区:


 double SIGNALS_HANDLE_B1 = iCustom ( Symbol (), Period (), "DIVERGENCE.ex5" ,Alerts_off, 3 ,ExtrBars, 2 ,- 1 , 5 , 0 , 0 , true , true , true ,Green,Red, "CUSTOM INDICATOR" , 14 , 14 , 14 , 1 , 1 , 0 , 0 , 1 );
double SIGNALS_HANDLE_S1 = iCustom ( Symbol (), Period (), "DIVERGENCE.ex5" ,Alerts_off, 3 ,ExtrBars, 2 ,- 1 , 5 , 0 , 0 , true , true , true ,Green,Red, "CUSTOM INDICATOR" , 14 , 14 , 14 , 1 , 1 , 0 , 0 , 2 );


如果我没写错的话,它们分别位于缓冲区 1 和 2 中。


我的理解是,这些缓冲区的内容为 0 表示没有买入/卖出信号,为 1 表示有买入/卖出信号。是这样吗?


我想做的是,我一直在看代码,我觉得我应用错了,或者我提出了错误的解决方案,具体如下:



如果有一个解释为买入/卖出的信号 1,它就是:

 if (SIGNALS_HANDLE_B1 = 1 )


----
---
--
///BUY CODE//.

---
---
---

我认为缓冲区包含了自定义指标的其他数据,我应用这些数据是为了查看其中的差异。我不知道如何告诉你如果有买入/卖出信号,它就是那个 "1"。我还查看了代码部分:


   int cnt;   
   
   if (prev_calculated== 0 ){
      cnt=rates_total;
   }
   else { 
      cnt=rates_total-prev_calculated+ 1 ; 
   }
   
   if ( CopyBuffer (h, 0 , 0 ,cnt,buf_osc)<= 0 ){
       return ( 0 );
   }   

   diver.Calculate(  rates_total,
                     prev_calculated,
                     time,
                     high,
                     low,
                     buf_osc,
                     buf_buy,
                     buf_sell);
                     
   if (ArrowsOnChart || DrawLines){
       ChartRedraw ();
   

      
   }

   return (rates_total);                
}   

我认为,通过 CNT 和 "diver.Calculate "转换此计算...在这里我被卡住了,我已经尝试了好几天来解决和理解我的错误。


如果有任何提示或通用示例,我将不胜感激。我不需要你帮我解决问题,我只想学习你的代码。


非常感谢。

 
我不介意回答所有问题,但问题是我并不总是能注意到它们。如果有的话,如果很长时间都没有答案,请在私人信息中写明 有一个问题悬而未决,然后....。
 
odlambda:


iCustiom () 功能的指示器名称末尾不写".ex5"。

获取芒果。在 OnInit () 功能中使用。

2.复制缓冲区。为此请使用 CopyBuffer () 功能。

一般来说,如果值不等于 0,也不等于 EMPTY_VALUE,就会出现跳转。

查看文章(英文):

https://www.mql5.com/en/articles/37

https://www.mql5.com/en/articles/43

https://www.mql5.com/en/articles/31

https://www.mql5.com/en/articles/127

或查询西班牙语文章:https://www.mql5.com/es/articles/mt5/page15

使用什么平台?MT4 还是 MT5?
 
odlambda:

///

在 MT5 中,函数 iCustom() 返回的类型是 int,而不是 double。