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

 

차트에서 exp를 제거하는 코드를 이미 제공했습니다. 차트당 하나만 있을 수 있으므로 이 함수를 자체 핸들로 호출하면 Expert Advisor가 자체 삭제됩니다.

 
FAQ :


...삭제 지시...


덕분에 작동합니다.

추신

 #include <WinUser32.mqh>
 
말할 필요없이. 가져온 기능 으로 작업할 때 해당 응용 프로그램에서 내보내기를 연결하는 것을 잊지 마십시오.
 
도움말, 왜 작동하지 않습니까?

고맙습니다.

 //-----
   static bool First = true ;
   static int PreOrdersTotal = 0 ;
   int NowOrdersTotal = CountTrades();
   if (First)
  {
    PreOrdersTotal = NowOrdersTotal;
    First = false ;
     return ( 0 );
  }
   if (UseSound == true && NowOrdersTotal < PreOrdersTotal) {PlaySound(CloseSound);}
  PreOrdersTotal = NowOrdersTotal;
//-----

[Deleted]  
FAQ :

창을 닫고 삭제하도록 지시하십시오 ...

PostMessageA( WindowHandle ( Symbol (), Period ()), WM_COMMAND, 33050 , 0 );

이는 MQL4가 Expert Advisor의 작업을 정기적으로 종료하는 방법을 제공하지 않음을 의미합니다. Win32 API에 대한 직접 액세스만 가능합니다.

이해합니다. 감사합니다.

 
takeda :

이는 MQL4가 Expert Advisor의 작업을 정기적으로 종료하는 방법을 제공하지 않음을 의미합니다. Win32 API에 대한 직접 액세스만 가능합니다.

이해합니다. 감사합니다.

도서관 . MT4 관리에 유용한 많은 기능. 전문가의 제거를 포함합니다.
[Deleted]  
Zhunko :
도서관 . MT4 관리에 유용한 많은 기능. 전문가의 제거를 포함합니다.

(지금까지 유창하게) 보았다. 훌륭한 도서관!

고맙습니다!

 

안녕하세요.

주문 수정이 부분적으로 작동합니다. 문제가 무엇인지 알아낼 수 있도록 도와주세요.

코드와 로그를 첨부합니다. 작동하는 것과 작동하지 않는 것을 기록했습니다.

 void AllSellLockBuyModifi()
{
 double sell_sl = 0.0 ;
 double sell_tp = NormalizeDouble ((AllAvP()-TakeProfit* Point ), Digits );
 int spread = MarketInfo ( Symbol (),MODE_SPREAD);
 double lock_buy_tp = NormalizeDouble ((LastSellLockBuyAvP()+TakeProfit* Point ), Digits );
 double last_sell_sl = NormalizeDouble ((lock_buy_tp+spread* Point ), Digits );
 double lock_buy_sl = NormalizeDouble ((sell_tp-spread* Point ), Digits );     
 Print ( "AllAvP = " ,AllAvP(), " sell_tp = " ,sell_tp, " lock_buy_tp = " ,lock_buy_tp, " last_sell_sl = " ,last_sell_sl, " lock_buy_sl = " ,lock_buy_sl);
 for ( int i = 0 ; i <= OrdersTotal (); i++)
    {
     OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
     if ( OrderSymbol ()!= Symbol ()) continue ;
     if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==MagicNumber)
     if ( OrderType ()==OP_SELL)
       { Print ( "Find Sell Order" );
         if ( OrderOpenPrice ()==!LastSellPrice()) sell_sl = 0 ;
         if ( OrderOpenPrice ()==LastSellPrice()) sell_sl = last_sell_sl;
         Print ( "Мод-ция ордера SELL № " , OrderTicket ());
         OrderModify ( OrderTicket (), OrderOpenPrice (),sell_sl,sell_tp, 0 , CLR_NONE );
        error= GetLastError ();
         if (error != 0 ) Print ( "Мод-ция ордера SELL № " , OrderTicket (), " ошибка № " ,error);
       }         
         else 
             { Print ( "Find BUY Order" );       
               if ( OrderType ()==OP_BUY)
                {
                 Print ( "Мод-ция ордера LOCK BUY" );
                 OrderModify ( OrderTicket (), OrderOpenPrice (),lock_buy_sl,lock_buy_tp, 0 , CLR_NONE );
                 error= GetLastError ();
                 if (error != 0 ) Print ( "Мод-ция ордера LOCK BUY № " , OrderTicket (), " ошибка № " ,error);
                }
             }
    }
 return ( 0 );
}
파일:
log.txt  4 kb
 
TEXX :

안녕하세요.

주문 수정이 부분적으로 작동합니다. 문제가 무엇인지 알아낼 수 있도록 도와주세요.

코드와 로그를 첨부합니다. 작동하는 것과 작동하지 않는 것을 기록했습니다.


먼저 다음 줄을 수정합니다.

 for ( int i = 0 ; i <= OrdersTotal (); i++)
    {
     OrderSelect (i, SELECT_BY_POS, MODE_TRADES);

그들에:

 for ( int i = 0 ; i < OrdersTotal (); i++)
   if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
    {
 
PapaYozh :


먼저 다음 줄을 수정합니다.

그들에:


도움이되지 않았습니다 ...