[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 627

[Deleted]  
lottamer :

어떻게든 손절매를 수정하는 것이 가능하지만 동시에 한 줄에서 이익실현을 건드리지 않습니다(언급하지 마십시오. 다른 기능에서 이전에 설정한 것과 동일하게 유지해야 함)

OrderModify(OrderTicket(),0,stop_loss, ???, 0,CLR_NONE);

OrderModify(OrderTicket(),OrderLots(),stop_loss,OrderTakeProfit(), 0, CLR_NONE );

그만하세요, 그래서 당신은 많이 가지고 있습니다 - 0.

 
동시에 이 주문은 OrderSelect에 의해 미리 선택되어야 합니다. 그리고 나는 이미이 갈퀴를 밟았습니다. 그렇지 않으면 종종 티켓이 무엇이든 될 수 있습니다.
[Deleted]  
Dimka-novitsek :
동시에 이 주문은 OrderSelect에 의해 미리 선택되어야 합니다. 그리고 나는 이미이 갈퀴를 밟았습니다. 그렇지 않으면 종종 티켓이 무엇이든 될 수 있습니다.

예, 예, 더 정확하게는 티켓이 지정한 티켓이 되지만 모든 주문에 대해 OrderLots( ) 및 OrderTakeProfit( ) 값을 반환할 수 있습니다.
 

좋은 아침!

나는 그것을 확실히 이해할 수 없습니다. 후행 정지 조건이 작동하지 않습니다.

 //***************************************   
 
 bool nahodka= false ;
  
 if ( OrderSelect (tacket, SELECT_BY_TICKET , MODE_HISTORY)) 
 if (OrderTakeProfit( )- 3 * Point <profit&&OrderTakeProfit( )+ 3 * Point >profit) nahodka= true ;     // Находим ордер, сработавший именно по тейкпрофиту 
   
 if (nahodka){ if ( OrderSelect (tucket,SELECT_BY_TICKET)){
 if (OrderStopLoss( )<Bid-treylingstop* Point ){ Print ( "втораямодифи    " );
 OrderModify(  tucket, OrderOpenPrice(), Bid-treylingstop* Point , OrderTakeProfit(), 0 , CLR_NONE );}}}
 if (BUY == 0 ) {perenos= false ;srabotka= false ;nahodka= false ;} 
 
 
 //*************************************** 
 
 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
               
               //SELL

그래서 주문이 아직 기록에 전혀 없을 때 즉시 선택되며 전혀 이해되지 않습니다 !!

 //***************************************   
 
  nahodka= false ;
 
 for (i= 0 ; i<=OrdersHistoryTotal(); i++) {
 if (! OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) continue ;
 if (OrderSymbol()!= Symbol ()) continue ; 
 if (OrderMagicNumber() != 450 ) continue ; 
 if (tocket==OrderTicket()) 
 if (OrderTakeProfit( )- 3 * Point <profitsell&&OrderTakeProfit( )+ 3 * Point >profitsell) nahodka= true ;}
     // Находим ордер, сработавший именно по тейкпрофиту 
 
 
  
 if (nahodka){ if ( OrderSelect (tecket,SELECT_BY_TICKET)){
 if (OrderStopLoss( )>Bid+treylingstop* Point ){ Print ( "четвёртаямодифи    " );
 OrderModify(  tecket, OrderOpenPrice(), Bid+treylingstop* Point , OrderTakeProfit(), 0 , CLR_NONE );}}}
 for ( i = OrdersTotal () - 1 ; i >= 0 ; i--)

그리고 지금 상황은 더 좋습니다! 이러한 종소리와 휘파람으로 순서는 이미 기록에 있을 때 최소한 선택됩니다.

그러나 5, 10번 중 한 번은 nahodka가 참으로 평가되지 않으며 더 이상 수정이 발생하지 않습니다!!

 
네, 맞습니다!!
 

예를 들어, 구매를 수정하지 않는 방법이 있습니다. 이는 미러 조건이며 항상 작동하는 것도 아닙니다.

여기가 여기입니다.

 //***************************************   
 
 bool nahodka= false ;
 
 for (i= 0 ; i<=OrdersHistoryTotal(); i++) {
 if (! OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) continue ;
 if (OrderSymbol()!= Symbol ()) continue ; 
 if (OrderMagicNumber() != 450 ) continue ; Print ( " tacket " ,tacket, "  OrderTicket() " ,OrderTicket(), "    profit " , profit, "    OrderTakeProfit( ) " ,OrderTakeProfit( ) );
 if (tacket==OrderTicket()) { Print ( "tacket==OrderTicket()    " );
 if (OrderTakeProfit( )- 3 * Point <profit&&OrderTakeProfit( )+ 3 * Point >profit) nahodka= true ;}}     // Находим ордер, сработавший именно по тейкпрофиту 
 
 
  
 if (nahodka){ if ( OrderSelect (tucket,SELECT_BY_TICKET)){
 if (OrderStopLoss( )<Bid-treylingstop* Point ){ Print ( "втораямодифи    " );
 OrderModify(  tucket, OrderOpenPrice(), Bid-treylingstop* Point , OrderTakeProfit(), 0 , CLR_NONE );}}}
 if (BUY == 0 ) {perenos= false ;srabotka= false ;nahodka= false ;} 
 
 
 //*************************************** 
 
 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
               
               //SELL
[Deleted]  
Dimka-novitsek :

좋은 아침!

나는 그것을 확실히 이해할 수 없습니다. 후행 정지 조건이 작동하지 않습니다.

그래서 주문이 아직 기록에 전혀 없을 때 즉시 선택되며 전혀 이해되지 않습니다 !!

그래서 상황은 이미 더 좋습니다!! 이러한 종소리와 휘파람으로 순서는 이미 기록에 있을 때 최소한 선택됩니다.

그러나 5, 10번 중 한 번은 nahodka가 참으로 평가되지 않으며 더 이상 수정이 발생하지 않습니다!!


if(OrderClosePrice()==OrderTakeProfit())nahodka=true;를 시도해 보셨습니까?
 
Dimka-novitsek :

좋은 아침!

나는 그것을 확실히 이해할 수 없습니다. 후행 정지 조건이 작동하지 않습니다.

그래서 주문이 아직 기록에 전혀 없을 때 즉시 선택되며 전혀 이해되지 않습니다 !!

그리고 지금 상황은 더 좋습니다! 이러한 종소리와 휘파람으로 순서는 이미 기록에 있을 때 최소한 선택됩니다.

그러나 5, 10번 중 한 번은 nahodka가 참으로 평가되지 않으며 더 이상 수정이 발생하지 않습니다!!

티켓 으로 주문을 선택할 때 풀은 고려되지 않습니다. 따라서 MODE_HISTORY를 작성하는 것은 완전히 쓸모가 없습니다. 티켓으로 주문을 선택한 후에는 마감 시간 OrderCloseTime()도 확인해야 합니다. 0보다 크면 주문이 마감되어 내역에서 선택되고, ZERO이면 주문이 여전히 시장 위치 목록에서 선택됩니다.

귀하의 라인에는 다음 확인 사항이 없습니다.

 if ( OrderSelect (tacket, SELECT_BY_TICKET , MODE_HISTORY)) 
if (OrderTakeProfit( )- 3 * Point <profit&&OrderTakeProfit( )+ 3 * Point >profit) nahodka= true ;     // Находим ордер, сработавший именно по тейкпрофиту 

작게 시작:

 if ( OrderSelect (tacket, SELECT_BY_TICKET)) {
   if (OrderCloseTime()> 0 ) {                         // Убедились, что ордер выбран из истории
       // Тут ищете далее то, что вам необходимо ... а закрылся ли он по тейку ...
      }
   }

그리고 당신은 행복할 것입니다...

 
Dimka-novitsek :

좋은 아침!

나는 그것을 확실히 이해할 수 없습니다. 후행 정지 조건이 작동하지 않습니다.

그래서 주문이 아직 기록에 전혀 없을 때 즉시 선택되며 전혀 이해되지 않습니다 !!

그래서 상황은 이미 더 좋습니다!! 이러한 종소리와 휘파람으로 순서는 이미 기록에 있을 때 최소한 선택됩니다.

그러나 5, 10번 중 한 번은 nahodka가 참으로 평가되지 않으며 더 이상 수정이 발생하지 않습니다!!

! - 티켓에 이름을 붙일 수 있는 당신의 수완: tecket, tocket, tucket 등 등. 이 이름들 자체가 헷갈리지 않으세요?! 내가 조언하는 것은 혼동을 피하고 이렇게 하지 말라는 것입니다. Lochbranding은 ADIDAS 및 ADITAS와 같은 원칙을 기반으로 합니다.

또한 다음과 같이 많은 플래그가 필요하지 않습니다.

     if ( OrderSelect (ticket, SELECT_BY_TICKET))
     {
         //---- Проверяем закрыт этот ордер или нет
         if (OrderCloseTime > 0 )
         {
             //---- Находим ордер, сработавший именно по тейкпрофиту 
             if ( NormalizeDouble (OrderTakeProfit()- OrderClosePrice()), Digits ) == 0.0 )
             {
                 if ( OrderSelect (tucket, SELECT_BY_TICKET))
                 {
                     double ld_SL = NormalizeDouble (Bid - treylingstop * Point , Digits );
                     if ( NormalizeDouble (ld_SL - OrderStopLoss(), Digits ) > 0.0 )
                     {
                         Print ( "втораямодифи    " );
                         OrderModify (tucket, OrderOpenPrice(), ld_SL, OrderTakeProfit(), 0 , CLR_NONE );
                     }
                 }
             }
         }
     }
이것은 코드를 기반으로 하는 쉬운 즉흥 연주입니다.
 
감사해요!!!!!!!