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

 
sergeev:

をクリックすると、ポップアップが表示されます。

MarketInfo 関数から Bid と Ask を取得する必要があります。

like - ask= MarketInfo(OrderSymbol(), MODE_ASK);

と正規化することを忘れないでください。
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS));

 

教えてください、正規化処理をしているのですか?

何をするものなのか、差し支えなければ説明してください。

 
iv_danko:

教えてください、ここでは正規化処理を行っているのですね。

また、それは何のために行うのでしょうか?


doubleNormalizeDouble() 倍精度、整数値)

浮動小数点数を指定された精度で丸める。
計算されたStopLossとTakeProfitの値、および保留中の注文の開始 価格は、あらかじめ定義された変数Digitsに 格納されている精度に正規化される必要があります。

価格が正規化されていない場合、エラーが発生することがあります。

 
Vinin:

すみません。すっかり忘れていました。

インジケータをありがとうございました。条件 (ma13_0-ma55_0)*(ma13_1-ma55_1)<0 は、フラップ間の交差があったかどうかを示しています(それ用に別のインジケータを作りました)。交差して入力したわけですが、ちょっと違うんですよね。矢印をフィルタリングして、方向転換後の最初の矢印だけを表示させたい。

インジケーターの矢印が大きいですね。小さいのは、微調整が必要なインジケーターのものです。

 
gince:


追加します。正確には売買ではありません。また、ストップオーダーの価格計算を行うものです。

 
iv_danko:

教えてください、正規化処理をしているのですか?

何をするものなのか、差し支えなければ説明してください。

 

なぜこのチェックが効かないのか?

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 ;}
    }
}    
 
フラグ[]バッファの一時的なレンダリングを行い、その中身を確認するのです。一見すると中の値はすべて同じになる。
 
gince:

なぜこのチェックが効かないのか?

彼らは正しいことをしたと思う。
 
granit77:
フラグ[]バッファの一時的なレンダリングを行い、その中身を確認するのです。一 見すると、その中の値はすべて同じになる。
バッファflag[]の一時的なレンダリングを行いました - それは空です、なぜですか?私の間違いはどこにあるのでしょうか?
ファイル:
cross1_2.mq4  5 kb