警告を数秒遅らせる - ページ 5

 
こんにちは、みんな 私はGum Raiに 謝らなければ ならない 今朝 、落ち着いて オープンマーケットで あなたのコードを入力 し、 IT WORKS !
私は私が 前回のように 入力 したと思うので 私は 何が間違っていた 理解して いなかったが、確かに それは 私が間違っていること 失礼 しました 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が増加するということです。ということは、以前のバーを追加することで、バーからのリターンが増加するので、Time[]の代わりにBarsを使用すると、新しいバーがない場合でも新しいバーを検出することになりますか?

その通りです。

インディケータは新しいバーコードを使用しません。rates_totalと previous_calculatedまたは Barsと IndicatorCounted() を使用して、新しく追加された 以前のデータを再計算しています。

EAはTime[0]の 新しいバーコードを使って新しいバーを検出します。

日足での例。木曜日=[1] 金曜日=[0] Bars=2

次に履歴が追加 されます: Tuesday=[3], Wednesday=[2] Thursday=[1] Friday=[0] Barsは4に変わりましたが、曜日はまだ金曜日です:新しい曜日は存在 しません。

Bars is unreliable (a refresh/reconnect can change the number of bars on the chart) volume is unreliable (miss ticks) Always use time.新しいキャンドル - MQL4フォーラム
 
WHRoeder:

その通りです。

インディケータは新しいバーコードを使用しません。rates_totalと previous_calculatedまたは Barsと IndicatorCounted() を使用して、新しく追加された 以前のデータを再計算しています。

EAは新しいバーを検出するためにTime[0] new bar codeを使用します。

日足での例。木曜日=[1] 金曜日=[0] Bars=2

そして、履歴が追加 されます: Tuesday=[3], Wednesday=[2] Thursday=[1] Friday=[0] Bars changed to 4 but the day is still Friday:no new day.このように、日足が 追加されます。


もちろん、そうです。あなたはまた間違っています。新しい日はありません。しかし、新しいバー、データ、日があり、インジケータやEAですべてのデータを再集計する必要があります。

 

このスレッドが古いのは知っていますが、添付されたインジケータをチェックする のを手伝ってください。私はイベントが起こる前に矢印が90秒に表示されるようにしたい。私は多くのソリューションを試してみましたが、私はそれを正しく取得するように見えることはありません。

https://pastebin.com/XSHR9ZvH


ありがとうございます。

ファイル:
 
Ibiso Irumudomon: イベントが発生する前に 矢印を90秒表示させたい。
我々もそうだ。ここには読心術師はいないし、水晶玉も割れている。あなたのシグナルが発生するほど市場が動くまでは、シグナルは ありません。