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

 
Elena Baranova :

친애하는 전문가 여러분, 어드바이저 코드에서 주간 시간대에 대한 RSI 값을 어떻게든 얻을 수 있는지 알려주십시오. 그러나 값이 월요일부터 시작하는 주에 대해 계산되지 않고 예를 들어 수요일( 즉, 수요일부터 다음 수요일까지의 주). iRSI의 도움으로 내가 이해한 대로 이것이 작동하지 않습니까?

지금까지는 계산을 위한 코드를 직접 작성하는 방법만 보았습니다. 더 간단하거나 기성품 솔루션이 있습니까?

W1 기간에 표시기 핸들을 생성하면 표시기 가 W1 막대에서 계산됨을 의미합니다. 하나의 막대, 그 다음에는 일주일입니다.

또한 D1 기간(일일 기간)에 표시기 핸들을 생성해야 합니다.


일반적으로 "(즉, 수요일부터 다음 수요일까지의 일주일)"이라는 문구의 의미는 전혀 명확하지 않습니다. 일주일이 시작되는 요일과 차이가 없습니다. 표시기는 막대로 계산됩니다.

 
Vladimir Karputov :

W1 기간에 표시기 핸들을 생성하면 표시기 가 W1 막대에서 계산됨을 의미합니다. 하나의 막대, 그 다음에는 일주일입니다.

또한 D1 기간(일일 기간)에 표시기 핸들을 생성해야 합니다.


일반적으로 "(즉, 수요일부터 다음 수요일까지의 일주일)"이라는 문구의 의미는 전혀 명확하지 않습니다. 일주일이 시작되는 요일과 차이가 없습니다. 표시기는 막대로 계산됩니다.

예, 나는 바에 대해 모든 것을 알고 있습니다. 그러나 모든 주간 바는 월요일에 시작합니다. 따라서 예를 들어 수요일부터 수요일까지의 주를 얻으려면 일일 막대를 기반으로 코드를 직접 작성해야 합니다.

나 역시 이 계산의 의미를 완전히 이해하지 못했는데 고객이 물었다.

 
Elena Baranova :

예, 나는 바에 대해 모든 것을 알고 있습니다. 그러나 모든 주간 바는 월요일에 시작합니다. 따라서 예를 들어 수요일부터 수요일까지의 주를 얻으려면 일일 막대를 기반으로 코드를 직접 작성해야 합니다.

나 역시 이 계산의 의미를 완전히 이해하지 못했는데 고객이 물었다.

그의 전문가 고문은 RSI 지표를 기반으로 거래를 시작합니다. 그리고 주간 기간 동안 새로운 주간 바가 열리는 월요일에만 거래가 열리며 이는 분명히 그에게 적합하지 않은 것으로 나타났습니다.

 
Elena Baranova :

예, 나는 바에 대해 모든 것을 알고 있습니다. 그러나 모든 주간 바는 월요일에 시작합니다. 따라서 예를 들어 수요일부터 수요일까지의 주를 얻으려면 일일 막대를 기반으로 코드를 직접 작성해야 합니다.

나 역시 이 계산의 의미를 완전히 이해하지 못했는데 고객이 물었다.

물리적 의미를 이해할 수 없습니다. 그러므로 나는 떠난다.

 

MT5에서 차트를 표시하는 문제를 해결하는 데 도움을 주세요. 그래프는 지속적으로 업데이트되고 왼쪽으로 드래그됩니다. 그리고 이것은 모든 악기에 해당됩니다.

그런 다음 최대 기록으로 계속 이동합니다. 일반적으로 그는 일반적으로 지난 주 정보를 표시할 수 없습니다. 마지막 날의 촛불은 끊임없이 사라지고 깜박이며 왼쪽으로 움직입니다. 어떻게 고치는 지?

 
Александр :

MT5에서 차트를 표시하는 문제를 해결하는 데 도움을 주세요. 그래프는 지속적으로 업데이트되고 왼쪽으로 드래그됩니다. 그리고 이것은 모든 악기에 해당됩니다.

그런 다음 최대 기록으로 계속 이동합니다. 일반적으로 그는 일반적으로 지난 주 정보를 표시할 수 없습니다. 마지막 날의 촛불은 끊임없이 사라지고 깜박이며 왼쪽으로 움직입니다. 어떻게 고치는 지?

바로 타임머신입니다 :)

일부 스크립트/고문/지표가 실행 중일 수 있습니다. 차트를 이동할 수 있습니다.

 
Александр :

MT5에서 차트를 표시하는 문제를 해결하는 데 도움을 주세요. 그래프는 지속적으로 업데이트되고 왼쪽으로 드래그됩니다. 그리고 이것은 모든 악기에 해당됩니다.

그런 다음 최대 기록으로 계속 이동합니다. 일반적으로 그는 지난 주에 대한 정보를 정상적으로 표시할 수 없습니다. 마지막 날의 촛불은 끊임없이 사라지고 깜박이며 왼쪽으로 움직입니다. 어떻게 고치는 지?

실행 중인 표시기와 어드바이저를 삭제합니다. 키보드에서 고양이를 제거합니다. 키보드에 엎질러진 커피를 치우세요.

 
Vladimir Karputov :

실행 중인 표시기와 어드바이저를 삭제합니다. 키보드에서 고양이를 제거합니다. 키보드에 엎질러진 커피를 청소합니다.

조언 해주셔서 감사합니다. 문제가 해결되었습니다. ping이 큰 서버를 선택하기만 하면 됩니다.

 

파란색 영역이 음영 처리되지 않은 이유를 설명해 주시겠습니까? 그리고 그것을 고치는 방법?
하나의 지표에 두 개의 히스토그램을 표시할 수 있습니까?

 #property indicator_chart_window                    
#property indicator_buffers    8                     
#property indicator_plots      8                     

#property indicator_color1      clrRed                 
#property indicator_style1      STYLE_SOLID           
#property indicator_color2      clrRed                
#property indicator_style2      STYLE_SOLID           
#property indicator_color3      clrRed                
#property indicator_style3      STYLE_DOT             

#property indicator_color5      clrDodgerBlue         
#property indicator_style5      STYLE_SOLID           
#property indicator_color6      clrDodgerBlue         
#property indicator_style6      STYLE_SOLID           
#property indicator_color7      clrDodgerBlue         
#property indicator_style7      STYLE_DOT             

double
   Line_High_Up[], Line_High_Dn[], Hist_High_Up[], Hist_High_Dn[],
   Line_Low_Up[],  Line_Low_Dn[],  Hist_Low_Up[],  Hist_Low_Dn[];
   

void OnInit () 
   { 
   SetIndexBuffer      ( 0 , Line_High_Up,       INDICATOR_DATA ); 
   PlotIndexSetInteger ( 0 , PLOT_DRAW_TYPE ,     DRAW_LINE );      
   SetIndexBuffer      ( 1 , Line_High_Dn,       INDICATOR_DATA ); 
   PlotIndexSetInteger ( 1 , PLOT_DRAW_TYPE ,     DRAW_LINE );      
   SetIndexBuffer      ( 2 , Hist_High_Up,       INDICATOR_DATA ); 
   PlotIndexSetInteger ( 2 , PLOT_DRAW_TYPE ,     DRAW_HISTOGRAM2 );
   SetIndexBuffer      ( 3 , Hist_High_Dn,       INDICATOR_DATA );

   SetIndexBuffer      ( 4 , Line_Low_Up,       INDICATOR_DATA );
   PlotIndexSetInteger ( 4 , PLOT_DRAW_TYPE ,     DRAW_LINE );     
   SetIndexBuffer      ( 5 , Line_Low_Dn,       INDICATOR_DATA );
   PlotIndexSetInteger ( 5 , PLOT_DRAW_TYPE ,     DRAW_LINE );     
   SetIndexBuffer      ( 6 , Hist_Low_Up,       INDICATOR_DATA );
   PlotIndexSetInteger ( 6 , PLOT_DRAW_TYPE ,     DRAW_HISTOGRAM2 );
   SetIndexBuffer      ( 7 , Hist_Low_Dn,       INDICATOR_DATA );
   }


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 i;
   for (i=prev_calculated; i<=rates_total- 1 ; i++)      
      {
      Line_High_Dn[i] = Hist_High_Dn[i] = high[i];
      Line_High_Up[i] = Hist_High_Up[i] = Line_High_Dn[i] + 20 * _Point ;

      Line_Low_Up[i]  = Hist_Low_Up[i]  = low[i];
      Line_Low_Dn[i]  = Hist_Low_Dn[i]  = Line_Low_Up[i] - 20 * _Point ;
      }
   return (i- 1 );
   }           
 
User_mt5 :

파란색 영역이 음영 처리되지 않은 이유를 설명해 주시겠습니까? 그리고 그것을 고치는 방법?
하나의 지표에 두 개의 히스토그램을 표시할 수 있습니까?

두 히스토그램의 두께가 '3'으로 설정된 경우

 //+------------------------------------------------------------------+
//|                                                            2.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots    2
//--- plot Hist_High
#property indicator_label1    "Hist_High"
#property indicator_type1    DRAW_HISTOGRAM2
#property indicator_color1    clrRed
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- plot Hist_Low
#property indicator_label2    "Hist_Low"
#property indicator_type2    DRAW_HISTOGRAM2
#property indicator_color2    clrBlue
#property indicator_style2    STYLE_SOLID
#property indicator_width2    1
//--- input parameters
input int       Input1= 9 ;
//--- indicator buffers
double          Hist_HighBuffer1[];
double          Hist_HighBuffer2[];
double          Hist_LowBuffer1[];
double          Hist_LowBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,Hist_HighBuffer1, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,Hist_HighBuffer2, INDICATOR_DATA );
   SetIndexBuffer ( 2 ,Hist_LowBuffer1, INDICATOR_DATA );
   SetIndexBuffer ( 3 ,Hist_LowBuffer2, INDICATOR_DATA );
//---
   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 limit=prev_calculated- 1 ;
   if (prev_calculated== 0 )
      limit= 0 ;
   for ( int i=limit; i<rates_total; i++)
     {
      Hist_HighBuffer1[i]=high[i]+ 20.0 * Point ();
      Hist_HighBuffer2[i]=high[i];
      Hist_LowBuffer1[i]=low[i];
      Hist_LowBuffer2[i]=low[i]- 20.0 * Point ();
     }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+



파일:
2.mq5  3 kb
사유: