0 0 0 0 세 쌍 모두 15901.66 - 15899.7이 되어야 합니다. 차이는 1.96입니다.
로트 관리를 사용하면 실행 시 수익이 발생합니다:
35 0 0 = 6550,94
0 36 0 = 6956,95
0 0 184 = 3386.44
35 36 179 = 15991.56 - 16894.33이 되어야 합니다. 차이는 902.77입니다.
자동 밸런스를 비활성화한 상태에서도 차이가 있지만 일반적으로 미세한 차이입니다. 로트 제어가 활성화되면 그 차이는 5.3%로 상당히 두드러집니다(감소된 로트의 트리거 수가 다르기 때문에). 여기서 매개변수를 최적화하는 방법은 무엇일까요? 어떤 방법을 고안할 수 있을까요?
모든 틱에 대한 각 실행에는 약 20-30 분이 소요됩니다.
그런 실험을 설정해 보겠습니다. 간단한 Expert Advisor를 사용하여 로트 제어 시스템을 추가하고 실행의 차이를 확인합니다.
유형 변환으로 인한데이터 손실 가능성 BalanceSlopeControl.mqh 117 25 유형 변환으로 인한 데이터 손실 가능성 BalanceSlopeControl.mqh 118 21 'current_slope' 선언이 682줄에서 멤버 선언을 숨깁니다. BalanceSlopeControl.mqh 909 9 0 오류(들), 3 경고(들) 1 4
맨 처음에 수정했습니다. 처음 두 개는 변환 유형을 지정했습니다. 그리고 세 번째 메시지는 909 줄에서 ccurrent_slope의 이름을 수정하고 double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots )에서 해당 수정을 추가로 수정하여 수정했습니다.
아마도 여기에 개가 묻혀 있을까요? 어쨌든 제 변경 사항이 이념적으로 잘못되었을 수 있으므로 작성자가 직접 수정 한 파일을 게시 할 수 있습니다.
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
유형 변환으로 인한데이터 손실 가능성 BalanceSlopeControl.mqh 117 25 유형 변환으로 인한 데이터 손실 가능성 BalanceSlopeControl.mqh 118 21 'current_slope' 선언이 682줄에서 멤버 선언을 숨깁니다. BalanceSlopeControl.mqh 909 9 0 오류(들), 3 경고(들) 1 4
맨 처음에 수정했습니다. 처음 두 개는 변환 유형을 지정했습니다. 그리고 세 번째 메시지는 909번째 줄에서 ccurrent_slope의 이름을 수정하고 double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots )에서 해당 수정을 추가로 수정하여 수정했습니다.
아마도 여기에 개가 묻혀 있을까요? 어쨌든 제 변경 사항이 이념적으로 잘못되었을 수 있으므로 작성자가 직접 수정한 파일을 게시할 수 있을 것입니다.
여기서는 가능성이 없습니다. 나는 무언가 규칙을 기억하지만 무엇-나는 기억하지 못한다)))) 다음은 현재 파일입니다.
solandr:
저는 다음과 같은 실험을 해보았습니다. 각 통화 쌍에 대해 감소된 랏을 트리거하도록 카운터를 설정했습니다. 그리고 M1 OHLC에서 모든 테스트 조합을 테스트했습니다. 결과는 다음과 같습니다.
35 0 0 - 첫 번째 쌍에서만 테스트
0 36 0 - 두 번째 쌍에서만 테스트
0 0 0 168 - 세 번째 쌍에서만 테스트.
36 35 0 0 - 첫 번째 및 두 번째 쌍에 대해 테스트 중입니다.
0 35 162 - 두 번째 및 세 번째 쌍에 대한 테스트
35 35 166 - 세 쌍 모두에 대한 테스트
세 쌍 모두에서 테스트할 때는 35 36 168이 되어야 합니다.
내일은 비교를 위해 모든 틱에서 EA를 실행하려고합니다.
제가 올바르게 이해했다면 거래 횟수가 다르나요? 그렇다면 로트 크기가 어떻게 영향을 미칠 수 있습니까?
제가 올바르게 이해했다면 - 트랜잭션 수가 다르나요? 그렇다면 로트 크기가 어떤 영향을 미칠 수 있습니까?
아니요, 동시에 3개 통화쌍에 대한 총 거래 수는 개별 실행의 거래 합계에 해당합니다.
결과는 감소된 랏으로 개설된 주문 수를 보여줍니다.
저는 여전히 Expert Advisor를 실행 중입니다. 전체 실행 결과가 어떻게 바뀌는지 이해하려고 노력하고 있습니다. 나중에 메시지를 작성하겠습니다.
아니요, 동시에 3개 통화쌍에 대한 총 거래 횟수는 개별 실행의 거래 합계에 해당합니다.
결과는 감소된 랏으로 개설된 주문 수를 보여줍니다.
저는 여전히 Expert Advisor를 실행 중입니다. 전체 실행에서 결과가 어떻게 변경되는지 이해하려고 노력하고 있습니다. 나중에 메시지를 작성하겠습니다.
아마도 일부 변경된 조건으로 인해 거래의 손익이 실행마다 약간 변경되어 잔액 곡선의 일부 지점에서 로트 전환이 발생할 수도 있고 발생하지 않을 수도 있습니다.
다음과 같이 진행됩니다.
일부 조건의 변화로 인해 거래의 손익이 실행마다 조금씩 달라질 수 있으며, 그 결과 잔고 곡선의 일부 지점에서 랏 전환이 발생할 수도 있고 그렇지 않을 수도 있습니다.
이런 식으로 말이죠.
원칙적으로 좋은 아이디어입니다. MT4에서는 테스트 스프레드를 임의로 설정할 수 있는 특수 프로그램인 스프레드 체인저를 사용하기도 하는데 결과는 변동하지 않습니다.
MT5에서는 아직 그런 프로그램을 찾지 못했습니다 (제가 잘 찾지 못했을 수도 있습니다). 터미널 개발자가 향후 릴리스에서 원하는 사람들을 위해 테스터에 이러한 기능을 구축하면 좋을 것입니다.
원칙적으로 아이디어는 좋습니다. MT4에서는 테스트 스프레드를 임의로 설정할 수 있는 특수 프로그램인 스프레드 체인저를 사용하기도 하는데, 결과가 유동적이지 않습니다.
MT5에서는 아직 그런 프로그램을 찾지 못했습니다 (제가 잘 찾지 못했을 수도 있습니다). 터미널 개발자가 향후 릴리스에서 원하는 사람들을 위해 테스터에 이러한 기능을 구축하면 좋을 것입니다.
모든 틱에 대해 EA를 실행했습니다. 다음과 같은 결과를 얻었습니다:
실행시 잔고 관리가 비활성화 된 상태에서 이익을 얻었습니다:
0 0 0 0 0 6702,44 첫 번째 쌍
0 0 0 0 0 5735.78 두 번째 쌍
0 0 0 0 0 3461.48 세 번째 쌍
0 0 0 0 세 쌍 모두 15901.66 - 15899.7이 되어야 합니다. 차이는 1.96입니다.
로트 관리를 사용하면 실행 시 수익이 발생합니다:
35 0 0 = 6550,94
0 36 0 = 6956,95
0 0 184 = 3386.44
35 36 179 = 15991.56 - 16894.33이 되어야 합니다. 차이는 902.77입니다.
자동 밸런스를 비활성화한 상태에서도 차이가 있지만 일반적으로 미세한 차이입니다. 로트 제어가 활성화되면 그 차이는 5.3%로 상당히 두드러집니다(감소된 로트의 트리거 수가 다르기 때문에). 여기서 매개변수를 최적화하는 방법은 무엇일까요? 어떤 방법을 고안할 수 있을까요?
모든 틱에 대한 각 실행에는 약 20-30 분이 소요됩니다.
그런 실험을 설정해 보겠습니다. 간단한 Expert Advisor를 사용하여 로트 제어 시스템을 추가하고 실행의 차이를 확인합니다.
그런데 기사에서 mqh 파일을 컴파일할 때 다음과 같은 메시지가 표시됩니다:
유형 변환으로 인한데이터 손실 가능성 BalanceSlopeControl.mqh 117 25
유형 변환으로 인한 데이터 손실 가능성 BalanceSlopeControl.mqh 118 21
'current_slope' 선언이 682줄에서 멤버 선언을 숨깁니다. BalanceSlopeControl.mqh 909 9
0 오류(들), 3 경고(들) 1 4
맨 처음에 수정했습니다. 처음 두 개는 변환 유형을 지정했습니다. 그리고 세 번째 메시지는 909 줄에서 ccurrent_slope의 이름을 수정하고 double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots )에서 해당 수정을 추가로 수정하여 수정했습니다.
아마도 여기에 개가 묻혀 있을까요? 어쨌든 제 변경 사항이 이념적으로 잘못되었을 수 있으므로 작성자가 직접 수정 한 파일을 게시 할 수 있습니다.
모든 틱에 대해 EA를 실행했습니다. 다음과 같은 결과를 얻었습니다:
...
보시다시피 자동 밸런스가 비활성화 된 경우에도 차이가 있지만 일반적으로 미미합니다.
모든 기호에서 테스트 할 때 모든 모드에서 동일한 결과를 얻으십시오.
이렇게 하려면 모든 기호의 틱 또는 타이머로 작업하고 모든 악기에서 새 막대의 모양을 제어합니다.
잔액이 1센트도 차이가 나지 않아야 합니다.
그런데 기사에서 mqh 파일을 컴파일할 때 이러한 메시지가 표시됩니다:
유형 변환으로 인한데이터 손실 가능성 BalanceSlopeControl.mqh 117 25
유형 변환으로 인한 데이터 손실 가능성 BalanceSlopeControl.mqh 118 21
'current_slope' 선언이 682줄에서 멤버 선언을 숨깁니다. BalanceSlopeControl.mqh 909 9
0 오류(들), 3 경고(들) 1 4
맨 처음에 수정했습니다. 처음 두 개는 변환 유형을 지정했습니다. 그리고 세 번째 메시지는 909번째 줄에서 ccurrent_slope의 이름을 수정하고 double TBalanceSlopeControl::CalcTradeLots( double _min_lots, double _max_lots )에서 해당 수정을 추가로 수정하여 수정했습니다.
아마도 여기에 개가 묻혀 있을까요? 어쨌든 제 변경 사항이 이념적으로 잘못되었을 수 있으므로 작성자가 직접 수정한 파일을 게시할 수 있을 것입니다.
여기서는 가능성이 없습니다. 나는 무언가 규칙을 기억하지만 무엇-나는 기억하지 못한다)))) 다음은 현재 파일입니다.
여기는 아닌 것 같아요. 뭔가 규칙이 기억나지만 기억이 나지 않습니다)))) 다음은 현재 파일입니다.
새 버전의 파일에 감사드립니다!
파일의 내용을 기사의 파일과 비교하면 37, 115, 116, 907, 966 줄에서 새 파일에 몇 가지 차이점이 있음을 알 수 있습니다.
이러한 변경 사항이 Expert Advisor에 얼마나 영향을 미칠 수 있는지 살펴 보겠습니다.