[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 427

 
Nun, ja, ich habe mir den Code stundenlang Buchstabe für Buchstabe angesehen.
 

Das ist erstaunlich. Ich erteile dem Sethinker auf genau die gleiche Weise Aufträge. Mit allem, was dazugehört: Los, Eröffnungspreis, Gewinn. Und der erste Auftrag ist nicht durch OrderType definiert - er ist 0, obwohl der erste Auftrag eigentlich ein Kauflimit ist. Aber die nächsten offenen Aufträge werden durch OrderType ( ) korrekt bestimmt, in diesem Code habe ich sie 4 oder 5 und sie verhalten sich normal.

Ich kann die erste Bestellung auch nicht mit OrderDelete(OrderTicket( )) löschen. Die nächsten werden auf genau dieselbe Weise gelöscht, ohne dass es Probleme gibt.

 
Dimka-novitsek:

Das ist erstaunlich. Ich erteile dem Sethinker auf genau die gleiche Weise Aufträge. Mit allem, was dazugehört: Los, Eröffnungspreis, Gewinn. Und der erste Auftrag ist nicht durch OrderType definiert - er ist 0, obwohl es sich bei dem ersten Auftrag tatsächlich um ein Kauflimit handelt. Aber die nächsten offenen Aufträge werden durch OrderType ( ) korrekt bestimmt, in diesem Code habe ich sie 4 oder 5 und sie verhalten sich normal.

Ich kann die erste Bestellung auch nicht mit OrderDelete(OrderTicket( )) löschen. Die nachfolgenden werden einfach so, in der richtigen Reihenfolge gelöscht.


Es sieht so aus, als ob die Hellseher im Urlaub sind. Wir sollten Ihnen den gesamten Code zeigen.

Obwohl, wenn man bedenkt, was zuvor gepostet wurde, gibt es eine Menge Fehler

 
Ich habe keinen Fehler im Logikcode. Wohin soll ich gehen? Ist das eine Art Nidachet der Sprach- oder Plattformhersteller?
 
//+------------------------------------------------------------------+
//|                                                      показзз.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
  int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;double price; int stsBUY;int stsSELL;double Price;int C=0;int GH;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   if (GH<10){
//----
   double price=(Ask+Bid)/2; 
   
    Alert ("OrdersTotal()",OrdersTotal());
       
       if(C==0){ Price = price ;  C=1;}
   //----    
       
       tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( )); 
   
   for(int i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_BUYSTOP", OrderType( ));
   OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vseOP_BUYSTOP",  GetLastError( ) );}
              
//----
  tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, Price -otstup*Point, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
    for( i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_SELLSTOP", OrderType( ));
     OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vseOP_SELLSTOP",  GetLastError( ) );}
//----
 
   //tiket= OrderSend( Symbol(), OP_BUY,  volume*A, Bid, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUY", 1000,  expiration, Red); 
   //Alert ("OP_BUY", GetLastError( ));
   //for( i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_BUY", OrderType( ));              
   //OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);Alert ("OrderCloseOP_BUY",  GetLastError( ) ); }
    
//----
    //tikett= OrderSend( Symbol(), OP_SELL,  volume*A, Ask, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    //Alert ("OP_SELL", GetLastError( )); 
    //for( i=OrdersTotal();i>0;i--){Alert ("i", i);OrderSelect(i,SELECT_BY_POS );Alert ("OrderType( )OP_SELL", OrderType( ));
    //OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);Alert ("OrderCloseOP_SELL",  GetLastError( ) ); } 
    GH++;
    
                         }

Ja, ja, hier.

Im so genannten Showroom werden die Bestellungen einfach aufgegeben und sofort gelöscht.

 
Es begann, als der Lawinenberater anfing, drei statt zwei Aufträge zu erteilen
 
Dimka-novitsek:
Es begann, als der Lawinenberater anfing, drei statt zwei Aufträge zu erteilen

Was für ein Chaos. Der EA war nicht in der Lage, die Löschung des Auftrags zu veranlassen. Was man reinsteckt, bekommt man auch.
 
abolk:

https://docs.mql4.com/ru/basis/types/datetime

bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

Das habe ich getan:
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //Zeilen zurücksetzen
ObjectSet(Up,OBJPROP_COLOR,DeepPink);

Ich möchte eine Linie bis zum Ende des aktuellen Tages ziehen, aber sie ist aus irgendeinem Grund unendlich?

 
Stells:

Das habe ich getan:
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //Zeilen zurücksetzen
ObjectSet(Up,OBJPROP_COLOR,DeepPink);

Ich möchte, dass die Linie bis zum Ende des aktuellen Tages gezogen wird, aber sie ist aus irgendeinem Grund unendlich?

ObjectSet(Up,OBJPROP_RAY,false);
 
Vinin:

Was für ein Chaos. Einer der Aufträge sollte sofort gelöscht werden. Was man reinsteckt, bekommt man auch.


Ja, es ist nur eine Überprüfung, wie es funktioniert, alles, was nicht klar ist. Als Erstes platziere ich einen schwebenden By-Limit-Auftrag, 20 Pips über dem Kurs. Dann prüfe ich es sofort mit OrderType,

und es stellt sich heraus, dass es nicht Null ist, sondern Null!!!!. Wie kann es Null sein, es ist eine Begrenzung!!! Außerdem wird sie auch nicht gelöscht, sondern es wird eine Art Fehler angezeigt. Außerdem werden alle nachfolgenden Aufträge als 4 oder 5 korrigiert, werden normal gelöscht, verhalten sich normal.

Außerdem verhalten sich auch die Aufträge, die über dem ersten eröffnet wurden, normal, mit demselben Los, demselben Ort, kurzum, alles in einem! Alle außer dem ersten.

Grund der Beschwerde: