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

 
Seric29 :

문제는 배열을 허용하는 모든 함수에 템플릿을 적용하고 템플릿 함수의 내보내기 및 가져오기가 불가능하다는 것입니다. 이는 각 유형에 대해 함수를 복제해야 하며 mql 차원의 동일한 상황에서는 그냥 제공하고 싶지 않습니다. 그런 다음 다시 차원별로 복제해야 하므로 일종의 과부하가 발생하지만 추가 인수 를 추가할 필요는 없습니다. 데이터를 그대로 돌려주려면 오버로드를 수행하기 위해 함수를 복제해야 합니다. 또한 C++ 측에서 색상과 날짜를 처리하는 방법에 대한 문제를 해결하지 못했습니다. C++에도 스탠드가 없습니다. -여기에 배열 및 기타 데이터에 대한 데이터를 반환하는 단독 함수는 고유한 함수를 작성해야 합니다. 아무데도 가서 작성할 수 없다는 것은 분명하지만 1년이 걸리고 라이브러리도 호출해야 할 때 보정을 복잡하게 만듭니다. 인쇄 기능을 사용하고 거기에 20개의 매개변수를 입력하고 수동으로 모든 날짜를 계산하면 라이브러리의 존재 자체가 내가 모르는 함정은 말할 것도 없고 파일의 정확성을 모니터링해야 합니다. 결국 이 모든 것을 고려할 때 mql의 모든 기능을 사용하여 문제를 해결하거나 불필요한 검사를 수행하는 것이 좋습니다. 그러나 코드는 간단합니다. 그래서 그만한 가치가 없다고 생각합니다. 제 자신의 언어를 작성하려고 생각했지만 다시 로봇의 15%를 작성하고 모든 것을 보정하고 가능한 한 보편적으로 만들고 빠른 성능과 3년 동안 계산. 나는 내 자신의 언어를 쓰기에 충분한 삶이 없습니다. 이 같은.

당신의 언어는 훌륭합니다!

하지만 MQL을 먼저 배워야 할 수도 있습니다.

그러면 지금도 그 가능성이 작지 않다는 것을 알게 될 것입니다.

그리고 C++를 배운다면 프로그래밍에 전혀 문제가 없을 것입니다.

예, 저는 귀하의 C++ 코드를 살펴보았고 귀하가 아는 것이 거의 없다는 것을 분명히 알 수 있습니다.

 
Koldun Zloy :

예, 저는 귀하의 C++ 코드를 살펴보았고 귀하가 아는 것이 거의 없다는 것을 분명히 알 수 있습니다.

4세부터 프로그래밍을 배우는 것이 더 낫습니다. 저는 이미 26세입니다. 멋진 프로그래머가 될 가능성은 매우 낮습니다. Elon Musk와 같은 사람들을 기억하고 9세에 프로그래밍을 할 줄 알았던 사람들은 최소한 주요 작업을 완료하십시오.

 

기능이 있다

 ArrayCopy

그러나 특정 열을 복사하는 것은 허용하지 않습니다. 다음은 기능입니다

 ArrayInitialize

그리고 다시 같은 넌센스, 기능이 있습니다

 ArrayFill

그러나 여기에서도 열을 지정할 수 없습니다. 직접 작성해야 하는 경우 이러한 기능의 용도는 무엇입니까?

 
Seric29 :

4세부터 프로그래밍을 더 잘 배워, 나는 이미 26세다

오, 그리고 zaboristoe, 당신은 무엇을 피우고 있습니까! )))))))

4세부터 아이에게 프로그래밍을 가르칠 수는 없습니다. 아이는 여전히 장난감을 바닥에 던져서 가지고 놀고 싶어할 뿐만 아니라 아이가 아직 읽는 법을 배우지 못했을 뿐만 아니라 이미 세는 법을 알고 있기 때문입니다. 최대 10명(최대 100명의 괴짜! ))) )

26살에 배울게 있나요? 예, 문제를 작성한 3개월 동안 읽고 읽기 시작했다면 이미 문제를 해결했을 것입니다. MQL 포럼은 1-2시간 이내에 질문에 대한 답변을 얻을 수 있는 몇 안 되는 포럼 중 하나입니다. 정말 멋진! 그리고 당신은 그것을 사용하지 않습니다 ((( ... 일반적으로 이것은 당신의 인생 경로입니다. 나는 그것을 찾았습니다. 당신의 문제에 대해 말하지 않는 것이 좋습니다.

https://www.mql5.com/en/forum/3457/page4494#comment_12804114

 
Seric29 :

4세부터 프로그래밍을 배우는 것이 더 낫습니다. 저는 이미 26세입니다. 멋진 프로그래머가 될 가능성은 매우 낮습니다. Elon Musk와 같은 사람들을 기억하고 9세에 프로그래밍을 할 줄 알았던 사람들은 최소한 주요 작업을 완료하십시오.

나는 4시에 시작하지도 않았고, 심지어 9시에 시작하지도 않았다.

26세부터 멋진 프로그래머가 될 확률은 매우 높습니다.

 

여러분, 질문이 있습니다. 이 코드가 작동하지 않는 이유를 웃지 마십시오.

 #property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
#define Mkarr(q,w,e,r) switch (ArrayDimension(q)){ case 3 :q[w][e][r]= 15 ; break ; case 2 :q[w][e]= 15 ; break ;}
int Mas[ 7 ], //#else
    Mas2[ 2 ][ 2 ]={{ 3 , 8 },{ 4 , 17 }},
    Mas22[ 2 ][ 2 ]={{ 31 , 128 },{ 94 , 107 }},
    Mas3[ 2 ][ 2 ][ 2 ];

int OnInit ()
  { int Perem=ArrayDimension(Mas); 
   Mkarr(Mas2, 0 , 0 , 0 );
   return ( INIT_SUCCEEDED );
  }

그는 배열에 대한 잘못된 액세스를 작성합니다. 모든 경우 옵션이 확인되지 않은 경우 이를 어떻게 알 수 있습니까? 아무 것도 확인되지 않고 오류가 발생하면 어떻게 알 수 있습니까?컴파일 중에 코드를 건너뛸 수 있습니까 아니면 도움이 되지 않습니까?

 
Seric29 :

여러분, 질문이 있습니다. 이 코드가 작동하지 않는 이유를 웃지 마십시오.

그는 배열에 대한 잘못된 액세스를 작성합니다. 모든 경우 옵션이 확인되지 않은 경우 이를 어떻게 알 수 있습니까? 아무 것도 확인되지 않고 오류가 발생하면 어떻게 알 수 있습니까?컴파일 중에 코드를 건너뛸 수 있습니까 아니면 도움이 되지 않습니까?

웃긴건 아니지만 울고싶다

매크로 SUBSTITUTIONS를 사용하는 방법을 모르는 경우 왜 매크로 SUBSTITUTIONS를 사용합니까? 매크로를 확장하면(복사하여 붙여넣기만 하면 됩니다!) 오류가 있는 위치를 확인해야 합니다.

추신: ..... "쥐가 울고 찔렸지만 계속 선인장을 갉아먹었습니다"((((

 
Igor Makanu :

웃긴건 아니지만 울고싶다

매크로 SUBSTITUTIONS를 사용하는 방법을 모르는 경우 왜 매크로 SUBSTITUTIONS를 사용합니까? 매크로를 확장하면(복사하여 붙여넣기만 하면 됩니다!) 오류가 있는 위치를 확인해야 합니다.

추신: ..... "쥐가 울고 찔렸지만 계속 선인장을 갉아먹었습니다"((((

이 정도는 잘 이해가 안 가는데 매크로는 아무 요소나 가져가는데 컴파일러에서 처리할 때 같은 요소가 둘 다일 수 없다는 보호책이 있는데 그런 생각이 듭니다. 이론적으로 그 아이디어는 정확하지만 실제로는 그렇지 않습니다. 그러한 아이디어를 구현하는 것이 가능합니까?

 
Seric29 :

이 정도는 잘 이해가 안 가는데 매크로는 아무 요소나 가져가는데 컴파일러에서 처리할 때 같은 요소가 둘 다일 수 없다는 보호책이 있는데 그런 생각이 듭니다. 이론적으로 그 아이디어는 정확하지만 실제로는 그렇지 않습니다. 그러한 아이디어를 구현하는 것이 가능합니까?

다시 한 번 ... ME에서 매크로 대체(예, 메모장에서도 가능)를 손으로 사용하고 사용하는 대신 "고정"하고 대괄호 안의 모든 매개변수를 자신의 숫자로 바꿉니다.

어떻게 더 쉽게 설명해야 할지도 모르겠고... 글쎄요, MQL 도움말이 부족하면 위키를 읽어보세요.

매크로

C 전처리기

 
Igor Makanu :

다시 한 번 ... ME에서 매크로 대체(예, 메모장에서도 가능)를 손으로 사용하고 사용하는 대신 "고정"하고 대괄호 안의 모든 매개변수를 자신의 숫자로 바꿉니다.

매크로 대체가 없는 코드는 다음과 같습니다.

 //+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
//#define Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[ 7 ], //#else
Mas2[ 2 ][ 2 ]={{ 3 , 8 },{ 4 , 17 }},
Mas22[ 2 ][ 2 ]={{ 31 , 128 },{ 94 , 107 }},
Mas3[ 2 ][ 2 ][ 2 ];
int OnInit ()
  {
   int Perem=ArrayDimension(Mas);
//   Mkarr(Mas2,0,0,0);
   switch (ArrayDimension(Mas2))
     {
       case 3 : Mas2 [ 0 ][ 0 ][ 0 ]= 15 ;
       break ;
       case 2 : Mas2 [ 0 ][ 0 ]= 15 ;
       break ;
     }
   return ( INIT_SUCCEEDED );
  }

C ++ / MQL의 구문과 기본 사항을 이해할 수 없고 한 차원으로 정의된 배열이 있고 다른 차원으로 배열을 사용하려는 경우 왜다차원 배열 로 작업하는 데 그렇게 많은 시간을 소비하는지 모르겠습니다. 차원, 물론 내가 틀릴 수 있지만 그러한 트릭은 Python, IMHO에서도 작동하지 않아야합니다.