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

 
Valeriy Yastremskiy :

나는 부울을 선호한다

나는 그것이 여기에 어떻게 적용될 수 있는지 잘 이해하지 못합니다.

어렵지 않다면 코드를 수정할 수 있습니까?

       string symbol;
       long currChart= ChartFirst (); int i= 0 ;
       while (currChart>= 0 )
        {
         if ( ChartGetInteger (currChart, CHART_BRING_TO_TOP , 0 )== true ) 
           { 
             if ( ChartSymbol (currChart)!=symbol)
              {
               symbol= ChartSymbol (currChart); Print (symbol);
              }
           } 
         currChart= ChartNext (currChart);  i++;
        }
 
그리고 Vitaliy는 좋은 코드를 작성했습니다. 그는 올바른 장소에 i++를 가지고 있습니다. 이 코드는 어떻게 작동합니까?
 
MakarFX :

값을 변경할 때 Print() 가 한 번 인쇄되도록 하는 방법을 알려주세요.

어떤 값을 변경할 때?

 
MakarFX :

나는 그것이 여기에 어떻게 적용될 수 있는지 잘 이해하지 못합니다.

어렵지 않다면 코드를 수정할 수 있습니까?

 string symbol, printsimbol="";
       long currChart= ChartFirst (); int i= 0 ;
       while (currChart>= 0 )
        {
         if ( ChartGetInteger (currChart, CHART_BRING_TO_TOP , 0 )== true ) 
           { 
             if ( ChartSymbol (currChart)!=symbol)
              {
               symbol= ChartSymbol (currChart); if (printsimbol!=symbol) Print (symbol);printsimbol=symbol;
              }
           } 
         currChart= ChartNext (currChart);  i++;
        }
 
MakarFX :

나는 그것이 여기에 어떻게 적용될 수 있는지 잘 이해하지 못합니다.

어렵지 않은 경우 코드를 수정할 수 있습니까?

이 구성이 호출되는 위치와 방법에 대한 세부 정보를 제공하지 않습니다.

동시에 원하는 차트를 찾았는데 하나만 있으면 즉시 끊고 터미널을 강제하지 않도록 합니다.

우리는 차트를 발견하고 그것을 암기하고 디자인을 다시 호출하지 않았습니다. 작업에 따라 다르지만 이벤트를 호출하는 것이 가장 좋습니다.

 
Aleksei Stepanenko :

어떤 값을 변경할 때?

활성 차트 창이 변경되면 이 함수는 활성 차트 기호를 인쇄합니다.

비탈리 무지첸코 :

이 구성이 호출되는 위치와 방법에 대한 세부 정보를 제공하지 않습니다.

동시에 원하는 차트를 찾았는데 하나만 있으면 즉시 끊고 터미널을 강제하지 않도록 합니다.

우리는 차트를 발견하고 그것을 암기하고 디자인을 다시 호출하지 않았습니다. 작업에 따라 다르지만 이벤트를 호출하는 것이 가장 좋습니다.

죄송합니다. 함수가 호출되었습니다...

 //+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
       string symbol01;
       long currChart= ChartFirst (); int i= 0 ;
       while (currChart>= 0 )
        {
         if ( ChartGetInteger (currChart, CHART_BRING_TO_TOP , 0 )== true ) 
           { 
            symbol01= ChartSymbol (currChart);       Print (symbol01);
           } 
         currChart= ChartNext (currChart);  i++;
        }
//--- 
  }
발레리 야스트렘스키 :

불행히도 작동하지 않습니다. 끝없이 인쇄

 
MakarFX :

활성 차트 창이 변경되면 이 함수는 활성 차트 기호를 인쇄합니다.

죄송합니다. 함수가 호출되었습니다...

불행히도 작동하지 않습니다. 끝없이 인쇄

그리고 이것이 작동하는 방식이 아닙니까? - 한 번만 인쇄가 신호를 줄 것입니다.

 //+------------------------------------------------------------------+
//|                                                         0001.mq5 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
int ticks_to_close= 1 ; // количество тиков
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- create timer
   if (! EventSetTimer ( 1 ))
       Alert ( "Error create timer!" );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
   string symbol01;
   long currChart= ChartFirst ();
   int i= 0 ;
   while (currChart>= 0 )
     {
       if ( ChartGetInteger (currChart, CHART_BRING_TO_TOP , 0 )== true )
        {
         symbol01= ChartSymbol (currChart);
           {
             if (ticks_to_close> 0 )
              {
               ticks_to_close--;
               Print (symbol01);
              }
           }
        }
      currChart= ChartNext (currChart);
      i++;
     }
//---
  }
//+------------------------------------------------------------------+
 
SanAlex :

그리고 이것이 작동하는 방식이 아닙니까? - 한 번만 인쇄가 신호를 줄 것입니다.

하지 그. 시작 시 한 번 인쇄합니다. 일정을 변경할 때 아무 작업도 수행하지 않습니다.
 
MakarFX :

활성 차트 창이 변경되면 이 함수는 활성 차트 기호를 인쇄합니다.

죄송합니다. 함수가 호출되었습니다...

불행히도 작동하지 않습니다. 끝없이 인쇄

아니면 문서를 더 자세히 읽는 것이 더 낫습니까?

CHART_BRING_TO_TOP

다른 모든 항목 위에 그래프 표시

부울 w/o


이것은 이 속성이 쓰기 전용임을 의미합니다. 읽으려고 하는건지...

또한 질문에 대한 완전한 답변을 제공하지 않습니다.

이것은 스크립트 또는 지표입니다.
 
MakarFX :

활성 차트 창이 변경되면 이 함수는 활성 차트 기호를 인쇄합니다.

죄송합니다. 함수가 호출되었습니다...

불행히도 작동하지 않습니다. 끝없이 인쇄

무슨 일이 일어나고 있는지 이해하지 못하면 내가 가진 모든 것을 인쇄하고 때로는 도움이됩니다. 그리고 나는 Vile의 본질을 이해하지 못합니다. 조건은 항상 참입니다.

 string symbol, printsimbol= "" ;
       long currChart= ChartFirst (); int i= 0 ;
       while (currChart>= 0 )
        {
         if ( ChartGetInteger (currChart, CHART_BRING_TO_TOP , 0 )== true ) 
           { 
             if ( ChartSymbol (currChart)!=symbol)
              {
               symbol= ChartSymbol (currChart); if (printsimbol!=symbol) Print (symbol, " " , ChartSymbol (currChart), " " ,printsimbol,
" " ,currChart, " " , ChartFirst (), " " , ChartNext (currChart), " " , ChartGetInteger (currChart, CHART_BRING_TO_TOP , 0 ));
printsimbol=symbol;
              }
           } 
         currChart= ChartNext (currChart);  i++;
        }