초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 241

 

안녕하세요 프로그래머 여러분!

for 루프에서 두 숫자의 비교를 해결하는 방법은 무엇입니까?

루프 레지스터 i 없이 A==B를 찾는 것은 무엇입니까?

루프에서 두 숫자는 i 로만 비교됩니다. 예를 들어 i == 1 이면 비교합니다. 그러면 i 에서 동일한 숫자가 있는 숫자 A와 B만 통과합니다 .

루프 레지스터 i 없이 주어진 모든 숫자를 반복하기를 원합니다.   코드 예제를 보여줄 수 있다면 이것을 코드로 구현하는 방법.

고맙습니다.  

ㅏ

 #property copyright "."
#property link        ""
#property version    "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
 
     for ( int i= 1 ; i< 10 ; i++)
     {   
       double x= 1.0 ;
       double y= 0.5 ;
        
       double A = x*i;
       double B = y*i;
  
       Alert ( " i = " ,i, "     A = " ,DoubleToStr(A, 1 ), "     B = " ,DoubleToStr(B, 1 ));
      
       //КАК НАЙТИ СРАВНЕНИЕ ЧИСЕЛ А == В БЕЗ УЧЕТА i ?
   }
  }
//+------------------------------------------------------------------+
파일:
Test_1.mq4  2 kb
 

루프 내에서 루프를 만드십시오. 먼저 첫 번째 A를 10개의 B와 비교한 다음 두 번째 A를 비교하는 식으로 진행합니다.

 
Aleksei Stepanenko :

루프 내에서 루프를 만드십시오. 먼저 첫 번째 A를 10개의 B와 비교한 다음 두 번째 A를 비교하는 식으로 진행합니다.

답변 해주셔서 감사합니다.

9번? 이 주기에서는 9A 및 9V입니다.

나는 100 A와 100 B의 사이클을 가지고 있고 이것은 이미 각각의 A와 B를 .... 100번 거치고 있습니다. 악몽이다..

다른 방법은 없나요?

 

모든 것은 당면한 작업에 달려 있습니다. 아마도 당신은 아무것도 할 필요가 없습니다. 예를 들어, 일부 값이 미리 배열에 저장되어 있는 경우.

귀하의 예에서 무엇이 필요한지 아직 명확하지 않습니다. 이 비교는 무엇을 위한 것이며 무엇을 얻고자 합니까?

 
Aleksei Stepanenko :
모든 것은 당면한 작업에 달려 있습니다. 아마도 당신은 아무것도 할 필요가 없습니다. 예를 들어, 일부 값이 미리 배열에 저장되어 있는 경우.

나는 배열로만 그것에 대해 생각했고 내 문제는 너무 오래되어 이해하기 어렵습니다. 하지만 예시를 보여주면 어떻게 적용할지 이해할 수 있을 것 같아요. 2D 어레이에 대해 생각하고 있었지만 구현하지 못했습니다. 데이터는 루프에서와 동일한 1차원 배열로 표시됩니다....

누군가 이 문제를 접했을 수도 있고 그가 공유할 수 있는 일종의 솔루션이 있다고 생각했습니다.

 
Aleksei Stepanenko :

귀하의 예에서 무엇이 필요한지 아직 명확하지 않습니다. 이 비교는 무엇을 위한 것이며 무엇을 얻고자 합니까?

비교 데이터를 arr 객체의 함수로 입력하면 위에서 설명한 i 와 일치하는 비교만 표시됩니다.
 

무언가를 제안하려면 문제를 설명해야 합니다. 보다시피 솔루션이 아니라 결국 얻어야 하는 것입니다. 그런 다음 구현에 대해 생각할 수 있습니다.

 
Aleksei Stepanenko :

무언가를 제안하려면 문제를 설명해야 합니다. 보다시피 솔루션이 아니라 결국 얻어야 하는 것입니다. 그런 다음 구현에 대해 생각할 수 있습니다.

감사합니다. Aleksei 귀하의 첫 번째 조언을 사용할 것이며 이미 구현했습니다. 코드를 줄이고 싶었을 뿐인데 파티걸이 엄청나게 나왔다. 나는 간단한 해결책이 있다고 생각했고, 개인적으로 이미 다른 방법이 없다고 설명했습니다.

 
Aleksei Stepanenko :

무언가를 제안하려면 문제를 설명해야 합니다. 보다시피 솔루션이 아니라 결국 얻어야 하는 것입니다. 그런 다음 구현에 대해 생각할 수 있습니다.

라고 생각했는데 더블 데이터를 배열에 넣는 방식으로 할 수 있나요? 내가 아는 한, int 만 거기에서 운전할 수 있습니까?

뭔가 할 수 있을 것 같은데.......

А[ 100 ]={ 0 , 1 , 2 ,...... 99 };
 

프로그래밍에서 솔루션이 하나만 있을 가능성은 거의 없습니다. 항상 옵션이 있습니다. 당신은 의미에 대해 아무 말도 하지 않으니, 그래서 나는 무엇을 말해야 할지 모르겠습니다.

배열에는 다양한 유형의 데이터가 포함될 수 있습니다.

 int a[];
double b[];
string c[];
char d[];