延缓警报几秒钟 - 页 5

 
大家好 我必须 胶莱 道歉 今天早上 平静地公开市场上 输入了你的 代码, 它的作用是 !!!!
我不明白 什么是 错的 因为 我认为我 像上次一样 输入 但肯定是 错了 原谅我 GumRai 你是一个伟大的 人!

问候 马西莫


int start()
{
  static datetime BarStart=0;
   static bool check=false;
    if(BarStart!=Time[0])
     {
      BarStart=Time[0];
      check=true;
     }
   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
    

//_________________________________

/*void OnTimer(){
{
if(Bars!=prev_bars) current_candle_alert_been=false;
prev_bars=Bars;

if(current_candle_alert_been) return;
if(TimeLocal()-time_dif<Time[0]+seconds) return;
current_candle_alert_been=true;
 */    
      //Indicator Buffer 1
      if(iRSI(NULL, PERIOD_CURRENT, Period1, PRICE_CLOSE, 0) < 30
      
      )
        {
         Buffer1[0] = Low[0] - iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick Low - Average True Range
         if(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Buy"); time_alert = Time[0]; } //Instant alert, only once per bar
        }
      else
        {
         Buffer1[0] = 0;
        }
      //Indicator Buffer 2
      if(iRSI(NULL, PERIOD_CURRENT, Period1, PRICE_CLOSE, 0) > 70
     
      )
        {
         Buffer2[0] = High[0] + iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick High + Average True Range
         if(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Sell"); time_alert = Time[0]; } //Instant alert, only once per bar
        }
      else
        {
         Buffer2[0] = 0;
        }
     }
      
return(0);
}
 //-----------------------------------------------------------------------------------------------------------------------------


 

不用担心。

我只是很高兴你能解决这个问题。

 
GumRai: 但你说的是,通过在图表中添加早期数据,Bars会增加。因此,这意味着通过添加早期的条形图,条形图的回报将增加,所以使用Bars而不是Time[]将检测到一个新的条形图,即使没有一个新的条形图?

正是如此。

指标不使用新的条形代码。它们使用rate_totalprevious_calculated或者 BarsIndicatorCounted(),所以它们重新计算新增加 的早期数据。

EA使用Time[0] 新条形代码来检测一个新条形。

在日线上的例子。星期四=[1] 星期五=[0] Bars=2

然后添加历史数据:周二=[3],周三=[2] 周四=[1] 周五=[0] Bars变为4,但日期仍为周五:没有新的一天

Bars是不可靠的(刷新/重新连接可以改变图表上的条数)volume是不可靠的(错过ticks)总是使用时间。新蜡烛 - MQL4论坛
 
WHRoeder:

正是如此。

指标不使用新的条形代码。它们使用rate_totalprevious_calculated或者 BarsIndicatorCounted(),所以它们重新计算新增加 的早期数据。

EA使用Time[0] 新条形代码来检测一个新条形。

在日线上的例子。星期四=[1] 星期五=[0] Bars=2

然后添加历史数据:周二=[3],周三=[2] 周四=[1] 周五=[0] Bars变为4,但这一天仍然是周五:没有新的一天


是的,当然。你又错了。没有新的一天。但有新的柱状数据日,你需要在指标或EA中重新计算所有数据。

 

我知道这个主题是旧的,但你能不能帮我检查一下 附件中的指标。我想让箭头在事件发生前90秒出现。我已经尝试了许多解决方案,但我似乎没有得到正确的答案。我想粘贴代码本身,但它超过64000。

https://pastebin.com/XSHR9ZvH


谢谢

附加的文件:
 
Ibiso Irumudomon: 我想让箭头 事件发生 90秒出现。
我们都是如此。这里没有读心者,我们的水晶球是有裂缝的。在市场移动到足以产生你的信号之前,没有信号