[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 638

 
limiti özel yüksek/mevcut zaman dilimine göre artırın +1.
 
Yani, kardeşim şu ana kadar birkaç tank oyunu oynadı. Ben sorunu kaldırmadım. Biraz daha iyi olmasına rağmen siparişleri silmiyor. Kod şu şekilde yani hem bunu hem de bunu ekledim ve ayrıca i = OrdersTotal()-1; döngüdeki bu satır, teorik olarak, her şey kaldırılana kadar devam etmesini sağlamalıdır, ancak bu olmadı. Burada:
 if (Summaprofita()>=Profit_v_balans )
        {
         for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
           {
               bool error=true;
             OrderSelect (i,SELECT_BY_POS,MODE_TRADES);
            
             if ( magic== OrderMagicNumber ( ) && OrderSymbol ()== Symbol ())
              {
              
                 OrderClose ( OrderTicket ( ), OrderLots ( ), OrderClosePrice ( ) , 0 , CLR_NONE ); error=false;
                           Sleep ( 1000 );
             OrderDelete ( OrderTicket ());error=false;
             
               if ( OrderType ()==OP_BUY)
              {
               OrderClose ( OrderTicket (), OrderLots (),Bid, 3 , CLR_NONE );
               
              }
             if ( OrderType ()==OP_SELL)
              {
               OrderClose ( OrderTicket (), OrderLots (),Ask, 3 , CLR_NONE );
               
              }
              i= OrdersTotal ()- 1 ;
             Sleep ( 1000 );
         } } }
        
KALDIRILMAMIŞ BİR SİPARİŞ YENİ BİR SİPARİŞ VERMEYE İZİN VERMEZ !! Yardım!!
 
//+------------------------------------------------------------------+
//|  Удаляет рыночные и отложенные ордера.                           |
//|  Как отдельные по тикету, так и по фильтру в цикле поиска        |
//|  Фильтры по магику,типу,символу. Если вызвать с символом "All" - |
//|  То удалит все, подобно функции DeleteAll()                      |
//+------------------------------------------------------------------+
bool OrdClose(int magik  = -1,
              int type   = -1,//=10 удаление всех рыночных; =11 удаление всех отложенных 
              int ticket = -1,
           string symb   = "",
           double cLot   = -1      
              ){int   digit = MarketInfo(Symbol(),MODE_DIGITS);double lot;
//+------------------------------------------------------------------+
   if(cLot==0){return;}
   if(symb==""){symb=Symbol();}
   int slip = MarketInfo(symb,MODE_SPREAD);
   double ltstp = MarketInfo(Symbol(),MODE_LOTSTEP);
   if(ltstp == 0.1){int ltdg = 1;}
   if(ltstp == 0.01){   ltdg = 2;} 
   if(ticket>0){
      GetLastError();
      RefreshRates();
      if(OrderSelect(ticket,SELECT_BY_TICKET)){
         if(OrderCloseTime()!=0){return;}
         if(OrderType()<2){
                lot = OrderLots();
                if(cLot>0){
                        lot = NormalizeDouble(cLot,ltdg);
                        if(lot>OrderLots()){lot=OrderLots();}
                        if(lot<MarketInfo(Symbol(),MODE_MINLOT)){lot=MarketInfo(Symbol(),MODE_MINLOT);}
                }
            if(!OrderClose(OrderTicket(),
                                     lot,
       NormalizeDouble(OrderClosePrice(),MarketInfo(symb,MODE_DIGITS)),
                                    slip,
                                   Green
                          )
            ){
               Print(GetLastError());
               return(false);              
            }else{
               Print("Order "+GetNameOP(OrderType())+" closed");
               return(true);
            }                          
         }else{
            if(!OrderDelete(OrderTicket(),GetOrdCl(type))){
               Print(GetLastError());
               return(false);              
            }else{
               Print("Order "+GetNameOP(OrderType())+" closed");
               return(true);
            }
         }
      }
   }else{
//+------------------------------------------------------------------+
   for(int i=OrdersTotal()-1;i>=0;i--){
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
         if(OrderCloseTime()!=0){continue;}
         if(symb!="All"){
            if(OrderSymbol()!=symb){continue;}
            if(type>=0&&type<6){if(OrderType()!=type){continue;}}
            if(type==10){if(OrderType()>1){continue;}}
            if(type==11){if(OrderType()<2){continue;}}
            if(magik>0){if(OrderMagicNumber()!=magik){continue;}}
         }
         if(OrderType()<2){
                lot = OrderLots();
                if(cLot>0){
                        lot = NormalizeDouble(cLot,ltdg);
                        if(lot>OrderLots()){lot=OrderLots();}
                        if(lot<MarketInfo(Symbol(),MODE_MINLOT)){lot=MarketInfo(Symbol(),MODE_MINLOT);}
                }
                Print("Close ",type,"  ",OrderType());
            if(!OrderClose(OrderTicket(),
                                     lot,
       NormalizeDouble(OrderClosePrice(),MarketInfo(symb,MODE_DIGITS)),
                                    slip,
                                   Green
                          )
            ){
               Print(GetLastError());
               return(false);              
            }else{
               Print("Order "+GetNameOP(OrderType())+" closed");
            }                          
         }else{
            if(!OrderDelete(OrderTicket(),GetOrdCl(type))){
               Print(GetLastError());
               return(false);              
            }else{
               Print("Order "+GetNameOP(OrderType())+" closed");
            }
         }
      }
   }          
//-----+
}   
return(true);}
 
Komutların açıklaması: https://www.mql5.com/ru/forum/137651/page3
 
Vay, çok fazla satır! Teşekkürler!!!!
 
Tanrım, uzmanlar, lütfen bana terminale iyi bir alıntı geçmişinin nasıl yükleneceğini söyleyin. İlk robotunuzu test etmek için gereklidir. EURO-DOLLAR 4 haneli teklifler.
 
Sancho77 :

Ben de şöyle denedim:

Hala tepki yok.




İşler));
 int start()
  {
//----
     Comment ( "Signal = " ,Signal());       
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

   int Signal()
  {
   double dn_stop_1 = iCustom ( NULL , 0 , "NRTR_ATR_STOP" ,ATR,Coeficient, 0 , 1 ); // синий, снизу
   double up_stop_1 = iCustom ( NULL , 0 , "NRTR_ATR_STOP" ,ATR,Coeficient, 1 , 1 ); // красный, сверху
              
   if (dn_stop_1!= 0.0 ) return ( 1 );
   if (up_stop_1!= 0.0 ) return (- 1 );
   
   return ( 0 );
   } 
 
Myth63 :
Tanrım, uzmanlar, lütfen bana terminale iyi bir alıntı geçmişinin nasıl yükleneceğini söyleyin. İlk robotunuzu test etmek için gereklidir. EURO-DOLLAR 4 haneli teklifler.
"Test cihazında oynamak" için, geçmişi F2 aracılığıyla MetaQuotes'tan indirirseniz. Gerçek hayatta başarılı bir çalışma için DC'nizin sunucusundan alıntılara ihtiyacınız var. DC'nin böyle bir "Alıntı Arşivi" hizmeti yoksa (bazı DC'lerin web sitelerinde olur), o zaman geçmiş gerçek zamanlı olarak toplanmalıdır - bu stratejik bilgidir. Bu, teklif toplamak için otomatik bir araçtır.
 

Herkese iyi günler!

iMAOnArray işlevini kullanma hakkında soru ( dizi[] , toplam, nokta, ma_shift, ma_method, shift)

Bana [] dizisinin bir arabellek olması gerektiğini söyle, yoksa herhangi bir şey olabilir mi? Sorun şu ki, ne zaman

Bir programda bir dizi oluşturup başlatıyorum , sonra bu işlev çalışmıyor. Ve SetIndexBuffer aracılığıyla bağlandığımda

her şey olması gerektiği gibi çalışıyor.

 
r772ra :

İşler));
Çok teşekkürler! Gerçekten işe yaradı, ama bir şekilde garip, her zaman M15'te test ettim ve sonra H1'i denemeye karar verdim ve sinyal belirdi. Sonra M15'e döndü - işe yarıyor)))