[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 70

 

問題解決に役立てる。すでにここの皆さんに迷惑をかけたかもしれませんが、よろしくお願いします。前のバーのフラグが1であれば、矢印を下に引くことができます。描画後、新しいフラグを -1 に設定する。逆に反対側ではでも、悪いのは私。コメントなしの矢印はありません。すべてコメント付きの矢印です。

flag[i] = flag[i+1];             
  if (// flag[i] == 1 && 
//в вниз           
       ma13_0 > ma55_0 && macd[0] >= macd[1] && macd[1] >= macd[2] && macd[2] >= macd[3] && cci15_0 > 50 && cci170_0 > 0)
  {
       S[i] = High[i]+point*Point;                
       flag[i] = -1 ; // флаг показывает нормально пока закоментировано        
  }        
  if (// flag[i] == -1 && 
//в верх          
       ma13_0 < ma55_0 && macd[0] <= macd[1] && macd[1] <= macd[2] && macd[2] <= macd[3] && cci15_0 < 50 && cci170_0 < 0)
  {
       B[i] = Low[i]-point*Point;                
       flag[i] = 1 ;//флаг показывает нормально пока закоментировано         
   }
 
granit77:
どうだろう。セルゲイエフは知っている、正しいようだと言った。また、正しい書き方も見てみたい。
何かを示すように、少し修正しただけです。
- インジケータを別ウィンドウにして、それを元に戻すと

- macd[]配列が宙に浮いていたので、それをインジケータにし、精度を上げた
- オープニングの複雑な条件をロックし、調整のためのシンプルなものを置く。
- は、フラグの条件を変更し、少なくとも動作するようにしました。

そして、徐々に条件を導入していけば、どこにバグがあるのかがすぐに分かるようになります。

ありがとうございます。見てみるよ。私が前の記事を書いている間に、あなたはあなたの記事を投稿しました。
 
100yan:

HELP!ポジションの一部を決済する場合(例:1ロットの注文、0.5ロットを決済)、OrderCloseチケットは変更されるのでしょうか?私のテスターではそうなっているのですが...。どうすれば回避できるのか?以下は、クロージングコードの一部です...。

避けようがないのです。DCがチケットを変えているのです。本来は別のボリュームで再開するものなので、新しいチケットになります。したがって、自分の注文を記録しておき、ポジションの 一部を決済 した後は、その新しいチケットを記憶しておくと、その後の作業に便利です。また、Expert Advisorがさらに正しく監視できるように、部分的にクローズしたポジションをある程度識別できるようにすることもできます。
 
artmedia70:
避けようがないのです。これが、チケットを変えるDCです。あなたは本質的に、異なるボリュームでポジションを再開しており、それゆえ新しいチケットが必要なのです。したがって、自分の注文を記録しておき、ポジションの一部を決済した後は、その新しいチケットを記憶しておくと、その後の作業に役立ちます。また、Expert Advisorがさらに正しく監視できるように、部分的にクローズしたポジションをある程度識別できるようにすることもできます。

ありがとうございました。MagicNumberは変更されますか?
 
gince:
フラグ[]バッファの一時的な描画を行いました - それは空です、なぜですか?私の間違いはどこにあるのでしょうか?

フラグ[i+1]が初期化されていないことが原因です。

というわけで、flag[i]==1 と flag[i]==-1 の比較は決して実行されないのです!

 
100yan:

ありがとうございました。MagicNumberは変更されますか?
ノー
 
100yan:

ありがとうございました。MagicNumberは変更されますか?
この場合、EAコードに規定がない限り、MagicNumberは変更されない。
 
DhP:
この場合、EAコードに規定がない限り、MagicNumberは変更されない。
どうやったらできるのか、教えてください。
 
sergeev:
はい、そしてこれは想定できるのでしょうか?どうすればできるのかを示してください 。
ポジションが一部閉じて いる場合は、マジックを変更することができます。きっと簡単に書けるはずです。
 
sergeev:

フラグ[i+1]が初期化されていないことが原因です。

というわけで、flag[i]==1 と flag[i]==-1 の比較は決して実行されないのです!

私の理解では、flag[i+1]の 設定が初期化されていないのです。その場合、どこで、どのように行うのですか?

1を設定すると、インジケータを起動したときに、それ(インジケータ)は変化を待つことになります。

flag[i+1]= 1;//начальная установка

for(int i=limit-1;i>=0;i--){ 
   flag[i] == flag[i+1];   
   if ( flag[i] == 1  &&   
        условие продажи){              
       Продажа[i] = High[i]+point*Point; 
       flag[i] == -1 ;
    }                     
    if (flag[i] == - 1  &&     условие покупки){          
              Покупка[i] = Low[i]-point*Point; 
              flag[i] == 1 ;}
    }
}