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

 
vovan-gogan:

何が言いたいの?SLレベルは適正です。SL変数をMA20に設定し、シフトを3にして、AlertでSLレベルを出力すると、常に正しいレベルになります。SLのレベルに達する前にSLが削除される理由がわからない。

まあ、問題をなくすことではなく、コミュニケーションをとることが大事なら、私はパスしますよ。
 
PapaYozh:

いや、まあ、問題を解決するためではなく、コミュニケーションをとるためのものなら、パスです。

いいえ、逆に、あなたの忠告を聞きます。どうなるか見てみましょう。
 
BUYSTOP / SELLSTOPの2種類の注文が 同じ条件で削除されるのは、少なくとも別物だと思うので困惑しています。似たようなコードがもう一つあって、それはシリーズですべての保留中の注文を削除するのでしょう。
 
splxgf:
BUYSTOP / SELLSTOPの2種類の注文が同じ条件で削除されるのは、少なくとも別物だと思うので困惑しています。もう一つ似たようなコード断片があり、すべての保留中の注文が順次削除されるのでしょう。

いいえ、1つもありません。わかりやすくするために、SellStop注文を削除した場合のコード断片を一部提示しただけです。
 
vovan-gogan:

いいえ。1つもない。
   if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)

注文の種類は、一方は価格より下、もう一方は価格より上...。と閉じる条件は同じBid>SL...。理屈はどこにあるのか、ということです。

条件から注文タイプを1つ外すか、さらにダブらせることをお勧めします。

 
vovan-gogan:

これは一体何なのか、みんな教えてくれ!?私のExpert Advisorは、オプロットを出し、価格がそれに到達せず、ストップのレベルまで反転した場合、オプロットは削除されるように設計されています。しかし、テスターでは、時々オプロットを出し、ストップに達する前にすぐに削除されています。何が問題なのか?以下は、スクリーンショットと削除コードです。

以下はそのコードです。

ここでのエラーは何ですか?

最初の一行で(あとは黙っておこう)......。Bidが注文のStopLossより下にある場合...
そして、その注文はBidの下に設定され、そのStopLossもBidの下に設定されています。1行目のコードですぐに削除されます。
 
こんにちは、なかなかヌケのいい質問...だと思います。スクリーンショットでは、標準(MT4ネイティブツール)の FiboレベルやFiboエクステンションをよく見ますが、Fibo番号の後にレベルがある価格があります...私の質問は:それを有効にするにはどうすればよいですか?
 
Vinin:

を参考にしました。



こんにちは、助けてください...ここに指標があります。新規セグメントを描画する際に、サウンド信号を付加することはできますか? ZigzagFr_v1.mq4(4.4 Kb)表示
 
こんにちは!何かわからないことがあるんです。私のEAにトレーリングストップを取り付けることにしましたが、エラー130が表示され続けています。私は何も理解できないし、昨日も理解できなかった。
  } }
   
   
  //+------------------------------------------------------
  double JUN;int tiktik;
   for ( i=0; i<OrdersTotal(); i++) {   OrderSelect(i,SELECT_BY_POS );if(( OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol())) { 
      if( OrderType( )!=OP_BUY ) continue;
     if (price-OrderOpenPrice( )>30*Point) {JUN= price-OrderOpenPrice( );tiktik=OrderTicket();} }} 
     
     Alert("Позиция с тикетом #",tiktik," имеет JUN, ",JUN);Alert("JUN",JUN,"JUNpomnim",JUNpomnim);
    if (JUN>0){if (JUN>JUNpomnim){Alert("JUN",JUN,"JUNpomnim+++++++++++++++++++++++++",JUNpomnim);
      OrderModify(tiktik,OrderOpenPrice(),price-15*Point,OrderTakeProfit(),0,0);     JUNpomnim=JUN;
      Alert("OrderModify-BAY", GetLastError()); }}
      
      
      
  double BAN;int tiktAk;
   for ( i=0; i<OrdersTotal(); i++) {   OrderSelect(i,SELECT_BY_POS );if(( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol())) { 
      if( OrderType( )!=OP_SELL ) continue;
     if (OrderOpenPrice( )-price>30*Point) {BAN= OrderOpenPrice( )-price;tiktAk=OrderTicket();} }} 
     
     Alert("Позиция с тикетом #",tiktAk," имеет BAN, ",BAN);Alert("BAN",BAN,"BANpomnim",BANpomnim);
    if (BAN>0){ if (BAN>BANpomnim){Alert("BAN",BAN,"BANpomnim++++++++++++++++++++++++++++",BANpomnim);
      OrderModify(tiktAk,OrderOpenPrice(),price+15*Point,OrderTakeProfit(),0,0);  BANpomnim=BAN;
       Alert("OrderModify-SELL", GetLastError()); }}
    

  
   return(0);
  }
//+------------------------------------------------------

修正した行に間違いがありますので、ご覧ください。つまり、Baiの場合はストップロスが15pips高く設定され、Sellの場合はその逆となります。

一般的にトレーリングストップは、買いストップと売りストップを開いた後、価格が30ピップ高く(または売りの場合は低く)動いたときに下がり始め、ストップがオープンより下にないことに注意します。つまり、論理的な間違いはないと思います。

ティック ごとに価格を計算すると、次のようになります。

int X,Y; double price=NormalizeDouble((Ask+Bid)/2,4); 

他に何を書けばいいのでしょうか。 一般的には、まあ、すべて正しいのだろうと思っていました。

無計画にコード断片を書き、よく考えずに書いたものの、とにかく下書きをした。

 
Dimka-novitsek:
こんにちは、わからないことがあります。私のEAにトレーリングストップを取り付けることにしましたが、エラー130が表示され続けています。何も理解できない、昨日もできなかった。

修正した行に間違いがありますので、ご覧ください。つまり、Baiの場合はストップロスが15pips高く設定され、Sellの場合はその逆となります。

一般的にトレーリングストップは、買いストップと売りストップを開いた後、価格が30ピップ高く(または売りの場合は低く)動いたときに下がり始め、ストップがオープンより下にないことに注意します。つまり、論理的な間違いはないと思います。

ティックごとに価格を計算すると、次のようになります。

主に、入力値が正しいかどうかを確認します。

無計画に、何も考えずに書いた部分もありますが、それでも正しいです。

このような状況では、何も提案することはできません。

まあ、手始めにね。

1) 1行に2-3個の演算子を書かないでください、すべてが混ざり合って読みづらくなります

2)JUNpomnim変数。どこに初期値が「与えられて」いるのか?すべてのオープンオーダーで同じなのでしょうか?

簡単な例では、2つの注文があったとして、最初の注文のSLを動かして、この変数を変更すればいいだけです。JUN=JUNpomnimなので、2つ目は移動しません。

3) OrderModify()を使用する場合、すべての価格を正規化する。