초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 910

 
Fast528 :

오랫동안 아무것도 최적화하지 않았습니다

결과 열이 무엇을 의미하는지 알려주실 수 있습니까? 나는 생각할 수 없다

10,000을 사용한 테스트는


이것은 사용자 정의 기준이거나 "최적화"로 표시된 설정과 반대되는 의도된 목록의 기준일 뿐입니다.

 
Aleksey Vyazmikin :

이것은 사용자 정의 기준이거나 "최적화"로 표시된 설정과 반대되는 의도된 목록의 기준일 뿐입니다.

불명)

이익에 작은 마이너스가 있고 결과 열에 시작 금액보다 약간 낮은 곳

 
Fast528 :

불명)

이익에 작은 마이너스가 있고 결과 열에 시작 금액보다 약간 낮은 곳

 
Aleksey Vyazmikin :

감사합니다 내일 해봐야겠네요

 
Fast528 :

감사합니다 내일 해봐야겠네요

도와드리겠습니다.

 
현재 시각적으로 관찰된 차트의 상한가와 하한가 값을 찾는 방법을 알려주세요.
 
Aleksey Vyazmikin :
현재 시각적으로 관찰된 차트의 상한가와 하한가 값을 찾는 방법을 알려주세요.

CHART_PRICE_MIN

그래프 최소값

이중 r/o 수정자 - 하위 창 번호

CHART_PRICE_MAX

그래프 최대값

이중 r/o 수정자 - 하위 창 번호

 
Vladimir Karputov :

CHART_PRICE_MIN

그래프 최소값

이중 r/o 수정자 - 하위 창 번호

CHART_PRICE_MAX

그래프 최대값

이중 r/o 수정자 - 하위 창 번호

고맙습니다!

제가 알기로는 이 값들은 현재 차트에서만 얻을 수 있는데, 히스토리 정보를 얻으려면 차트를 한 막대씩 차근차근 움직여야 하지 않을까요?

 
Aleksey Vyazmikin :

고맙습니다!

제가 알기로는 이 값들은 현재 차트에서만 얻을 수 있는데, 히스토리 정보를 얻으려면 차트를 한 막대씩 차근차근 움직여야 하지 않을까요?

OnChartEvent 및 이벤트 ID CHARTEVENT_CHART_CHANGE - 모든 차트 변경을 기반으로 가능합니다. 타이머를 확인할 수 있습니다(예: 1초에 한 번).

다음은 OnChartEvent 및 이벤트 ID 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 및 이벤트 ID CHARTEVENT_CHART_CHANGE - 모든 차트 변경을 기반으로 가능합니다. 타이머를 확인할 수 있습니다(예: 1초에 한 번).

다음은 OnChartEvent 및 이벤트 ID CHARTEVENT_CHART_CHANGE를 기반으로 하는 예입니다.

고맙습니다!