[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 571

 
rigonich:

¿No entiendo qué tipo de datos? Solo pongo el código del EA. lo compilo y lo ejecuto, solo le doy un nombre. No lo he probado, simplemente lo he recompilado tal y como ha salido y lo he puesto. Si no funciona correctamente, avísame e intentaré averiguar por qué.



Hooray lo tengo ... buscado en la web para compilar ))) resulta que Compile .

Ya he empezado a probarlo, abre entre 500 y 1000 posiciones a la vez

Aquí hay un enlace al archivo de prueba://localhost/C:/Users/mv/Desktop/StrategyTester.htm - abre demasiadas posiciones

 
Frostr:



Hooray lo conseguí ... buscado en la web lo que significa Compilar))) resulta que Compilar .

Ya he empezado a probarlo con Compile, abre 500-1000 posiciones a la vez


Bueno, veamos.
 

¿Puedes decirme cuántos personajes son actualmente intocables en los comentarios de la orden?

Z.I. Si es importante, está en Alpari.

 
Frostr:



hooray lo he descubierto... he buscado en la web "Compile")) resulta que Compile .

Ya he empezado a probarlo, abre entre 500 y 1000 posiciones a la vez

Aquí hay un enlace a la prueba: file://localhost/C:/Users/mv/Desktop/StrategyTester.htm abre un montón de posiciones


Aquí está el código. Funciona como lo pediste. En cualquier cierre abre dos posiciones opuestas.
//+------------------------------------------------------------------+
//|                                                  Trudnyaga_1.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
//+------------------------------------------------------------------+
extern int    stoploss   = 0,          // уровень выставления SL, если 0, то SL не выставляется
              takeprofit = 0,          // уровень выставления TP, если 0, то TP не выставляется
              Magic      = 123456;     // уникальный номер ордера
extern double Lot        = 0.1;        // объем ордера
extern int    slippage   = 3;          // Максимально допустимое отклонение цены для рыночных ордеров
extern int    MaxOrders  = 3;          // Максимально допустимое количество ордеров BUY или SELL
extern int    CycleCount = 5;          // количество попыток открытия ордера
//+------------------------------------------------------------------+
double SL,TP;
int    Total,LastTotal;
string ord;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
   {
   return(0);
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
   {
   Total=fTotal();
   if((Total==LastTotal&&LastTotal!=0)||Total>=MaxOrders)return(0);
   if(takeprofit!=0)TP=NormalizeDouble(Ask+takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Ask-stoploss*Point,Digits);else SL=0;
   OPENORDER("Buy");
   if(takeprofit!=0)TP=NormalizeDouble(Bid-takeprofit*Point,Digits);else TP=0;
   if(stoploss!=0)SL=NormalizeDouble(Bid+stoploss*Point,Digits);else SL=0;
   OPENORDER("Sell");
   LastTotal=fTotal();
   return(0);
}
//+------------------------------------------------------------------+
void OPENORDER(string ord)
   {
   int error,err;
   while(true)
      { 
      error=-1;
      if(ord=="Buy" )error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);
      if(ord=="Sell")error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);
      if(error==-1) //неудачная покупка OK
         { 
         ShowERROR();err++;Sleep(2000);RefreshRates();
      }
      if (err>=CycleCount)break;
   }
   return;
} 
//+------------------------------------------------------------------+
void ShowERROR()
   {
   int err=GetLastError();
   switch(err)
      { 
      case 1   : return;
      case 2   : Alert("Нет связи с торговым сервером ",Symbol());return;
      case 3   : Alert("Error неправильные параметры ",Symbol());return;
      case 130 : Alert("Error близкие стопы Ticket ",Symbol());return;
      case 134 : Alert("Недостаточно денег ",Symbol());return;
      case 146 : Alert("Error Подсистема торговли занята ",Symbol());return;
      case 129 : Alert("Error Неправильная цена ",Symbol());return;
      case 131 : Alert("Error Неправильный объем ",Symbol());return;
      case 4200: Alert("Error Объект уже существует ",Symbol());return;
      default  : Alert("Error " ,err," ",Symbol());return;
   }
}
//+------------------------------------------------------------------+
int fTotal()
   {
   int Tot=OrdersTotal();
   int BuyCount=0,SellCount=0;
   if(Tot>0)
      {
      for(int i=0;i<OrdersTotal();i++)
         {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
            {
            if(OrderSymbol()==Symbol()&&(Magic==0||OrderMagicNumber()==Magic))
               {
               switch (OrderType())
                  {
                  case OP_BUY :BuyCount++; break;
                  case OP_SELL:SellCount++;break;
               }
            }
         }
      }
   }
   return(BuyCount+SellCount);
}
//+------------------------------------------------------------------+
 
¿qué oficina de correos puede enviar mensajes de texto sobre el correo entrante y su contenido?
 
gheka:
¿qué oficina de correos puede enviar mensajes de texto sobre el correo entrante y su contenido?
Será mejor que te compres un smartphone, ahora son más baratos. Pero no te conectes a MTS, esos cabrones me han robado mis dos últimos kopecks :))
 
Sin ánimo de ofender, me quedo con MTS. 7 años con MTS y ningún problema
 
gheka:
Sin ánimo de ofender, me quedo con MTS. 7 años con MTS y ningún problema

Mientras sólo tenía un teléfono, tampoco tuve problemas durante cinco años. En cuanto conecté su Internet, los problemas (con el pago) aparecieron enseguida. Los solucionan, por supuesto, e incluso se disculpan, pero es demasiado para escribir y probar. Lo más importante es que al cabo de un mes vuelve a surgir el mismo problema y todo vuelve a ser lo mismo. Así que ahora uso el megáfono.
 
rigonich:

Aquí está el código, funciona como lo pediste. En cualquier cierre abre dos posiciones opuestas.



Gracias.

Pero tú tienes un EA diferente, funciona de forma distinta.

Me gustaría que mi EA abriera posiciones en ambas direcciones si algunas de ellas están cerradas,

No sé cómo se hace pero he visto que abre algunas posiciones.

Archivos adjuntos:
sellbuy_1.ex4  5 kb
 

Intenté agregarlo, casi funcionó, pero abre las posiciones como lo necesito si el precio se mueve en una dirección.

Por ejemplo Cerró una compra , luego abrió una nueva compra y venta , luego volvió a cerrar una compra , luego abrió de nuevo también la compra y la venta , pero si cerró NO la compra y la venta no abre nueva (((((

Por favor, échale un vistazo a ver si te ayuda...

que mierda he escrito )) . Pero así es como funciona tengo estas condiciones de apertura...

Necesito otra condición cuando se abra una posición si el precio cambia ...

Archivos adjuntos: