[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 232

 
DhP:

double tmpNormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) の違いは何ですか?

掛け合わせると必ず0より大きくなる。

だと思います))

(-) * (-) = +

(+) * (+) = +


а....ごもっとも NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) - ここは0ではなく「i」を入れるべき - これを変更したが、まだ取引を開始しない.........。

を実行すると、次のようなコードになります。

 bool signal_MACD() 
  { 
    bool signal_MACD = false;
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); 
    for(int i=1;i<=5;i++) 
    { 
       if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp,4)<0.0) 
       { 
          signal_MACD = true; 
          break; 
       }        
    } 
    return(signal_MACD);
  } 

が、それでもうまくいかない

 
CLAIN:


а....ごもっとも NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) - 変更しましたが、取引が始まることはありませんでした...。

これで、コードは次のようになります。

が、まだうまくいかない。

これはtrueをfalseに変えているのでしょうか?

その機能は、出力値を変更しますか?

 
CLAIN:


а....ごもっともNormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0) - ここは0ではなく「i」を入れるべき - これを変更したが、まだ取引を開始しない.........。

を実行すると、次のようなコードになります。

が、それでもうまくいかない


Print」を使い、ログを読み、「何があるか」と「何が期待されるか」を比較する。
 

機能が値を変更しない......。少なくとも私の判断では、取引は開始されませんでしたから。

プリントはどのように使うのですか?

 bool signal_MACD() 
  { 
    bool signal_MACD = false;
    double tmp = iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,0); 
    for(int i=1;i<=5;i++) 
    { 
       if(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp,4)<0.0) 
       { 
          signal_MACD = true; 
          Print(NormalizeDouble(iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp);
          break; 
       }        
    } 
    return(signal_MACD);
  } 

私はこのバージョンしか持っていませんが、何かそれも間違っているような気がします...。

 
CLAIN:

機能が値を変更しない......。少なくとも私の判断では、取引は開始されませんでしたから。

プリントはどのように使うのですか?

私はこのバージョンしか持っていないのですが、何かそれも間違っているような気がします......。


Print("iMACD(",Symbol(),",",TF,",",fast_ema,",",slow_ema,",",signal_period,",",PRICE_CLOSE,",",MODE_MAIN,",",i,",",")*",tmp,"=",iMACD(Symbol(),TF,fast_ema,slow_ema,signal_period,PRICE_CLOSE,MODE_MAIN,i)*tmp);
 
MaxZ:

すべての変数が宣言されていれば、MQL4の構文に間違いはないと思うのですが...。

何が問題なのか?

ありがとうございます。

私のEAのロールバック計算をする。計算が不正確と見たので、誤差が含まれている可能性のあるブロックを調べました。

 


こんにちは。

Help me understand
EAを書いているのですが、オーダーがわかりません。
オーダーを出しています。
OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl _sell,tp_sell,",1,0,Red);
Alert (GetLastError()).OrderSend(Symbol(),OP_SELLLIMIT,lot,cena_sell,3,sl _sell,tp_sell,",");

OrderSend(Symbol(),OP_SELLLIMIT,lot_1,cena_sell_d_ 1,3,sl_sell,tp_sell_d_1,",2,0,Red);
Alert(GetLastError();

OrderSend(Symbol(),OP_SELLLIMIT,lot_2,cena_sell_d_ 2,3,sl_sell,tp_sell_d_2,",3,0,Red);
Alert (GetLastError();

OrderSend(Symbol(),OP_SELLLIMIT,lot_3,cena_sell_d_3,3,sl_sell,tp_sell_d_3,"",4,0,Red);
Alert (GetLastError());

最初のテイクプロフィットが トリガーされた場合、他の注文を削除します。
1つ目のテイクプロフィットが発動せず、2つ目のテイクプロフィットが発動した場合、3つ目と4つ目のテイクプロフィットのためにlot_3、lot_4を変更します。

 
sergey_r:


こんにちは。

助けてください。
EAを書いているのですが、注文がわかりません。
注文を入れる。
OrderSend(Symbol(,OP_SELLLIMIT,lot,cena_sell,3,sl _sell,tp_sell,"",1,0,Red) を実行します。)
アラート(GetLastError())。

OrderSend(Symbol(),OP_SELLLIMIT,lot_1,cena_sell_d_ 1,3,sl_sell,tp_sell_d_1,",2,0,Red) を送信します。
アラート(GetLastError())。

OrderSend(Symbol(),OP_SELLLIMIT,lot_2,cena_sell_d_ 2,3,sl_sell,tp_sell_d_2,"",3,0,Red) を送信します。
アラート(GetLastError())。

OrderSend(Symbol(),OP_SELLLIMIT,lot_3,cena_sell_d_3,3,sl_sell,tp_sell_d_3,"",4,0,Red);
アラート(GetLastError())。
必要なんです。
最初のテイクプロフィットがトリガーされた場合、残りの注文を削除します。
1つ目のテイクプロフィットが発動せず、2つ目のテイクプロフィットが発動した場合、lot_3 とlot_4 を3つ目と4つ目に変更します。


最初に来たもの - フォーラムのこの ページにある関数を使用 - それは利益を取るの順序を閉じるためのフラグを返します。その前に、(異なる)注文量に応じて、それぞれ異なる magic_number を設定します。例えば、lot - magic 1、lot1 - magic 2 などです。そして、マジック1の注文がこの関数を使ってテイクバリューでクローズしたかどうかをチェックし、クローズした場合は「他を削除」します。そして、コードによって、マジックナンバー2の2番目のオーダーもチェックします。もしそれがOKなら、3番目と4番目のオーダーを修正します(ボリュームを変更します)...そして、保留中のオーダーを設定したり修正するときは、最小許容誤差やその他すべてのチェックを 忘れないようにします...このように...
 

機能の使い方がよくわからない。その方法について教えてください。

ここで私は、こんな注文をしました。そして、そのページから関数を挿入しています。あるいは、どのように?その例を記述してください。お願いします。

 
sergey_r:

機能の使い方がよくわからない。その方法について教えてください。

ここで私は、こんな注文をしました。そして、そのページから関数を挿入しています。あるいは、どのように?その例を記述してください。お願いします。



f-miで仕事をする順番、これが基本で、これを軸にすべてが回っていく...。分解して、フクロウの例を見てください(有能なコードで)、それらはcodebaseで見つけることができます -この フクロウの例を分解して、あなた自身のための基礎としてそれを使用してください...ベースとなるものだから、これがないとダメなんです。codebaseにあるこの例を元に、自分でフクロウを 設置しました。

無理せず、ゆっくり、解決してください。