[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 427

 
Beh, sì, ho guardato il codice lettera per lettera per ore.
 

Questo è incredibile. Sto facendo ordini al sethinker esattamente nello stesso modo. Con lo stesso tutto - lotto, prezzo di apertura, profitto. E il primo ordine non è definito da OrderType - è 0, anche se il primo è in effetti un limite di acquisto. Ma i prossimi ordini aperti sono determinati da OrderType ( ) correttamente, in questo codice, li ho 4 o 5 e si comportano normalmente.

Non posso nemmeno cancellare il primo ordine usando OrderDelete(OrderTicket( )) I successivi vengono cancellati esattamente allo stesso modo, senza problemi

 
Dimka-novitsek:

Questo è incredibile. Sto facendo ordini al sethinker esattamente nello stesso modo. Con lo stesso tutto - lotto, prezzo di apertura, profitto. E il primo ordine non è definito da OrderType - è 0, anche se il primo è in effetti un limite di acquisto. Ma i prossimi ordini aperti sono determinati da OrderType ( ) correttamente, in questo codice, li ho 4 o 5 e si comportano normalmente.

Non posso nemmeno cancellare il primo ordine usando OrderDelete(OrderTicket( )) I successivi proprio così, l'ordine viene cancellato correttamente.


Sembra che i sensitivi siano in vacanza. Dovremmo mostrarvi l'intero codice.

Anche se, considerando ciò che è stato postato prima, ci sono molti errori

 
Non ho un errore nel codice logico. Dove dovrei andare? È una specie di nidachet da parte dei creatori della lingua o della piattaforma.
 
//+------------------------------------------------------------------+
//|                                                      показзз.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++;
    
                         }

Sì, sì, qui.

Nel cosiddetto showroom, gli ordini vengono semplicemente piazzati e immediatamente cancellati.

 
È iniziato quando il consulente della valanga ha iniziato a fare tre ordini invece di due
 
Dimka-novitsek:
È iniziato quando il consulente della valanga ha iniziato a fare tre ordini invece di due

Che confusione. L'EA non è stato in grado di far cancellare l'ordine. Quello che si mette dentro, si ottiene.
 
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)

L'ho fatto:
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //resign lines
ObjectSet(Up,OBJPROP_COLOR,DeepPink);

Voglio tracciare una linea fino alla fine del giorno corrente, ma è infinita per qualche motivo?

 
Stells:

L'ho fatto:
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //resign lines
ObjectSet(Up,OBJPROP_COLOR,DeepPink);

Voglio che la linea sia disegnata fino alla fine del giorno corrente, ma è infinita per qualche motivo?

ObjectSet(Up,OBJPROP_RAY,false);
 
Vinin:

Che casino! Uno degli ordini dovrebbe essere cancellato subito. Quello che si mette dentro, si ottiene.


Sì, è solo un controllo su come funziona, tutto ciò che non è chiaro. La prima cosa che faccio è piazzare un ordine pendente bylimit, 20 pip sopra il prezzo. Poi lo controllo immediatamente con OrderType,

e si scopre che non è zero, è zero!!!!. Come può essere zero, è un bylimit!!! Inoltre, non è nemmeno cancellato, dice una specie di errore. Inoltre, tutti gli ordini successivi vengono corretti come 4 o 5, vengono cancellati normalmente, si comportano normalmente.

Inoltre, anche gli ordini aperti sopra il primo si comportano normalmente, con lo stesso lotto, posizione, insomma, tutto in uno! Tutti tranne il primo.