[¡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 387

 
Dimka-novitsek:
Lo siento, no puedo seguir el enlace, no me funciona.
int HistorialPedidosTotal( )
Devuelve el número de posiciones cerradas y órdenes borradas en el historial de la cuenta actual, cargado en el terminal del cliente. El tamaño de la lista del historial depende de la configuración actual de la pestaña "Historial de cuentas" del terminal.
Ejemplo:
  // Recuperar información del historial de operaciones int,accTotal=OrdersHistoryTotal(); for(i=0;i<accTotal;i++) { //---- comprobar el resultado de la selección if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error al acceder a la base del historial (",GetLastError(),")"); break; } // trabajar con la orden ... }
 
¡¡¡Gracias!!!
 

¿Pueden decirme cómo especificar correctamente en la condición el nombre del instrumento de la orden ya abierta? Si una orden EURUSD_bay está abierta, entonces debería abrirse EURJPY_sell. Creo que tenemos algo mal aquí. Si eliminamos OrderSymbol()=="EURUSD", la orden se abrirá, pero para abrir la tercera orden, todavía tenemos que resolver este problema.

if((OrdersTotal()==1)&&(OrderType()==OP_BUY && OrderSymbol()=="EURUSD"))
     {
     TimeBar=Time[0];
     OPENORDER2("Sell");
     }
 

Puede alguien aconsejarme cómo escribir un código que haga tratos en un momento determinado. He mirado las FAQ y no he entendido nada. Soy programador, pero estoy en conflicto directo con este lenguaje.

Quiero mostrar en detalle lo que debo hacer todos los días a las 8:00 am para tomar una barra de horas y abrir órdenes pendientes de ella. Para cerrar las órdenes pendientes es necesario ya sea por expiración de tiempo o por TP. y de nuevo a las 8-00 para tomar una barra, etc. El código de abajo. Este es un problema con el primer acuerdo que funciona claramente de acuerdo con los criterios, y luego me dan algo por nada. Si no es difícil, por favor, ayuda ....

//Учет закрытых ордеров-----------------------------------------------
  if (OrderSelect(Ticket,SELECT_BY_TICKET,MODE_HISTORY)==true) or_cl=OrderCloseTime();
   else or_cl=StrToTime(TimeToStr((TimeCurrent()+24*60*60), TIME_DATE)+" "+17+":"+59);
     
   // Предварит.обработка
  
  time_op=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+8+":"+0);
  time_bar=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+7+":"+0);
  Cur_time=StrToTime(TimeToStr(TimeCurrent(), TIME_SECONDS));
 
 if (Cur_time>or_cl)
   {time_op+=24*60*60;
      time_bar+=24*60*60;}
    else {time_op-=24*60*60;
          time_bar-=24*60*60;}  
  
  if (Cur_time<=time_op && Total==0)return;
  // Определяем часовой квадрат--------------------------------------------------------------
   Hit=NormalizeDouble(High[iBarShift(NULL,PERIOD_H1,time_bar)],5);
   Lo=NormalizeDouble(Low[iBarShift(NULL,PERIOD_H1,time_bar)],5); 


 
coolon:

Puede alguien aconsejarme cómo escribir un código que haga tratos en un momento determinado. He mirado las FAQ y no he entendido nada. Soy programador, pero estoy en conflicto directo con el lenguaje.

Quiero mostrar más detalles. Debería tomar una barra horaria a las 8:00 todos los días y abrir órdenes pendientes de ella. Para cerrar las órdenes pendientes es necesario ya sea por expiración de tiempo o por TP. y de nuevo a las 8-00 para tomar una barra, etc. El código de abajo. Este es un problema con el primer acuerdo que funciona claramente de acuerdo con los criterios, y luego me dan algo por nada. Si no es difícil, por favor, ayuda ....



h ttps://www.mql5.com/ru/forum/130550

 

Lo siento, he escrito algunas tonterías aquí, si pudieras mostrarme dónde soy completamente borrego.

Las poses no parecen abrirse del todo, no pasa nada.

//+------------------------------------------------------------------+
//| para avalancha.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#enlace de propiedad "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20; extern int otstup=20; extern datetime expiration=0;

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int tiket,tikett;double volume=0.1;int=0,R1,R2,A=1 ;double price=PRICE_OPEN;
R1=((PRECIO_OPEN- stoploss*Punto)*stoploss)/stoploss;R2=((PRECIO_OPEN+ stoploss*Punto)*stoploss)/stoploss;


int inicio()
{
//----

OrderSelect()tiket,SELECT_BY_TICKET, MODE_TRADES );
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber( )==1000|||OrderMagicNumber( )==2000 ){i=OrdersTotal() ;
si (i<2){
tiket= OrderSend( Symbol(), OP_BUYSTOP, volume*A, price+otstup*Point, Point*3, R1, PRICE_OPEN+takeprofit*Point+otstup, "OP_BUYSTOP", 1000, expiration, Red);
Alert ("OP_BUYSTOP", GetLastError( );
tikett= OrderSend( Symbol(), OP_SELLSTOP, volume*A, price -otstup*Point, Point* 3,R2, PRICE_OPEN-takeprofit*Point-otstup, "OP_SELLSTOP", 2000, expiration,C'0,128,255' );
Alert ("OP_SELLSTOP", GetLastError( );
i=Total de pedidos() ; } } }

//----
return(0);
}
//+------------------------------------------------------------------+

 
double stoploss=0
No se puede dividir por cero.
 
¡¡¡¡¡¡Buena gente ayuda!!!!!! ¡¡¡¡¡Necesito un script para cerrar posiciones cualquiera en la línea media de Bollinger!!!!! ¡¡¡¡Por favor, !!!!
 
alexr7:
¡¡¡¡¡¡Buena gente ayuda!!!!!! ¡¡¡¡¡Necesito un script para cerrar posiciones cualquiera en la línea media de Bollinger!!!!! ¡¡¡¡Por favor, !!!!
¿Y cuál es su criterio para que una posición esté en la línea media de Bollinger?
 
artmedia70:
¿Y cuál es para ti el criterio de que una posición está en la línea media de Bollinger?
¡¡¡¡¡¡¡¡¡¡¡¡¡¡Muchas gracias por su rápida respuesta!!!!!!!!!!!!!! ¡¡¡¡¡¡¡El criterio es un indicador estándar de las Bandas de Bollinger con los parámetros: periodo 20, desplazamiento 0, desviación 2, cierre ponderado(HLCC/4)!!!!!!!