日を改める - ページ 3

 
dr.house7:

申し訳ありませんが、「この条件」とはどういう意味でしょうか?

時間がないことです。

ちなみに、時間をかけてテストすることにして、1つの解決策を紹介します。

   for(int i=0;i<10;i++)
     {
      if(touchedline[i]>temp)
        {
         highest=i;
         temp=touchedline[i];
        }
     }
   temp=0;
   for(int i=0;i<10;i++)
     {
      if(touchedline[i]>temp && i!=highest)
        {
         previoushighest=i;
         temp=touchedline[i];
        }
     }
   Print("act_highest :",highest);
   Print("prv_highest :",previoushighest);
 
angevoyageur:

時間がない。

ところで、私は時間をかけてテストすることにしました、ここに1つの解決策があります。


私はしばらくそれをテストし、正常に動作しているようです。

あなたは私の時間を節約し、私は間違いなくあなたに借りがあります...本当にありがとうございました!

良い一日をお過ごしください。

修正

フリーズしたり、前の値が実際の値になったりと、正しく動作しないことが多々あります。

 
dr.house7:


私はそれをしばらくテストし、正常に動作しているようだ。

あなたは私の時間を節約し、私は間違いなくあなたに借りがあります...本当にありがとうございました!

本当にありがとうございます!良い一日をお過ごしください。

修正

申し訳ありませんが、それは正しく動作しません、多くの場合、実際の値はフリーズのように全く間違っていると、時には前の値が実際の値になる :(


私が提供する最後のコードは動作するはずです。あなたのコードを投稿してください。

 
angevoyageur:


私が提供する最後のコードは動作するはずです。あなたのコードを投稿してください。

同じ分単位のバーで異なるタッチラインが関与している場合に問題が発生します。

 
例えば、EURUSD 10 jan 2014 at 16:30 on each tick mode M1 をバックテスト した場合、明らかです。
 

は難しいですか?

OMG

 

何か簡単な解決策はありますか?

代わりにarraymaximumを 使うべきでしょうか?

ありがとうございます;)

 

親愛なるアラン。

私は新しい方法を選ぶことにしました、私はループを削除し、正しい前に何かを得ることを試みます。

今touchx(それは実際のタッチです)は正しいです、各ティックは正しく変更されます...代わりに、2番目のティックの後にprevioustouchx(それは前のタッチです)が間違っている(それは現在の同じ値を取るため)......。

どうすればいいでしょうか?

ありがとうございます、良い夜を

博士

int highest,touchx,previoustouchx;

if(ema1[1] > ema2[1] && ema1[0]< ema2[0]) 
          {
           if(TouchTime1 != emacross1_TouchTime) 
           {
           drawArrow1(TouchTime1,ema1[0],"Wingdings 3",ArrowSize,"p",ArrowColor); 
           emacross1_TouchTime= TouchTime1;
           highest=emacross1_TouchTime;
           previoustouchx=touchx;
           touchx=1;
           }        
          }
ファイル:
mecca.mq5  14 kb
 
dr.house7:

親愛なるアラン。

私は新しい方法を選ぶことにしました、私はループを削除し、正しい前に何かを得ることを試みます。

今touchx(それは実際のタッチです)は正しいです、各ティックは正しく変更されます...代わりに、2番目のティックの後にprevioustouchx(それは前のタッチです)が間違っている(それは現在の同じ値を取るため)...なります。

どうすればいいでしょうか?

ありがとうございます、良い夜を

博士

こんにちは、ドク。

それはあなたの目標に依存します、申し訳ありませんが、私には明確ではありません。あなたは2つのエマのクロスを検出しようとしていますが、このクロスはいつ、各バーで検出したいのでしょうか?

もちろん、そのままのコードでは、各ティックで検出されます。

 
angevoyageur:

ドクさん、こんにちは。

それはあなたの目的によるのではっきりしません。あなたは2つのエマのクロスを検出していますが、このクロスをいつ、各バーで検出したいのでしょうか?

もちろん、そのままのコードでは、各ティックで検出されます。

こんばんは、アラン。

eaは各ティックでチェック し、シグナルが変化したときだけ2つの整数(touchxとprevioustouchx)を変化させるべきですね。

例えば

1回目のティック

touchx =3; previoustouchx=-1 (前のデータが無いので-1)

2回目のティック

touchx =5; previoustouchx=3

3回目のティック

touchx =5; previoustouchx=3

などと なります。