여보세요,
내 EA에서 중지 실행을 감지하려고 합니다. 불행히도 MqlTradeTransaction이 제공한 DEAL_ENTRY_IN만 OnTradeTransaction 에 전달되었습니다.
이것은 백테스트에서만 해당되는 것 같습니다.
가격 및 (부분) 이익과 함께 백테스트에서 트리거된 중지를 안정적으로 감지하는 방법을 아는 사람이 있습니까?
고맙습니다
OnTradeTransaction에서 다음을 확인해야 합니다.
trans.order_state = ORDER_STATE_PLACED ;
다음과 같은 다른 거래가 뒤따랐습니다.
trans.type = TRADE_TRANSACTION_DEAL_ADD ;
OnTradeTransaction에서 다음을 확인해야 합니다.
다음과 같은 다른 거래가 뒤따랐습니다.
안녕하세요 엔지보이저입니다.
내 덤프를 봐주세요. 이 덤프는 모든 트랜잭션을 파일로 인쇄합니다. 내 EA는 매우 간단합니다. 스톱 및 타겟과 함께 매수 또는 매도합니다. 불행히도 로그에서 트랜잭션을 찾을 수 없습니다.
트리거된 중지 또는 대상과 관련이 있습니다.
20130507 00 : 26 : 59 : 672 entry short at 1.32176 <- entry short 20130507 00 : 26 : 59 : 672 symbol=EURUSD price= 1.3217600 volume= 0.01 sl= 1.3229200 tp= 1.3202000 order= 2 deal= 2 entry-type=IN trans-type=DEAL_ADD order_type=BUY deal_type= DEAL_TYPE_SELL type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 20130507 00 : 26 : 59 : 672 symbol=EURUSD price= 1.3217600 volume= 0.01 sl= 1.3229200 tp= 1.3202000 order= 2 deal= 0 entry-type=IN trans-type=ORDER_DELETE order_type=SELL deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 20130507 00 : 26 : 59 : 672 symbol=EURUSD price= 1.3217600 volume= 0.00 sl= 1.3229200 tp= 1.3202000 order= 2 deal= 0 entry-type=IN trans-type=HISTORY_ADD order_type=SELL deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 20130507 00 : 26 : 59 : 672 symbol= price= 0.0000000 volume= 0.00 sl= 0.0000000 tp= 0.0000000 order= 0 deal= 0 entry-type=IN trans-type=REQUEST order_type=BUY deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 /// before the entry long, the stop or target of entry short should be triggerd. /// The EA does not allow to enter new trade before latest is closed, simply by check current positions for symbol before open an entry tradde. 20130507 00 : 26 : 59 : 674 entry long at 1.32140 <- entry long 20130507 00 : 26 : 59 : 674 symbol=EURUSD price= 1.3214000 volume= 0.01 sl= 1.3200900 tp= 1.3231100 order= 3 deal= 3 entry-type=IN trans-type=DEAL_ADD order_type=BUY deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 20130507 00 : 26 : 59 : 674 symbol=EURUSD price= 1.3214000 volume= 0.01 sl= 1.3200900 tp= 1.3231100 order= 3 deal= 0 entry-type=IN trans-type=ORDER_DELETE order_type=BUY deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 20130507 00 : 26 : 59 : 674 symbol=EURUSD price= 1.3214000 volume= 0.00 sl= 1.3200900 tp= 1.3231100 order= 3 deal= 0 entry-type=IN trans-type=HISTORY_ADD order_type=BUY deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 20130507 00 : 26 : 59 : 674 symbol= price= 0.0000000 volume= 0.00 sl= 0.0000000 tp= 0.0000000 order= 0 deal= 0 entry-type=IN trans-type=REQUEST order_type=BUY deal_type= DEAL_TYPE_BUY type_time= 0 expiration= 1970.01 . 01 00 : 00 price_trigger= 0.0000000 profit= 0.00 /// As you can see, my entry short shows transaction BUY, SELL, SELL what ever the purpose of this confusing transactions is. /// No a bit about stop or target orders
그렇다면 stop 및 target 의 트랜잭션을 얻는 방법은 무엇입니까? 나는 여기서 백테스트 에 대해 이야기합니다. 이것이 실제 조건에서도 해당되는지 확실하지 않습니다.
안녕하세요 엔지보이저입니다.
내 덤프를 봐주세요. 이 덤프는 모든 트랜잭션을 파일로 인쇄합니다. 내 EA는 매우 간단합니다. 스톱 및 타겟과 함께 매수 또는 매도합니다. 불행히도 로그에서 트랜잭션을 찾을 수 없습니다.
트리거된 중지 또는 대상과 관련이 있습니다.
그렇다면 stop 및 target의 트랜잭션을 얻는 방법은 무엇입니까? 나는 여기서 백테스트에 대해 이야기합니다. 이것이 실제 조건에서도 해당되는지 확실하지 않습니다.
네, 죄송합니다. 첫 번째 질문을 잘못 이해했습니다. "트리거된 중지"라고 했을 때 보류 중인 주문(구매 중지 또는 판매 중지)을 생각하고 있었습니다.
트랜잭션을 모니터링해야 합니까? 한 번에 하나의 거래만 하는 경우 PositionSelect (_Symbol)를 사용하여 열린 위치를 간단히 확인할 수 있습니다.
네, 죄송합니다. 첫 번째 질문을 잘못 이해했습니다. "트리거된 중지"라고 했을 때 보류 중인 주문(구매 중지 또는 판매 중지)을 생각하고 있었습니다.
거래를 모니터링해야 합니까? 한 번에 하나의 거래만 하는 경우 PositionSelect (_Symbol)를 사용하여 열린 포지션을 간단히 확인할 수 있습니다.
여보세요,
포지션이 열려 있는지 확인하기 위해 나는 이미 이것을 한다.CPositionInfo.Select.
그러나 일단 중지 또는 목표가 트리거되면 실행된 중지 또는 목표 가격을 얻는 방법은 무엇입니까? 현명한 방법이 있습니까?
거래 내역을 확인하지 않으시겠습니까?
좀 더 자세히 알려주실 수 있으신가요? 실행 중지 또는 목표 가격이 필요합니다. 트리거된 대상 또는 중지의 거래 ID 또는 티켓이 없습니다(트랜잭션으로 전달되지 않음).
기록은 DEAL_PRICE 를 제공하지만 거래 번호 또는 티켓이 필요합니다. 어떤 티켓이나 거래를 할 것인가? 고맙습니다.
![Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties Documentation on MQL5: Standard Constants, Enumerations and Structures / Trade Constants / Deal Properties](/i/community/logo_mql5_small.png)
- www.mql5.com
더 자세히 알려주실 수 있나요? 실행 중지 또는 목표 가격이 필요합니다. 트리거된 대상 또는 중지의 거래 ID 또는 티켓이 없습니다(트랜잭션으로 전달되지 않음).
기록은 DEAL_PRICE 를 제공하지만 거래 번호 또는 티켓이 필요합니다. 어떤 티켓이나 거래를 할 것인가? 고맙습니다.
sl 또는 tp가 트리거되면 거래의 반대쪽에 추가된 거래가 있습니다. 예를 들어, BUY 0.25 랏의 열린 포지션이 있습니다. 귀하의 sl/tp가 트리거되면 SELL 유형의 거래가 발생하고 OnTradeTransaction을 사용하여 이를 모니터링하거나 포지션이 마감되었음을 알게 되면 거래 내역을 간단히 확인할 수 있습니다.
여기에서 코드 예제를 참조하십시오.
sl 또는 tp가 트리거되면 거래의 반대쪽에 추가된 거래가 있습니다. 예를 들어, BUY 0.25 랏의 열린 포지션이 있습니다. 귀하의 sl/tp가 트리거되면 SELL 유형의 거래가 발생하고 OnTradeTransaction을 사용하여 이를 모니터링하거나 포지션이 마감되었음을 알게 되면 거래 내역을 간단히 확인할 수 있습니다.
여기에서 코드 예제를 참조하십시오.
안녕하세요 angev님
이것은 내 문제입니다. 분명히 OnTradeTransaction을 사용할 수 없습니다. 위의 내 로그를 참조하십시오. 스톱 또는 목표 주문이 나열되지 않으므로 중지 또는 목표와 관련된 거래가 실행되지 않습니다. OnTradeTransaction에 전달된 각 트랜잭션에 대해 덤프가 생성됩니다.
다시, 나는 백테스트에 대해 이야기한다.
안녕하세요 angev님
이것은 내 문제입니다. 분명히 OnTradeTransaction을 사용할 수 없습니다. 위의 내 로그를 참조하십시오. 스톱 또는 목표 주문이 나열되지 않으므로 중지 또는 목표와 관련된 거래가 실행되지 않습니다. OnTradeTransaction에 전달된 각 트랜잭션에 대해 덤프가 생성됩니다.
다시, 나는 백테스트에 대해 이야기한다.
내가 할 수 있는 일은 당신이 코드를 제공한다면 당신의 코드를 테스트하는 것뿐이라고 생각합니다. 나는 그런 문제가 없습니다.
안녕하세요 항해사님.
문제를 보여주는 간단한 EA가 첨부되어 있습니다. EA는 스톱 및 타겟과 함께 길게 열리고 그 다음에는 숏, 그 다음에는 롱 등으로 열립니다.
덤프 메소드도 포함되어 있습니다. 1주일에 EUR.USD 1분을 적용하고 백테스트 로그에서 트랜잭션 덤프를 확인하십시오.
도와 줘서 고마워.
여보세요,
내 EA에서 중지 실행을 감지하려고 합니다. 불행히도 MqlTradeTransaction이 제공한 DEAL_ENTRY_IN만 OnTradeTransaction 에 전달되었습니다.
이것은 백테스트에서만 해당되는 것 같습니다.
가격 및 (부분) 이익과 함께 백테스트에서 트리거된 중지를 안정적으로 감지하는 방법을 아는 사람이 있습니까?
고맙습니다