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

 
deVries :


수정해주셔서 감사합니다.

count=count-1을 사용하는 경우; 그런 다음 두 개의 게시물을 다시 지우려고했던 'for'루프를 사용할 필요가 없습니다.

그리고 때로는 시도해 볼 가치가 있습니다. 지금처럼 스스로 실수를 수정하고 너무 기쁩니다!

다시 한번 감사합니다. Take Profit 부분은 지금까지 예상대로 작동하고 있습니다.

 
Arav007 :


수정해주셔서 감사합니다.

count=count-1을 사용하는 경우; 그런 다음 두 개의 게시물을 다시 지우려고했던 'for'루프를 사용할 필요가 없습니다.

그리고 때로는 시도해 볼 가치가 있습니다. 지금처럼 스스로 실수를 수정하고 너무 기쁩니다!

다시 한번 감사합니다. Take Profit 부분은 예상대로 작동하고 있습니다.


계속 테스트하고 코드를 읽고 많은 것을 배우게 됩니다.

당신은 스스로 많은 것을 배울 수 있습니다

사물을 이해하고 탐구하려고 하면

자신의 '데모' 테스트 계정에서 테스트 및 생성

 
deVries :


당신이 보는 코드를 계속 테스트하고 읽고 많은 것을 배웁니다.

당신은 스스로 많은 것을 배울 수 있습니다

사물을 이해하고 탐구하려고 하면

자신의 '데모' 테스트 계정에서 테스트 및 생성


네, 저는 제가 이해하고 있는 것을 이해하려고 노력하고 있습니다.

이제 ' Stop Loss Trailing' 부분에 대해 생각했습니다.

'Trailing Stop' 루프를 시작하기 위한 조건:

if(OrdersTotal()>0){

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

{

후행 정지;

}

}

이제 이 루프가 열린 총 주문 수만큼 실행될 것이라고 생각했습니다. 그리고 내 목표는 마지막/세 번째 주문을 위한 'Not to Trail' 정지입니다.

그렇다면 '두 번째' 순서에서 루프를 멈추면 어떻게 될까요?

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

 
Arav007 :


네, 저는 제가 이해하고 있는 것을 이해하려고 노력하고 있습니다.

이제 'Stop Loss Trailing' 부분에 대해 생각해 봤습니다.

'Trailing Stop' 루프를 시작하기 위한 조건:

if(OrdersTotal()>0){

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

{

후행 정지;

}

}

이제 이 루프가 열린 총 주문 수만큼 실행될 것이라고 생각했습니다. 그리고 내 목표는 마지막/세 번째 주문을 위한 'Not to Trail' 정지입니다.

그렇다면 '두 번째' 순서에서 루프를 멈추면 어떻게 될까요?

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


올바른 기호와 올바른 매직넘버 찾기

그러면 EA의 거래입니다. 이제 Bid/Ask가 orderopenprice()에서 xx핍 떨어져 있는지 확인하십시오 .

여기에서 검색하면 사용할 수 있는 예제를 찾을 수 있습니다.

 
deVries :


올바른 기호와 올바른 매직넘버 찾기

그러면 EA의 거래입니다. 이제 Bid/Ask가 orderopenprice()에서 xx핍 떨어져 있는지 확인하십시오.

여기에서 검색하면 사용할 수 있는 예제를 찾을 수 있습니다.


확인 부분과 조건 부분이 있습니다.

 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. 

                

                 if ( OrderType ()== OP_BUY ){

                

                         if ( Ask > NormalizeDouble ( OrderOpenPrice ()+TrailingStart* vPoint, Digits )

                        && tStopLoss < NormalizeDouble ( Bid -(TrailingStop+TrailingStep)*vPoint, Digits )){

 tStopLoss = NormalizeDouble ( Bid -TrailingStop*vPoint, Digits ); 

}

}

그러나 여기서 거래를 구별하는 방법을 이해하지 못합니다. 'Trailing Stop' 기능 은 프로그램 시작 시 호출됩니다.

 

*특정 이익 한도인 10핍에 도달한 후 손절매 는 5핍으로 이동합니다. 이제 해당 거래가 5핍으로 되돌아가면 거래의 '2/3'이 청산됩니다.

*나머지 '1/3'은 계속 실행되며 '트레일링 스톱'은 적용되지 않습니다.

세 가지 거래가 있는데 세 가지 거래를 어떻게 처리하고 싶습니까?

그래서 당신이 원하는대로하고 있습니까 ??

또는 어느 것이 특정 이익 후에 수정되어야 하는지...

 
deVries :

*특정 이익 한도인 10핍에 도달한 후 손절매는 5핍으로 이동합니다. 이제 해당 거래가 5핍으로 되돌아가면 거래의 '2/3'이 청산됩니다.

*나머지 '1/3'은 계속 실행되며 '트레일링 스톱'은 적용되지 않습니다.

세 가지 거래가 있는데 세 가지 거래를 어떻게 처리하고 싶습니까?

그래서 당신이 원하는대로하고 있습니까 ??

또는 어느 것이 특정 이익 후에 수정되어야 하는지...


문제를 단순화하기 위해 동일한 로트의 '3개' 별도 거래로 진행하기로 결정했습니다. 따라서 2개 중 2개가 마감되면 총 거래(로트)의 '2/3'이 마감됩니다.

그리고 나머지 거래(One Third)는 계속 실행될 것입니다. 즉, 'Trailing Stop'이 적용되지 않습니다.

손절매 는 처음 두 거래의 경우 이익의 특정 핍으로 이동되지만 세 번째 거래의 경우 이동하지 않습니다.

 
Arav007 :


문제를 단순화하기 위해 동일한 로트의 '3개' 별도 거래로 진행하기로 결정했습니다. 따라서 2개 중 2개가 마감되면 총 거래(로트)의 '2/3'이 마감됩니다.

그리고 나머지 거래(One Third)는 계속 실행될 것입니다. 즉, 'Trailing Stop'이 적용되지 않습니다.

손절매는 처음 두 거래의 경우 이익의 특정 핍으로 이동되지만 세 번째 거래의 경우 이동하지 않습니다.


수정을 올바르게 수행하려면 일부 기능을 사용해야 합니다.

이 순간에 수정해야 하는 거래를 선택하는 방법을 어떻게든 확인해야 합니다.

여기에서 기능을 확인하십시오 무역 기능 및 무역 1을 선택할 수 있는지 확인하십시오

 
deVries :


수정을 올바르게 수행하려면 일부 기능을 사용해야 합니다.

이 순간에 수정해야 하는 거래를 선택하는 방법을 어떻게든 확인해야 합니다.

여기에서 기능을 확인하십시오 무역 기능 및 무역 1을 선택할 수 있는지 확인하십시오


인덱스 번호를 티켓 번호와 비교할 수 있습니까?

   if (count== 3 ) 

    {

  SellOrder_1= OrderSend ( Symbol () , iOrderType_Sell , LotSize,OpenPrice,Slippage ,dStopLossPrice ,dTakeProfitPrice_1 , "Sell Order" ,MagicNumber , 0 ,Red);

                

     if (SellOrder_1> 0 ) //Checking if the order was opened or not

      { 

      sLog_CheckBuyConditions = sLog_CheckBuyConditions + sNL + "    Sell order 1 sent successfully. Ticket=" + SellOrder_1;

       Sell_Order_Ticket_1=SellOrder_1;

      count = count - 1 ; 

      }

     else {

          iLastError = GetLastError();                               

          sLog_CheckBuyConditions = sLog_CheckBuyConditions + sNL + "    Error sending sell order 1. Error code=" + ErrorDescription(iLastError);



} 

} 

//Trailing Stop Function 

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. 

                

                 if ( OrderType ()== OP_BUY ){

if ( cnt==Sell_Order_Ticket_1 ){

Proceed to Next 

} 

위의 Color Blocked 부분을 참고해주세요.

감사해요

 
Arav007 :


인덱스 번호를 티켓 번호와 비교할 수 있습니까?

위의 Color Blocked 부분을 참고해주세요.

감사해요


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

귀하의 주문 총계는 3 거래입니다

이 작업을 수행

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

for (cnt= 3 - 1 ;cnt>= 0 ;cnt--)
   {
   Print ( "cnt =  " ,cnt);
   }

터미널을 열고 Experts를 보면 무엇을 읽습니까 ??

Sell_Order_Ticket_1은 cnt와 같은 값을 갖습니까?

예, 당신이 나를 증명할 수 있다면 그것은 ...

아니라면 왜??

사유: