후행 정지 및 후행 이익 - 페이지 4

 

네, 이해했습니다. cnt는 3,2,1과 같은 값을 가지며 Ticket Number는 다른 값을 가지므로 비교할 수 없습니다.

if(OrdersTotal()>0){

        for(cnt=OrdersTotal()-1;cnt>=0;cnt--){

        

        if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;

        if(OrderSymbol() == Symbol() && OrderMagicNumber() ==  MagicNumber){



                sl     = OrderStopLoss(); // Stop Loss. 

                tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. 

                Order Ticket=OrderTicket(); 

                

                if(OrderType()==OP_SLL){ 

                if( Order Ticket== Sell_Order_Ticket_1){ Do the Normal Trailing Stop}

                if( Order Ticket== Sell_Order_Ticket_2){ Do the Normal Trailing Stop}

                if( Order Ticket== Sell_Order_Ticket_3){ Don't move the Stop Loss} 

이렇게 티켓 번호를 비교할 수 있습니까?

문안 인사

 
Arav007 :

네, 이해했습니다. cnt는 3,2,1과 같은 값을 가지며 Ticket Number는 다른 값을 가지므로 비교할 수 없습니다.

이렇게 티켓 번호를 비교할 수 있습니까?

문안 인사

아니요
PC를 다시 시작해야 하는 경우 Sell_Order_Ticket_1 값(2 및 3도)이 손실됩니다.

주문openprice 및 ordertakeprofit 확인

 
deVries :

아니요
PC를 다시 시작해야 하는 경우 Sell_Order_Ticket_1 값(2 및 3도)이 손실됩니다.

주문openprice 및 ordertakeprofit 확인


터미널을 다시 시작한 후 Sell_Order_Ticket_1의 값이 손실되는 이유를 이해하지 못했습니다.

그것은 변수이며 새 판매 주문 이 시작되지 않는 한 덮어쓰지 않습니다.

이것은 내가 이해하는 것이지만 귀하의 의견 뒤에는 논리가 있습니다. 그럼 설명을 좀 부탁드립니다.

그리고 OrderOpenPrice 및 OrderTakeProfit 함수를 살펴보았습니다. 어떻게 해야 할까요?

 
Arav007 :


터미널을 다시 시작한 후 Sell_Order_Ticket_1의 값이 손실되는 이유를 이해하지 못했습니다.

그것은 변수이며 새 판매 주문이 시작되지 않는 한 덮어쓰지 않습니다.

이것은 내가 이해하는 것이지만 귀하의 의견 뒤에는 논리가 있습니다. 그럼 설명을 좀 부탁드립니다.

그리고 OrderOpenPrice 및 OrderTakeProfit 함수를 살펴보았습니다. 어떻게 해야 할까요?


터미널을 다시 시작하면 모든 변수가 손실됩니다.

클라이언트 터미널의 전역 변수만 검색할 수 있습니다.

 
Arav007 :


터미널을 다시 시작한 후 Sell_Order_Ticket_1의 값이 손실되는 이유를 이해하지 못했습니다.

그것은 변수이며 새 판매 주문이 시작되지 않는 한 덮어쓰지 않습니다.

이것은 내가 이해하는 것이지만 귀하의 의견 뒤에는 논리가 있습니다. 그럼 설명을 좀 부탁드립니다.

그리고 OrderOpenPrice 및 OrderTakeProfit 함수를 살펴보았습니다. 어떻게 해야 할까요?


파일을 만드는 몇 가지 더 테스트를 수행

3개의 거래를 열다

당신이 얻는 숫자를 기록하십시오

그런 다음 metatrader4를 닫고 다시 시작하십시오. Sell_Order_Ticket_1, Sell_Order_Ticket_2 및 Sell_Order_Ticket_3 의 값을 확인하십시오 .

그들은 동일합니까 ?? 그렇지 않다면 당신은 어떤 가치를 얻습니까 ??

 

알겠습니다. '변수'에 대한 이 정보는 미래 에도 도움이 될 것입니다.

if(OrdersTotal()>0){

        for(cnt=3;cnt>0;cnt--){

        if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;

        if(OrderSymbol() == Symbol() && OrderMagicNumber() ==  MagicNumber){



                sl     = OrderStopLoss(); // Stop Loss. 

                tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. 

if(OrderType()==OP_BUY){ 

if (cnt==3) { Do the Normal Trailing Stop}

if (cnt==2) { Do the Normal Trailing Stop}

if (cnt==1) { Don't move the Stop Loss}

}

}

} 

이건 어때요?

 
Arav007 :

알겠습니다. 'Variable'에 대한 이 정보는 미래에도 도움이 될 것입니다.

이건 어때요?


먼저 거래 시작 코드를 다시 볼 수 있습니까 ??

그 거래의 손절매와 이익실현을 확인 하십시오. 여전히 뭔가 잘못된 것이 보이십니까 ??

 
deVries :


먼저 거래 시작 코드를 다시 볼 수 있습니까 ??

그 거래의 손절매와 이익실현을 확인하십시오. 여전히 뭔가 잘못된 것이 보이십니까 ??


오, 그것은 잘못된 코드에 대한 것입니다. 결함을 수정한 후 이익실현 부분은 지금 괜찮지만 손절매가 문제입니다.

논리:

if (빠른_EMA>느린_SMA)

{

if (MA_Difference_1>=Value_Diff && iOpenOrders_Buy ==0)

{

구입하다

}

}

 
Arav007 :


오, 그것은 잘못된 코드에 대한 것입니다. 결함을 수정한 후 이익실현 부분은 지금 괜찮지만 손절매가 문제입니다.

무슨 손절매를 원하셨나요?? 그 거래를 위해 ??
 
deVries :
무슨 손절매를 원하셨나요?? 그 거래를 위해 ??


USDJPY 거래의 경우 다음과 같습니다.

첫 번째 거래(여기서 시간의 역 배열로 인한 마지막 거래)는 TP= 103.636입니다.

2차 거래의 TP= 103.736

3rd Trade's TP= 108.536 [ 이 TP를 그런 거리로 설정하여 TP가 없는 것처럼 작동합니다.]

이제 내 요구 사항에 따라 가격이 이익으로 7 pip[103.603]일 때 손절매

첫 번째와 두 번째 거래는 1핍 이익[103.543]이 되고 세 번째 거래의 손절매는 103.386으로 유지됩니다.

여기 아래 이미지와 같이:

첫 번째 GBPUSD 주문은 10핍 이익에서 마감되었습니다.

2nd Order는 아직 실행 중이고 SL이 이동했습니다.

3rd Trade의 경우 SL도 내가 원하지 않는 이사를 받았습니다.