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

 
なぜROCインジケータは実際には "0 "以下の値をとらないのに、グラフ上ではとるのですか?
 
vilard:
なぜROCインジケータは実際には "0 "以下の値をとらないのに、グラフ上ではとるのですか?

どのROC?これか?
 
Roman.:

どのROC?これか

https://www.mql5.com/ru/code/9340
 

皆さん、こんにちは。みんな、私は最大値を求める 条件を持っています しかし、通路の中で。

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] &)&& Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

うまくいきませんね。
if I remove corridor All ok:

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

何が問題でしょう?

max<1000を増やすべきというのは理解できました、試してみましたがうまくいきませんでした。

以下は数字での例です。

1.4100<1.4150<1.4200だが、1.4150は下落せざるを得ない。

low_level_s(1.4145), high_level_s(1.4155) 以内 .この例では、そうなっています。

しかし、そうでない場合は、1.4160と仮定して、見続けることにしましょう。問題は、この高値が例えば3年前のものである場合、プログラムがそれを見つけることができないことです。

どうすればいいのか?もしかしたら、見積もりアーカイブを取得することは可能なのでしょうか?

 
vilard:

https://www.mql5.com/ru/code/9340

私のリンクを見てください - それは、価格レートインジケータとそれに基づいたEA(iCustom()インジケータは負ける)の説明と基本的なバリアントです。あなたが市場参入のための他の取引条件を持っている場合は、既存のものを編集し、先に行く、すべてがうまくテスト、今自分は、ちょうどthechanalysis(市場参入フィルタ)のバリエーションとしてそれをテストし終えた、さらにそこに説明と他のすべてである...。自分の条件に合うように編集して、それで終わりです。Expert Advisorはこちら です。
 
Roman.:

私のリンクを見てください - それは、価格レートインジケータとそれをベースとしたEA(iCustom()インジケータはそれ自身を貸す)の説明と基本的なバリアントです。マーケットエントリーのための他の取引条件がある場合は、既存のものを編集して先に進み、すべてがうまくテストされている、今自分は、ちょうどtehanalysis(マーケットエントリーフィルター)のバリエーションとしてそれをテストし終わった、さらに、説明や他のすべてがある...。自分の条件に合うように編集して、それで終わりです。Expert Advisorはこちら です。

感謝
 

ふーーーーーーーーーーーーーーーーーーーーーーーーーコンピュータがダウンした!!!反応が遅れたり、間違ったウィンドウが表示されたり、削除できなかったり、フリーズしたり...。 20回ほど再起動し、コンセントも抜いた。

ありがとうございます。

ウイルスかもしれない。

そこにあるユーザーフォルダは4万5千メガバイトもある、なんてこった! そして、それが含むフォルダの合計、フォルダのプロパティをクリックしてチェックしても、30分の1も出てこないのである。

削除されてない!!! ゆっくりしているだけで、悪口は言わない。

何もアップロードされず、何も削除されず、写真を削除するのに苦労し、そして忍者ムービー、スペースは取るに足らないようなエッジ、赤の1ミリメートルを追加しました。

 
このEAにTrailing Stopを付けました。と0でコンパイルしますが、テスターでは
Trailinstopは機能しません。どうすれば正しく入力できるのか、アドバイスをお願いします。

Trailingstop コード。

extern double  lots    = 1,

               No_Loss              = 7,     //перевод в безубыток
               TrailingStop         = 12;     //тралл  

extern string P_Performanc0= "-- 1 --";

extern int TP1BUY   = 222,  
           SL1BUY   = 99999;   

extern string P_Performanc1= "-- 2 --";  

extern int TP2SELL  = 222,
           SL2SELL  = 99999;
           
extern string P_Performanc2= "-- 3 --";         
           
extern int TP3BUY   = 222,         
           SL3BUY   = 99999;

extern string P_Performanc3= "-- 4 --";   
           
extern int TP4SELL  = 222,
           SL4SELL  = 99999;          

extern string P_Performanc4= "-- 5 --";        
           
extern int TP5BUY   = 222,
           SL5BUY   = 99999;
           
extern string P_Performanc5= "-- 6 --";              
           
extern int TP6SELL  = 222,        
           SL6SELL  = 99999;
           
extern string P_Performanc6= "-- 7 --";              
           
extern int TP7BUY   = 222,
           SL7BUY   = 99999; 
           
extern string P_Performanc7= "-- 8 --";              
           
extern int TP8SELL  = 222,
           SL8SELL  = 99999;                   

           
int        last_bar = 0;

int start()
{
   if (TrailingStop!=0) TrailingStop(0,TrailingStop);
   if (No_Loss!=0)      TrailingStop(1,No_Loss);
   string Name;
   //-----------------------------------------------------------------------   
double StopLevel =MarketInfo(Symbol(),MODE_STOPLEVEL);  // текущий уровень стопов  
   if (last_bar == Bars) return(0);
   last_bar = Bars;
   if (OrdersTotal() == 0)
   {
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL1BUY*Point,Ask+TP1BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL3BUY*Point,Ask+TP3BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL5BUY*Point,Ask+TP5BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL7BUY*Point,Ask+TP7BUY*Point);

OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL2SELL*Point,Bid-TP2SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL4SELL*Point,Bid-TP4SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL6SELL*Point,Bid-TP6SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL8SELL*Point,Bid-TP8SELL*Point);
   } 
   return(0);
}
void TrailingStop(int NL, int tral)
{
   int tip,Ticket;
   bool error;
   double StLo,OSL,OOP;
   for (int i=0; i<OrdersTotal(); i++) 
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  tip = OrderType();
         if (tip<8 && OrderSymbol()==Symbol())
         {
            OSL   = OrderStopLoss();
            OOP   = OrderOpenPrice();
            Ticket = OrderTicket();
            if (tip==OP_BUY)             
            {
               if (NL==1 && OSL>OOP) continue;
               StLo = NormalizeDouble(Bid - tral*Point,Digits); 
               if (StLo > OSL && StLo > OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            }                                         
            if (tip==OP_SELL)        
            {
               if (NL==1 && (OSL<OOP&&OSL!=0)) continue;
               StLo = NormalizeDouble(Ask + tral*Point,Digits);
               if ((StLo < OSL||OSL==0) && StLo < OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            } 
         }
      }
   }
}
//--------------------------------------------------------------------
 
チャートの異なるサブウィンドウに同じインジケータの異なるラインを表示することが可能かどうか教えてください。ありがとうございます。
 
インジケータを2つのウィンドウで開き、不要な線を背景色に 設定します。