初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 910

 
Fast528:

久しぶりの最適化です。

Resultの欄の意味がわからないのですが。

10Kでのテストは


これは、「最適化」というラベルの付いた設定の反対側にある、カスタム基準か、予想されるリストからの基準です。

 
Aleksey Vyazmikin:

これは、「最適化」というラベルの付いた設定の反対側にある、カスタム基準または想定リストの基準のいずれかです。

判然としない)

利益で若干のマイナスがあり、リザルトの欄が開始時の金額より若干低い場合

 
Fast528:

判然としない)

利益が若干マイナスになり、リザルトの欄が開始時の金額より若干少なくなっているところ

 
Aleksey Vyazmikin:

ありがとうございます、明日見てみます。

 
Fast528:

ありがとうございます、明日見てみます。

喜んでお手伝いします。

 
チャート上の価格の上限と下限を、いつでも視覚的に観察できるように調べる方法をご教示ください。
 
Aleksey Vyazmikin:
チャート価格の最大値、最小値を視覚的に確認する方法を教えてください。

チャート・プライス・ミニ

チャート・プリミン

ダブルR/Oモディファイア-サブウインドウ番号

チャート・プライス・マックス

チャートマックス

ダブルR/Oモディファイア-サブウインドウ番号

 
Vladimir Karputov:

チャート・プライス・ミニ

チャート・プリミン

ダブルR/Oモディファイア-サブウインドウ番号

チャート・プライス・マックス

チャートマックス

ダブルR/Oモディファイア-サブウインドウ番号

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

これらの値は現在のチャートでしか得られないということですが、履歴の情報を得るためには、チャートを1バーずつ移動させる必要があるのでしょうか?

 
Aleksey Vyazmikin:

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

これらの値は現在のチャートでしか取得できず、履歴の情報を取得するには、チャートを1バーずつ移動させる必要があるとのことですが?

OnChartEventと CHARTEVENT_CHART_CHANGEイベント識別子を使用することができます - チャートの任意の変更。タイマーで確認できます(例:1秒に1回)。

OnChartEventとCHARTEVENT_CHART_CHANGEイベント識別子に基づいた例を示します。

//+------------------------------------------------------------------+
//|                                             CHART_PRICE_xxxx.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
//---

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   if(id==CHARTEVENT_CHART_CHANGE)
     {
      string text=(DoubleToString(ChartPriceMax(0,0),Digits())+"\n"+
                   DoubleToString(ChartPriceMin(0,0),Digits()));
      Comment(text);
     }
  }
//+----------------------------------------------------------------------+ 
//| Gets the value of chart minimum in the main window or in a subwindow | 
//+----------------------------------------------------------------------+ 
double ChartPriceMin(const long chart_ID=0,const int sub_window=0)
  {
//--- prepare the variable to get the result 
   double result=EMPTY_VALUE;
//--- reset the error value 
   ResetLastError();
//--- receive the property value 
   if(!ChartGetDouble(chart_ID,CHART_PRICE_MIN,sub_window,result))
     {
      //--- display the error message in Experts journal 
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- return the value of the chart property 
   return(result);
  }
//+----------------------------------------------------------------------+ 
//| Gets the value of chart maximum in the main window or in a subwindow | 
//+----------------------------------------------------------------------+ 
double ChartPriceMax(const long chart_ID=0,const int sub_window=0)
  {
//--- prepare the variable to get the result 
   double result=EMPTY_VALUE;
//--- reset the error value 
   ResetLastError();
//--- receive the property value 
   if(!ChartGetDouble(chart_ID,CHART_PRICE_MAX,sub_window,result))
     {
      //--- display the error message in Experts journal 
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- return the value of the chart property 
   return(result);
  }
//+------------------------------------------------------------------+
ファイル:
 
Vladimir Karputov:

OnChartEventとCHARTEVENT_CHART_CHANGEイベント識別子 - 任意のグラフ変更に基づくことができます。タイマーで確認できる(例:1秒に1回)。

OnChartEventとCHARTEVENT_CHART_CHANGEイベント識別子に基づいた例を示します。

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

理由: