どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 139

 
nikelodeon:

最適化期間中に、収益性のないEAの設定が表示されるのはなぜか、誰か説明してください。これはどういうことかというと......。

取引回数が少ない、最大8回。もっと歴史を走らせる。
 
Forexman77:
ストラテジーテスターでヒストリー上の絶対最大値、絶対最小値を求める方法を教えてください。
最大値と最小値は?
 
paladin80:
最大値と最小値は?

EURUSDの履歴では、その日の最高値と最低 値を表示します。その結成時期。
 
Forexman77:

EURUSDの履歴の最大値と最小値を表示します。その結成時期。
iHighestと iLowestを 読む
 
paladin80:
iHighestと iLowestを 読む

iHighestと iLowestで 探すのは問題ない。これをテスターに焼き付け、特定の履歴の形成時間に関する情報を提供する方法。
 
Forexman77:

iHighestと iLowestで 探すのは問題ない。これをテスターに焼き付けて、特定の履歴の形成時期に関する情報を得られるようにするには、どうすればよいでしょうか。

こんな風に試してみてはいかがでしょうか。

 for (int i=0; i<iBars(Symbol(),PERIOD_D1); i++) {
  double HistoryMaximum=iHigh(Symbol(),PERIOD_D1,i);
  double HistoryMinimum=iLow(Symbol(),PERIOD_D1,i);
  Print("Дата ",TimeToStr(iTime(Symbol(),PERIOD_D1,i),TIME_DATE)," Максимум=",DoubleToStr(HistoryMaximum,Digits)," Минимум=",DoubleToStr(HistoryMinimum,Digits));
 }

 
Forexman77:

iHighestと iLowestで 探すのは問題ない。これをテスターに焼き付けて、特定の履歴の形成時期に関する情報を得られるようにするには、どうすればよいでしょうか。

double High_price=-1.0;
double Low_price=10000000000.0;
double Time_high_price, Time_low_price;
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
int start()
  {
//----
   if (iHigh(NULL,PERIOD_M1,0)>High_price)
   {
     High_price=iHigh(NULL,PERIOD_M1,0);
     Time_high_price=iTime(NULL,PERIOD_M1,0);
   }
   
   if (iLow(NULL,PERIOD_M1,0)<Low_price)
   {
     Low_price=iLow(NULL,PERIOD_M1,0);
     Time_low_price=iTime(NULL,PERIOD_M1,0);
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
int deinit()
  {
//----
   Print("Highest price = ",DoubleToStr(High_price,Digits)," on ",TimeToStr(Time_high_price,TIME_DATE|TIME_SECONDS));
   Print("Lowest price = ",DoubleToStr(Low_price,Digits)," on ",TimeToStr(Time_low_price,TIME_DATE|TIME_SECONDS));
//----
   return(0);
  }
 
Sepulca:

こんな風に試してみてはいかがでしょうか。


最小時間と最大時間を別々に出力させたいのですが。というか、問題ないです。ログブックには時間ごとに数行の行があります。

何が問題なのでしょうか?値ごとに1行出力する方法。理想は、エクセルにコピーして比較できるような数字での時間が必要です。

に匹敵する。


 
MetaTrader 4のシグナルを設定する方法についての記事のリンクを送ってください。
 

繰り返しになりますが、私の保留中の注文を削除 する機能は、すべてを削除するわけではありません。しかも、テスター内のすべてを削除するわけではありません。何が問題なのかを理解するのを助けてください。

void DeletePendingOrders()
{
    int numberOfTry = 0,
        err,
        ticket;

   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderType() > 1 && OrderType() < 6)
      {
         ticket = OrderTicket();
         numberOfTry = 0;
      
         while (numberOfTry < 3)
         {
            while (!IsTradeAllowed()) Sleep(5000);
                err = 0;

           if (OrderDelete(ticket, Red))
            {
                numberOfTry = 3;
            }
            else
            {
                err = GetLastError();
                Print("err = ", err);
            }
      
            if (err > 0)
            { 
              Print(numberOfTry," #",ticket," Error modifing order: (", err , ") ");
              Sleep(5000); RefreshRates(); numberOfTry++;
            }
         }
      }
   }
}