수정된 주문의 SL을 가져와서 계산된 SL과 비교해야 합니다. 동일하면 로봇은 계산된 SL이 처리된 주문의 SL을 초과할 때까지 아무 작업도 수행하지 않아야 합니다. 두 개의 이중 값을 비교하는 방법: NodmalizeDouble(value, Digits)(각 값의) 또는 EqualDoubles https://www.mql5.com/en/docs/basis/types/double 을 비교합니다.
Вещественные типы (double, float) - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
가격이 TP 방향으로 갔다면 추적이 트리거되어야 하고 가격이 롤백되면 아무 것도 하지 않습니다. 이 경우 SL 레벨은 롤백되지 않고 TP 방향으로만 이동해야 합니다.
알아요
나는 썼다
스톱의 순간적인 움직임이 있고 무한한 횟수가 걸립니다
2021.12.23 21:07:51.634 2021.12.21 12:12:20 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:20 111 AUDUSD,M15: #2 수정 0.02 AUDUSD에서 0.71028 sl: 0.71288 tp: 0.72038 확인
2021.12.23 21:07:51.634 2021.12.21 12:12:18 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:18 111 AUDUSD,M15: #2 수정 0.71028 sl: 0.71268 tp: 0.72018 ok에서 0.02 AUDUSD 구매
2021.12.23 21:07:51.634 2021.12.21 12:12:16 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:16 111 AUDUSD,M15: #2 수정 0.71028 sl: 0.71248 tp: 0.71998 ok에서 0.02 AUDUSD 구매
2021.12.23 21:07:51.634 2021.12.21 12:12:15 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:15 111 AUDUSD,M15: #2 수정 0.02 AUDUSD에서 0.71028 sl: 0.71228 tp: 0.71978 확인
2021.12.23 21:07:51.634 2021.12.21 12:12:13 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:13 111 AUDUSD,M15: #2 수정 0.71028 sl: 0.71208 tp: 0.71958 ok에서 0.02 AUDUSD 구매
2021.12.23 21:07:51.634 2021.12.21 12:12:11 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:11 111 AUDUSD,M15: #2 수정 0.71028 sl: 0.71188 tp: 0.71938 ok에서 0.02 AUDUSD 구매
2021.12.23 21:07:51.634 2021.12.21 12:12:10 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:10 111 AUDUSD,M15: #2 수정 0.71028 sl: 0.71168 tp: 0.71918 ok에서 0.02 AUDUSD 구매
2021.12.23 21:07:51.634 2021.12.21 12:12:08 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:08 111 AUDUSD,M15: #2 수정 0.02 AUDUSD에서 0.71028 sl: 0.71148 tp: 0.71898 확인
2021.12.23 21:07:51.634 2021.12.21 12:12:06 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:06 111 AUDUSD,M15: 수정 #2 0.71028 sl: 0.71128 tp: 0.71878 ok에서 0.02 AUDUSD 구매
2021.12.23 21:07:51.634 2021.12.21 12:12:05 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:05 111 AUDUSD,M15: 수정 #2 0.71028 sl: 0.71108 tp: 0.71858 ok에서 0.02 AUDUSD 구매
2021.12.23 21:07:51.634 2021.12.21 12:12:00 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:12:00 111 AUDUSD,M15: #2 수정 0.02 AUDUSD에서 0.71028 sl: 0.71088 tp: 0.71838 확인
2021.12.23 21:07:51.634 2021.12.21 12:11:53 111 AUDUSD,M15: 구매 주문 수정 성공!
2021.12.23 21:07:51.634 2021.12.21 12:11:53 111 AUDUSD,M15: #2 수정 0.02 AUDUSD에서 0.71028 sl: 0.71068 tp: 0.71818 확인
2021.12.23 21:07:51.634 2021.12.21 12:11:52 111 AUDUSD,M15: 구매 주문 수정 성공!
알아요
나는 썼다
스톱의 순간적인 움직임이 있고 무한한 횟수가 걸립니다
수정된 주문의 SL을 가져와서 계산된 SL과 비교해야 합니다. 동일하면 로봇은 계산된 SL이 처리된 주문의 SL을 초과할 때까지 아무 작업도 수행하지 않아야 합니다. 두 개의 이중 값을 비교하는 방법: NodmalizeDouble(value, Digits)(각 값의) 또는 EqualDoubles https://www.mql5.com/en/docs/basis/types/double 을 비교합니다.
알아요
당신은 그것을 올바르게 배치했습니다. TrailingOrders() 함수 내에서 무언가를 변경했습니까?
수정된 주문의 SL을 가져와서 계산된 SL과 비교해야 합니다. ...
일반적으로 규칙은 다음과 같습니다.
당신은 그것을 올바르게 배치했습니다. TrailingOrders() 함수 내에서 무언가를 변경했습니까?
변경하고 "있는 그대로" 넣어도 결과는 동일했습니다.
변경하고 "있는 그대로" 넣어도 결과는 동일했습니다.
입력 매개변수를 확인해야 합니다. 로그로 판단하면 트롤이 올바르게 작동하고 있습니다.
2021.12.24 16:10:14.788 2021.12.17 00:00:00 111 - 복사 입력: Lot=0.01; 손절매 = 200; 테이크프로핏=560; 미끄러짐=3; 마법=1; K_Martin1=0.01; K_Martin2=1.9; K_Martin3=1.4; 주문 닫기=3; 주문닫기2=5; DigitLot=2; 기간MA=21; 이동시프트=1;
2021.12.24 16:10:14.788 2021.12.17 00:00:00 111 - 복사 입력: Lot=0.01; 손절매 = 200; 테이크프로핏=560; 미끄러짐=3; 마법=1; K_Martin1=0.01; K_Martin2=1.9; K_Martin3=1.4; 주문 닫기=3; 주문닫기2=5; DigitLot=2; 기간MA=21; 이동시프트=1;
코드에 함수를 잘못 넣었을까요?
함수 자체를 별도로 두십시오.
코드에 함수를 잘못 넣었을까요?
함수 자체를 별도로 두십시오.
트롤이 올바르게 서 있습니다.
이 시도
트롤이 올바르게 서 있습니다.
이 시도
우주로 날아가다
먼저 정지한 다음 테이크 후 즉시 우주로 날아갑니다(주문 종료).
내가 이해하는 한 그것은 요점이 아닙니다.
내가 틀렸다면 정정해 주세요: void OnTick()
미결 주문이 없고 신호가 있는 경우 vOrderOpenBuy() / vOrderOpenSell()
그런 다음 void vOrderModify(int iOTi)가 옵니다. 즉, 중지 및 테이크가 설정된 다음 오류 검사가 수행됩니다. 모두.
즉, 실제로 주문이 스톱 또는 테이크에 의해 마감될 때까지 후행 측면에서 어떤 식으로든 이를 수정할 수 없습니다.
예, 실제로 필요하지 않습니다. 스톱과 테이크를 한 번(최대 두 번) 여러 번 움직여야 합니다.
나는 여러 트레일 어드바이저를 분석했습니다. 모든 계획은 귀하와 거의 동일합니다.
어떻게 구현할지 아직 고민 중입니다.