MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 788

 
Igor Zakharov :

예, 어떻게 알 수 있습니까? 질문한 사람이 정확히 iLow()를 사용했기 때문에 필요합니다. 더 쉽게 인지할 수도 있고, 입력 변수를 통해 다른 심볼이나 타임프레임에 접근할 계획일 수도 있습니다( 4개에 복사율이 있는지 기억나지 않습니까?)

있다.

 
psyman :

여기에 코드를 게시하지 않았지만 구문 분석을 단순화하기 위해 가장 간단한 코드를 작성했습니다.

무엇이 잘못되었는지 자세히 알려주십시오. 최대 속도는 불분명합니다.

블라디미르 카르푸토프 :

코드는 끔찍하게 버그입니다. 각 틱마다 모든 막대에서 패스가 만들어지기 때문입니다.


4개에는 IndicatorCounted() 가 있었고 상위 5개에는 어떤 가능성이 있는지 모르겠으며 이에 대해 제대로 읽을 수 있는 곳도 없습니다.

이것이 효과가 있습니까, 아니면 단순화할 수 있습니까?

int OnCalculate(....)
{
   int i, Counted_bars;
   
      Counted_bars= IndicatorCounted (); // Количество просчитанных баров 
      i= Bars -Counted_bars- 1 ;           // Индекс первого непосчитанного

       while (i>= 0 )                       // Цикл по непосчитанным барам
      { 
        .....
        
       i--;                          
      }
}

int IndicatorCounted()
  {
   if(prev_calculated>0) return(prev_calculated-1);
   if(prev_calculated==0) return(0);
   return(0);
  }
 
psyman :


4중주에 IndicatorCounted() 가 있었는데 5중주 에 어떤 가능성이 있는지 모르겠고 제대로 읽을 수 있는 곳도 없습니다.

이것이 효과가 있습니까, 아니면 단순화할 수 있습니까?

도움말, 포럼, 기사 - "읽을 곳이 없습니까?" 욕망이 있었을 것입니다. 일반적으로 주제에서 이전 터미널에 대해 작성하고 MQL5에 대해 질문합니다. 불일치.

모든 것이 주제에서 벗어났습니다.

 
psyman :


4중주에 IndicatorCounted() 가 있었는데 5중주 에 어떤 가능성이 있는지 모르겠고 제대로 읽을 수 있는 곳도 없습니다.

이것이 효과가 있습니까, 아니면 단순화할 수 있습니까?

이제 mql4와 mql5에서 표시기의 주요 기능에는 필요한 모든 것이 있습니다.

 int OnCalculate ( const int rates_total,       // размер входных таймсерий
                 const int prev_calculated,   // обработано баров на предыдущем вызове
                 const datetime & time[],     // Time
                 const double & open[],       // Open
                 const double & high[],       // High
                 const double & low[],         // Low
                 const double & close[],       // Close
                 const long & tick_volume[],   // Tick Volume
                 const long & volume[],       // Real Volume
                 const int & spread[]         // Spread
   );

prev_calculated는 계산된 막대의 수입니다.

 

안녕하세요.

60초 동안 가격이 30포인트 변경되면 막대를 표시하겠습니다.

 for ( int i=limit; i>= 0 ; i--)
     {
       datetime t_= TimeCurrent ();
       if (t_>t_b+ 60 )
        {
         t_b = TimeCurrent ();
         pr_b=close[ 0 ];
        }
       if ( MathAbs (close[ 0 ]-pr_b)>= 30 * Point && t_<t_b+ 60 )
        {
         BufferUP[i]=low[i]- 10 * Point ;
        }

     }

뭐가 문제 야?

 
lil_lil :

안녕하세요.

60초 동안 가격이 30포인트 변경되면 막대를 표시하겠습니다.

뭐가 문제 야?

왜 그런 겁니까

 int limit=rates_total-prev_calculated - 1 ;

별로?

 int limit=rates_total-prev_calculated;

제한 설정은 어디에 있습니까?

   if (limit> 1 )
     {
       ArrayInitialize (BufferUP, EMPTY_VALUE );
       ArrayInitialize (BufferDN, EMPTY_VALUE );
     }
   if (limit> 1 )
     {
       limit=rates_total- 1 ;
       ArrayInitialize (BufferUP, EMPTY_VALUE );
       ArrayInitialize (BufferDN, EMPTY_VALUE );
     }

더 이상 보지 않았다

 
Artyom Trishkin :

왜 그런 겁니까

별로?

제한 설정은 어디에 있습니까?

더 이상 보지 않았다

감사하지만 그것도 작동하지 않습니다. 더 봐주세요.

 
lil_lil :

감사하지만 그것도 작동하지 않습니다. 더 봐주세요.

이게 뭐야?

 datetime t_= TimeCurrent ();

한 사이클에 몇 시쯤 걸리나요? TimeCurrent() 란 무엇입니까?

 
안녕하세요!
EA에는 링크에서 텍스트를 가져오는 기능이 있습니다.... 이 라이브러리에서 얻을 수 있습니다.
https://github.com/sergeylukin/mql4-http
모든 것이 정상이며 그녀에게 질문이 없습니다!
문제는 다음과 같습니다.
이 링크에서 텍스트는 체계적으로 업데이트 되지만, 차트에서 올빼미를 빼서 다시 넣어도 단말은 이를 인지하지 못합니다! 터미널을 닫고 여는 것만 으로도 도움이 됩니다! 누구든지 이것이 어떻게 고칠 수 있는지 알고 있습니까?
 
lil_lil :

안녕하세요.

60초 동안 가격이 30포인트 변경되면 막대를 표시하겠습니다.

뭐가 문제 야?

나는 최근에 프리랜서에서 비슷한 작업을 하는 주문을 발견했습니다. 이것이 당신이 하는 명령이 아닙니까?