[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 427

 
Bueno, sí, he estado mirando el código letra por letra durante horas.
 

Esto es increíble. Estoy haciendo pedidos con el sethinker exactamente de la misma manera. Con el mismo todo: lote, precio de apertura, beneficio. Y la primera orden no está definida por OrderType - es 0, aunque la primera es de hecho un límite de compra. Pero las siguientes órdenes abiertas son determinadas por OrderType ( ) correctamente, en este código, las tengo 4 o 5 y se comportan normalmente.

Tampoco puedo eliminar el primer pedido utilizando OrderDelete(OrderTicket( )) Los siguientes se borran exactamente igual, sin problemas

 
Dimka-novitsek:

Esto es increíble. Estoy haciendo pedidos con el sethinker exactamente de la misma manera. Con el mismo todo: lote, precio de apertura, beneficio. Y la primera orden no está definida por OrderType - es 0, aunque la primera es de hecho un límite de compra. Pero las siguientes órdenes abiertas son determinadas por OrderType ( ) correctamente, en este código, las tengo 4 o 5 y se comportan normalmente.

Tampoco puedo eliminar el primer pedido utilizando OrderDelete(OrderTicket( )) Los siguientes así, el orden se borra correctamente.


Parece que los videntes están de vacaciones. Deberíamos mostrarte todo el código.

Aunque, teniendo en cuenta lo que se ha publicado antes, hay muchos errores

 
No tengo ningún error en el código lógico. ¿Dónde debo ir? ¿Se trata de algún tipo de nidachet por parte de los creadores del lenguaje o de la plataforma?
 
//+------------------------------------------------------------------+
//|                                                      показзз.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í, aquí.

En la llamada sala de exposición, los pedidos se hacen simplemente y se borran inmediatamente.

 
Comenzó cuando el asesor de la avalancha empezó a hacer tres pedidos en lugar de dos
 
Dimka-novitsek:
Comenzó cuando el asesor de la avalancha empezó a hacer tres pedidos en lugar de dos

Qué lío. El EA no pudo conseguir que se eliminara la orden. Lo que se pone, se obtiene.
 
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)

Lo hice:
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //resignar líneas
ObjectSet(Up,OBJPROP_COLOR,DeepPink);

Quiero dibujar una línea hasta el final del día actual, pero es infinita por alguna razón?

 
Stells:

Lo hice:
ObjectCreate(Up,OBJ_TREND,0,iTime( NULL, PERIOD_D1, 0),UpPrice,(iTime( NULL, PERIOD_D1, 0)+86399),UpPrice); //resignar líneas
ObjectSet(Up,OBJPROP_COLOR,DeepPink);

Quiero que la línea se dibuje hasta el final del día actual, pero es infinita por alguna razón?

ObjectSet(Up,OBJPROP_RAY,false);
 
Vinin:

Qué lío. Uno de los pedidos debe ser eliminado de inmediato. Lo que se pone, se obtiene.


Sí, es sólo una comprobación de cómo funciona, todo eso no está claro. Lo primero que hago es colocar una orden pendiente bylimit, 20 pips por encima del precio. Luego lo compruebo inmediatamente con OrderType,

y resulta que no es cero. Es cero!!!!. ¡¡Cómo puede ser cero, es un límite máximo!! Además, tampoco se borra, dice algún tipo de error. Además, todas las órdenes posteriores se corrigen como 4 o 5, se borran normalmente, se comportan normalmente.

Además, incluso las órdenes abiertas por encima de la primera se comportan con normalidad, con el mismo lote, ubicación, en definitiva, ¡todo en uno! Todos excepto el primero.