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

 

동료 여러분, 저는 곤경에 처해 있습니다. 도움이 필요하다.

정상적으로 작동하는 표시기가 있고 두 개에서 교차했지만 그게 요점이 아닙니다. 외부 변수의 첫 번째 블록을 숨기고 싶지만 컴파일 후 이 블록의 입력을 삭제하면 차트에 표시기가 설치된 상태로 터미널이 정지됩니다.

76행에서 86행까지의 코드 조각

 input string       01 = "••  Channel:" ;   // ------------------------------------------------------------
input string       02 = "" ;       //  

input ENUM_TF_MINUTES   TMA_TimeFrame = TF_CURR;                         // Time Frame
input uint               TMA_Half_Length = 55 ;                                                                   // Averaging Period
input ENUM_APPLIED_PRICE         TMA_Price = PRICE_CLOSE ;         // Applied _Price
input double     TMA_ATR_Multiplier = 3 ;                                                         // ATR Multiplier
input uint               TMA_ATR_Period = 100 ;                                                                   // ATR Period
input double     TMA_Band_Deviation_Percent = 50 ;                         // Band Deviation Percent
input bool               TMA_Interpolate = true ;                                                         // Interpolate?
input uint Bars_Limit= 1000 ;

이 전체 블록을 다른 변수 아래로 이동하고 극단적인 변수를 위 또는 아래로 이동하더라도 중단됩니다.

블록 내에서 변수의 순서를 변경할 때 잘 컴파일됩니다. 터미널이 얼지 않습니다.

일종의 악마, 나는 아무것도 이해하지 못합니다. 뭔가 뻔한게 안보여 눈이 뿌옇게 보이네요 ((코드첨부중

추신: 문제가 해결되고 코드가 삭제되었습니다.
 
Andrey Kaunov # :

동료 여러분, 저는 곤경에 처해 있습니다. 도움이 필요하다.

정상적으로 작동하는 표시기가 있고 두 개에서 교차했지만 그게 요점이 아닙니다. 외부 변수의 첫 번째 블록을 숨기고 싶지만 컴파일 후 이 블록의 입력을 삭제하면 차트에 표시기가 설치된 상태로 터미널이 정지됩니다.

76행에서 86행까지의 코드 조각

이 전체 블록을 다른 변수 아래로 이동하고 극단적인 변수를 위 또는 아래로 이동하더라도 중단됩니다.

블록 내에서 변수의 순서를 변경할 때 잘 컴파일됩니다. 터미널이 얼지 않습니다.

일종의 악마, 나는 아무것도 이해하지 못합니다. 뭔가 뻔한게 안보여 눈이 뿌옇게 보이네요 ((코드첨부중

입력을 const로 교체

그리고 기뻐하라!

 
Maxim Kuznetsov # :

입력을 const로 교체

그리고 기뻐하라!

차트에 표시기를 추가할 때 터미널이 여전히 멈춥니다.

 
Andrey Kaunov # :

차트에 표시기를 추가할 때 터미널이 여전히 멈춥니다.

그리고 컴파일?

즉, 매개변수에 입력 속성이 있으면 작동하지만 const이면 중단됩니까?

그런 기적은 일어나지 않는다

 
Andrey Kaunov # :

일종의 악마, 나는 아무것도 이해하지 못합니다. 뭔가 뻔한게 안보여 눈이 뿌옇게 보이네요 ((코드첨부중

379행에서 시작하여 표시기로 재귀합니다(자신을 호출함). 거기에 매개변수가 있으며 매개변수의 순서를 변경한 후 이를 일렬로 가져와야 합니다.

 
Nikolay Ivanov # :

379행에서 시작하여 표시기로 재귀합니다(자신을 호출함). 거기에 매개변수가 있으며 매개변수의 순서를 변경한 후 이를 일렬로 가져와야 합니다.

고마워요, 니콜라이.

예, 더 깊이 파고들어야 했습니다. 그리고 나는 매개변수에 매달렸습니다.

 

내부 루프가 이 루프에서 작동하지 않는 이유를 말씀해 주시겠습니까?

for (int Try=0; Try<1;) 

  {  Print("цикл 1");

      for (int Try2=0; Try2<1;) 

        {  Print("цикл 2"); Try=1; Try2=1;
...


"사이클 2"가 인쇄되지 않습니다. "주기 1"만

 
다른 모니터에서 동일하도록 OBJ_RECTANGLE_LABEL의 크기를 수정하는 방법을 아는 사람은 누구입니까? 내장된 OneClickTrading 패널의 크기(픽셀 단위)에 따라 작은 패널을 만들었지만 다른 모니터에서는 크기가 변경되지만 내장된 패널은 변경되지 않습니다.
 
Ivan Butko # :

내부 루프가 이 루프에서 작동하지 않는 이유를 말씀해 주시겠습니까?

for (int Try=0; Try<1;) 

  {  Print("цикл 1");

      for (int Try2=0; Try2<1;) 

        {  Print("цикл 2"); Try=1; Try2=1;
...


"사이클 2"가 인쇄되지 않습니다. "주기 1"만

모든 것이 인쇄되고 경고됩니다.

 void OnStart ()
  {
//---
for ( int Try= 0 ; Try< 1 ;) 

  { Alert ( "цикл 1" );

       for ( int Try2= 0 ; Try2< 1 ;) 

        {   Alert ( "цикл 2" ); Try= 1 ; Try2= 1 ;
        }}
   
  }
//+------------------------------------------------------------------+

2022.03.20 10:28:29.373 스크립트 qqq EURUSD,M1: 제거됨
2022.03.20 10:28:29.373 qqq EURUSD,M1: 단위 이유 0
2022.03.20 10:28:29.373 qqq EURUSD,M1: 경고: 주기 2
2022.03.20 10:28:29.357 qqq EURUSD,M1: 경고: 주기 1
2022.03.20 10:28:29.326 qqq EURUSD,M1: 초기화됨

 
Valeriy Yastremskiy # :

모든 것이 인쇄되고 경고됩니다.

2022.03.20 10:28:29.373 스크립트 qqq EURUSD,M1: 제거됨
2022.03.20 10:28:29.373 qqq EURUSD,M1: 단위 이유 0
2022.03.20 10:28:29.373 qqq EURUSD,M1: 경고: 주기 2
2022.03.20 10:28:29.357 qqq EURUSD,M1: 경고: 주기 1
2022.03.20 10:28:29.326 qqq EURUSD,M1: 초기화됨

확인해주셔서 감사합니다! 내가 지켜볼게