МQL5에서 Open,Low,High,Close 매개변수를 얻는 방법은 무엇입니까? - 페이지 10

 
//+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| 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 datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   int q = rates_total;
   static datetime w = 0 ;
   
   if (w != time[q- 1 ])
    { 
     w = time[q- 1 ];
     Print ( "-------------------------------------------------------------------------------" );
     Print ( "  time[q-1]  " ,time[q- 1 ], "  time[q-2]  " ,time[q- 2 ], "  time[q-3]  " ,time[q- 3 ], "  time[q-4]  " ,time[q- 4 ], "  time[q-5]  " ,time[q- 5 ]);
     Print ( "  open[q-1]  " ,open[q- 1 ], "  open[q-2]  " ,open[q- 2 ], "  open[q-3]  " ,open[q- 3 ], "  open[q-4]  " ,open[q- 4 ], "  open[q-5]  " ,open[q- 5 ]);
     Print ( "  high[q-1]  " ,high[q- 1 ], "  high[q-2]  " ,high[q- 2 ], "  high[q-3]  " ,high[q- 3 ], "  high[q-4]  " ,high[q- 4 ], "  high[q-5]  " ,high[q- 5 ]);
     Print ( "  low[q-1]  " ,low[q- 1 ], "  low[q-2]  " ,low[q- 2 ], "  low[q-3]  " ,low[q- 3 ], "  low[q-4]  " ,low[q- 4 ], "  low[q-5]  " ,low[q- 5 ]);
     Print ( "  close[q-1]  " ,close[q- 1 ], "  close[q-2]  " ,close[q- 2 ], "  close[q-3]  " ,close[q- 3 ], "  close[q-4]  " ,close[q- 4 ], "  close[q-5]  " ,close[q- 5 ]);
    }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+

인덱스가 [rate_total - 1]인 막대가 왜 시가, 종가, 고가, 저가 모두 항상 같은지 궁금합니다. open[rates_total - 1] 인덱스가 시계열의 인덱스 1에 해당하지 않습니까? 즉, MT4의 Open[1], Close[1],...와 같습니다.

하지만 [rates_total - 1] 인덱스가 시계열의 인덱스 0에 해당할 수 있습니까? 그러면 [rates_total - 1]이 현재 막대이고 아직 형성되지 않았기 때문에 OCHL 매개변수가 동일하다는 의미입니까?

 
Реter Konow :

인덱스가 [rate_total - 1]인 막대가 왜 시가, 종가, 고가, 저가 모두 항상 같은지 궁금합니다. open[rates_total - 1] 인덱스가 시계열의 인덱스 1에 해당하지 않습니까? 즉, MT4의 Open[1], Close[1],...와 같습니다.

하지만 [rates_total - 1] 인덱스가 시계열의 인덱스 0에 해당할 수 있습니까? 그러면 [rates_total - 1]이 현재 막대이고 아직 형성되지 않았기 때문에 OCHL 매개변수가 동일하다는 의미입니까?

기본적으로 이것은 MQL5 표시기의 인덱싱입니다(예: 인덱스 "0" 및 "rate_total-1").

 /*
   time[0]              -> D'2018.01.02 00:00:00'
   time[rates_total-1]  -> D'2018.12.31 22:00:00'
*/

보시다시피 차트의 가장 오른쪽 막대에는 "rates_total-1" 인덱스가 있습니다. 그러나 인덱스 "0"은 차트의 가장 왼쪽 막대에 해당합니다.

 
Vladimir Karputov :

기본적으로 이것은 MQL5 표시기의 인덱싱입니다(예: 인덱스 "0" 및 "rate_total-1").

보시다시피 차트의 가장 오른쪽 막대에는 "rates_total-1" 인덱스가 있습니다. 그러나 인덱스 "0"은 차트의 가장 왼쪽 막대에 해당합니다.

가장 오른쪽 - 즉, 현재? 형성되지 않은 것은?

일반적으로 내가 이해하는 바와 같이 Rates_total-1은 현재 막대를 나타내고 형성되지 않았기 때문에 타이머의 OHCL 매개변수는 동일합니다.

 
Реter Konow :
가장 오른쪽, - 즉, 현재? 형성되지 않은 것은?

차트를 보십시오. 차트의 가장 오른쪽 막대는 현재 막대이며 현재 형성 중인 막대입니다(즉, 모든 가격과 거래량이 언제든지 변경될 수 있음).

 
Vladimir Karputov :

차트를 보십시오. 차트의 가장 오른쪽 막대는 현재 막대이며 현재 형성 중인 막대입니다(즉, 모든 가격과 거래량이 언제든지 변경될 수 있음).

네, 이해합니다. 인덱스 1을 얻기 전에 시계열의 모든 값이 동일하다는 것을 몰랐습니다. 즉, 현재 상태가 중단됩니다.
 
Реter Konow :
네, 이해합니다. 나는 그가 시계열에서 인덱스 1을 얻기 전에 그의 모든 값이 같다는 것에 놀랐습니다. 즉, 현재 상태가 중단됩니다.

다른 인덱스는 무엇입니까? MQL5 지표의 차트에서 가장 오른쪽 막대에는 "rates_total-1" 인덱스가 있습니다.

 
Vladimir Karputov :

다른 인덱스는 무엇입니까? MQL5 지표의 차트에서 가장 오른쪽 막대에는 "rates_total-1" 인덱스가 있습니다.

당신은 내가 말하는 것을 이해하지 못합니다. rate_total-1 이것은 현재 막대입니다. 나도 알아 하지만. 그의 시계열에서 OCHL 값은 동일합니다. 내가 게시 한 코드를 확인하십시오. 그건 내가 몰랐어.
 
Реter Konow :
당신은 내가 말하는 것을 이해하지 못합니다. rate_total-1 이것은 현재 막대입니다. 나도 알아 하지만. 그의 시계열에서 OCHL 값은 동일합니다. 내가 게시 한 코드를 확인하십시오. 그건 내가 몰랐어요.
귀하의 코드는 막대가 열리는 순간에만 값을 취합니다
 
Реter Konow :
당신은 내가 말하는 것을 이해하지 못합니다. rate_total-1 이것은 현재 막대입니다. 나도 알아 하지만. 그의 시계열에서 OCHL 값은 동일합니다. 내가 게시 한 코드를 확인하십시오. 그건 내가 몰랐어요.

현재 막대(차트에서 가장 오른쪽)의 경우 OHLC 가격은 막대가 생성될 때 동일합니다. 이것이 기본입니다. 막대가 방금 생성되었으며 모든 가격이 동일합니다. 현재 막대(차트의 맨 오른쪽 막대)에 새 눈금이 도착하면 가격이 변경되기 시작합니다.


이것이 분명하기를 바랍니다. 출생의 순간과 바, 그의 OHLC는 동일합니다.

 
Andrey Barinov :
귀하의 코드는 막대가 열리는 순간에만 값을 취합니다

Ay, 서둘러, 남자 자신이 그것을 알아 냈어야했습니다 ...