[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 139

 

以下、指標とテンプレートです。 誰かのお役に立てれば幸いです。

http://depositfiles.com/folders/8KVJ9L02I

 

SOS!? Expert Advisorに解説をお願いします。

VolumeHistインジケータの値(垂直方向のボリューム)、すなわちチャート上でそれらを決定すること。

それとも数えるだけ?(計算する場合は、~予算価格を分析し、この指標の値を計算するブロックが必要)。

例えば、Expert Advisorが考えて、結果がBUY.LONGになった場合

いくつかの極端なものを見つけて、ベストなものを選ぶ必要がありますね。

このインジケーターを使った自動化システムの経験があれば、plz share!


 

こんにちは。

可能かどうか、一見しただけでは考えられません。

関数がある - 条件を満たすとtrueを返す
例:C[0]>C[1]+n*Point(まさにC[0]、だからこその質問)。

この関数で、条件が一度でも実行されるように指定するにはどうしたらよいでしょうか。

の条件では、trueを指定すると、ある時間(X)が返されます。

ありがとうございます。

 
Telemah >> :

こんにちは。

これが可能かどうか、一見しただけではわからないのですが......。

条件を満たしたときに真を返す関数があります。
例:C[0]>C[1]+n*Point(まさにC[0]、だからこその質問)。

この関数で、条件が一度でも実行されるように指定するにはどうしたらよいでしょうか。

を1回だけ実行すると、ある時間(X)にtrueが返されます。

ありがとうございます。


無理でしょう。MQL4はOOPではありません。したがって、この関数は1つの値しか返すことができません。

しかし、いくつかの回避策があります。


1.関数に配列を参照渡し、関数実行中に必要な値を格納し、後で読み出すようにします。

2. 静的変数を宣言し、関数実行中に値を入力し、実行後に読み出す。

 
Reshetov >> :

できません。MQL4はOOPではありません。したがって、この関数は1つの値しか返さないかもしれません。

しかし、いくつかの回避策があります。


1.関数に参照配列を渡し、関数実行中に必要な値を配列に格納し、後で読み出すことができるようにする。

静的変数を宣言し、関数実行時に値を入力し、実行後に読み出す。

ご返信ありがとうございました。

 
紳士は、問題が何であるかを助言し、それは、各新たに現れた保留中の前のものを削除することが必要である、それは右のようだが、それはそれが買うために保留中がある場合、それは(およびその逆)、および購入すると購入する新しいがあるように動作しない(同じ方向にすなわち)チェ(販売プラス販売と同じこと)を動作させません。わからないことがあるのですが、どうしたのでしょうか?
bool SELLSTOP; bool BUYSTOP;
  if(...... && BUYSTOP == false)
     {
     int BuyTicketStop = OrderSend(Symbol(),OP_BUYSTOP, Lots, SB,4, SB - StopLoss*Point, SB + TakeProfit*Point,"Покупаем",658932,0,Green);
        if ( BuyTicketStop > 0)
        {
        BUYSTOP = true;
        PlaySound("recharge.wav");
        }
        else 
        {
        Print("Ошибка: ", Error(GetLastError()));
        PlaySound("timeout.wav");
        }
      }  

  if(....... && SELLSTOP == false)
     {
     int SellTicketStop = OrderSend(Symbol(),OP_SELLSTOP, Lots, SS,4, SS + StopLoss*Point, SS - TakeProfit*Point,"Продаем",658932,0,Red);
        if ( SellTicketStop > 0)
        {
        SELLSTOP = true;
        PlaySound("recharge.wav");
        }
        else 
        {
        Print("Ошибка: ", Error(GetLastError()));
        PlaySound("timeout.wav");
        }
     }
     
 int M;
 for( M = OrdersTotal() - 1; M >= 0; M--)
     {
     OrderSelect( M, SELECT_BY_POS, MODE_TRADES);
     
          if ( SELLSTOP == true){if(OrderType() == OP_BUYSTOP) 
          {bool ODBS = OrderDelete(OrderTicket());
          if( ODBS){ BUYSTOP = false; PlaySound("ok.wav");}
          else { BUYSTOP = true; Print("Ошибка: ", Error(GetLastError())); PlaySound("timeout.wav");}}}
          
          if ( BUYSTOP == true){if(OrderType() == OP_SELLSTOP) 
          {bool ODSS = OrderDelete(OrderTicket());            
          if( ODSS){ SELLSTOP = false; PlaySound("ok.wav");}
          else { SELLSTOP = true; Print("Ошибка: ", Error(GetLastError())); PlaySound("timeout.wav");}}}
 
 

こんにちは。専門家に質問です。

可変スプレッドで最適化しています。

最適化の際、テスターはどのように広がりを考慮するのでしょうか?

各ランで新しい電流の広がりを考慮しているのでしょうか?

それとも、OPTIMIZATIONボタンを押す前にテスターに記憶されたスプレッドを考慮して、すべての最適化実行が行われるのでしょうか?

 
Rita писал(а)>>

こんにちは。専門家に質問です。

スプレッドを可変にして最適化している。

最適化の際、テスターはどのように広がりを考慮するのでしょうか?

各ランで新しい電流の広がりを考慮しているのでしょうか?

それとも、すべての最適化実行は、OPTIMIZATIONボタンを押す前にテスターが記憶したスプレッドに基づくのでしょうか?

最後に判明したものが使われているのでしょうか?

 
Rita писал(а)>>

こんにちは。専門家に質問です。

スプレッドを可変にして最適化している。

最適化の際、テスターはどのように広がりを考慮するのでしょうか?

各ランで新しい電流の広がりを考慮しているのでしょうか?

それとも、すべての最適化実行は、OPTIMIZATIONボタンを押す前にテスターが記憶したスプレッドに基づくのでしょうか?

最後に判明したものが使われているのでしょうか?

 

ありがとうございます。でも、まだよくわからないんです。

各走行前の最終確認は?

または、最適化開始前の最後の既知のもの?