[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 638

 
das Limit für den privaten oberen/aktuellen Zeitrahmen um +1 erhöhen.
 
Also, mein Bruder hat bisher ein paar Spiele in Panzern gespielt. Bestellungen nicht löschen, zumindest wurde es ein wenig besser. Jetzt ist der Code, nämlich tupfte ich beide, und ich fügte hinzu, i=OrdersTotal()-1; diese Zeile in der Schleife in der Theorie sollte obispechit seine Fortsetzung, bis alle nicht getötet wird, aber dies ist nicht geschehen. Hier:
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);
         } } }
        
NICHT DIE ENTFERNTE ORDNUNG LÄSST DIE NEUE ORDNUNG NICHT SEIN!!! Hilfe!!!
 
//+------------------------------------------------------------------+
//|  Удаляет рыночные и отложенные ордера.                           |
//|  Как отдельные по тикету, так и по фильтру в цикле поиска        |
//|  Фильтры по магику,типу,символу. Если вызвать с символом "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);}
 
 
Wow, so viele Zeilen! Danke!!!!
 
Meine Herren Experten, bitte geben Sie mir Tipps, wie ich eine gute Kurshistorie in das Terminal hochladen kann. Für den Test meines ersten Roboters ist erforderlich. Die Notierungen für EUR-USD sind 4-stellig.
 
Sancho77:

Ich habe es auf beide Arten versucht:

Immer noch keine Reaktion.




Es funktioniert);
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:
Meine Herren Experten, bitte beraten Sie mich, wie man einen guten Kursverlauf in das Terminal hochlädt. Für den Test meines ersten Roboters ist erforderlich. Die Notierungen für EUR-USD sind 4-stellig.
Wenn Sie mit dem Tester spielen wollen, laden Sie die Geschichte von MetaQuotes über F2 herunter. Für einen erfolgreichen Echtzeitbetrieb benötigen Sie Kurse vom Server Ihres Maklerunternehmens. Wenn Ihr Maklerunternehmen nicht über einen solchen Dienst "Kursarchiv" verfügt (dieser kann auf den Websites einiger Maklerunternehmen zu finden sein), muss die Historie in einem Echtzeitmodus erfasst werden - es handelt sich um strategische Informationen. Dies ist ein automatisches Tool zum Sammeln von Angeboten.
 

Guten Tag an alle!

Frage zur Funktion iMAOnArray(array[], total, period, ma_shift, ma_method, shift)

Können Sie mir sagen, wenn array[] ein Puffer-Array sein muss oder kann jeder sein? Das Problem ist, dass wenn

Ich erstelle und initialisiere ein Array in einem Programm, diese Funktion funktioniert nicht. Aber wenn ich überSetIndexBufferbinden

... alles funktioniert, wie es sollte.

 
r772ra:

Es funktioniert));
Herzlichen Dank! Es hat wirklich funktioniert, aber es war seltsam, ich habe immer auf M15 getestet, aber dann habe ich beschlossen, es auf H1 zu versuchen und das Signal erschien. Dann ging ich zurück zu M15 - es funktionierte)))