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

 
79014393347az :
안녕하세요! RSI 경고에 입력하는 방법을 도와주세요. 푸시 알림 을 직접 시도했지만 작동하지 않으며 오류가 발생합니다.
어떤 작업을 했는지, 어떤 오류가 발생했는지 좀 더 구체적으로 알고 싶습니다.
암호.
 

PlaySound() 함수 가 true를 반환하면 오디오가 재생되지 않는 이유는 무엇입니까?


v1 = (Up[i] != EMPTY_VALUE ? Up[i] : Down[i]);
v2 = (Down[i+ 1 ] != EMPTY_VALUE ? Down[i+ 1 ] : Up[i+ 1 ]);
         
if ((v2 >= level || v2 <= level * (- 1 )) && a2 < Time[i])
  {
   a2 = Time[i];
   if (arrows == e1 && v2 >= level) {ArrowCreate( false ,Time[i+ 1 ],High[i+ 1 ]);} else if (arrows == e1) {ArrowCreate( true ,Time[i+ 1 ],Low[i+ 1 ]);};
   if (prev_calculated != 0 )
     {
       if (sounds == e1 && v2 >= level) {al = PlaySound ( "SELL NOW" ); Alert (al);} else if (sounds == e1) {al = PlaySound ( "BUY NOW" ); Alert (al);};
       if (alerts == e1 && v2 >= level) { Alert ( _Symbol +TF( Period ())+ " SELL NOW" );} else if (alerts == e1) { Alert ( _Symbol +TF( Period ())+ " BUY NOW" );};
       if (push == e1 && v2 >= level) { SendNotification ( _Symbol +TF( Period ())+ " SELL NOW" );} else if (push == e1) { SendNotification ( _Symbol +TF( Period ())+ " BUY NOW" );};
     };
  };
 
Alexandr Sokolov :

PlaySound() 함수 가 true를 반환하면 오디오가 재생되지 않는 이유는 무엇입니까?


  1. 사운드 파일 이름이 정확합니까?
  2. PlaySound() 후에 즉시 Alert()가 발생합니다. 두 함수 모두 소리를 재생합니다. 경고 제거()
 
Artyom Trishkin :
  1. 사운드 파일 이름이 정확합니까?
  2. PlaySound() 후에 즉시 Alert()가 발생합니다. 두 함수 모두 소리를 재생합니다. 경고 제거()

이름이 정확합니다. 그 이유는 경고로 밝혀졌습니다. 매우 감사합니다! 며칠 동안 나는 그 이유를 이해할 수 없었습니다.

 
사용자 정의 함수의 색상을 기본적으로 검정색에서 다른 색상으로 변경하도록 컴파일러 프로그램 설정에서 설정할 수 있습니까? 우리는 사용자 정의 함수 강조 표시에 대해 이야기하고 있습니까?
 
컴파일러에 기본적으로 포함되어 있는 ArrayMaximum() 함수 는 어떻게 작동합니까? 따라서 질문의 본질은 다음과 같습니다. 이 함수는 배열에서 최대값을 찾습니다. 값이 배열에 혼란스러운 순서로 쓰여지면 최대값 또는 최소값을 찾기 위해 값, 먼저 이 값을 정렬해야 하고 정렬된 배열 목록의 끝 또는 시작 부분에 있는 최대값을 선택할 수 있습니다. 무작위 순서로 작성?
 
Seric29 :
컴파일러에 기본적으로 포함되어 있는 ArrayMaximum() 함수 는 어떻게 작동합니까? 따라서 질문의 본질은 다음과 같습니다. 이 함수는 배열에서 최대값을 찾습니다. 값이 배열에 혼란스러운 순서로 쓰여지면 최대값 또는 최소값을 찾기 위해 값, 먼저 이 값을 정렬해야 하고 정렬된 배열 목록의 끝 또는 시작 부분에 있는 최대값을 선택할 수 있습니다. 무작위 순서로 작성?

아무것도 정렬할 필요가 없습니다. ArrayMaximum() 함수는 정렬되지 않은 배열에서 최대값을 찾아 찾은 값의 인덱스를 반환합니다 .

 
Alexey Viktorov :

아무것도 정렬할 필요가 없습니다. ArrayMaximum() 함수는 정렬되지 않은 배열에서 최대값을 찾아 찾은 값의 인덱스를 반환합니다 .

그러나 하나 또는 다른 값과 비교하기 위해 일종의 사슬에 구축해야 합니다. 5개의 값이 있고 혼란스러운 순서로 작성되는 경우 최대 또는 최소값을 찾는 유일한 방법 그것들을 모두 비교하는 것입니다. 어쨌든 값을 저장할 버퍼가 필요합니다.

 
Seric29 :

그러나 하나 또는 다른 값과 비교하기 위해 일종의 사슬에 구축해야 합니다. 5개의 값이 있고 혼란스러운 순서로 작성되는 경우 최대 또는 최소값을 찾는 유일한 방법 그것들을 모두 비교하는 것입니다. 어쨌든 값을 저장할 버퍼가 필요합니다.

그리고 내부에서 어떻게 작동하는지 이해하려고 노력하는 이유는 무엇입니까? 글쎄, 당신이 당신 자신의 함수를 작성하고 싶다면 아마도 극단적인 인덱스 중 하나의 값을 정렬하고 취하는 것이 더 편리할 것입니다. 그러나 내장 함수보다 빠르게 작동하지는 않을 것입니다. 또한 내장 기능을 사용하면 표시된 인덱스 제한 내에서 값을 검색할 수 있습니다. 단순한 정렬이 도움이 되지 않는다는 것을 의미합니다. 즉, 배열의 일부를 중간 배열로 복사하고 정렬하고 원하는 값을 가져와야 하며 배열 복사는 매우 "싼" 기능이 아닙니다.

 
안녕하세요 . 말해 주세요. 조건에 대한 코드는 다음과 같습니다. 계정 잔액 이 증가하거나 감소한 경우 함수를 실행합니다.