Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 165

 
Sepulca:


Si el error se produce de vez en cuando, tal vez su empresa de corretaje atribuye algo anormal a la línea. No tiene que preocuparse por ello.

Tengo lo que dice.


¡Probablemente también una empresa de corretaje - en una demo no hay errores, he establecido una orden en una cuenta real de nuevo, dice error!


Los otros EAs simplemente funcionan bien y este da errores periódicamente, ¿qué otra cosa podría ser?

 
T-G:

Probablemente, no tengo errores en la demo, pero lo he colocado en la cuenta real y no se vuelve a abrir, ¡me da error!


Otros EAs simplemente funcionan bien y este da errores periódicamente, ¿qué otra cosa podría ser?


- Si quieres comprobar todas las variables de cadena en el programa y asegurarte de que has definido el valor inicial explícitamente. Este error se produce probablemente cuando una cadena no inicializada entra en alguna función como parámetro.
- hacer una impresión de los valores de las variables de cadena (junto con el número de línea del programa, por comodidad) y el valor de GetLastError() antes de llamar a dichas funciones.

 
Estimados usuarios del foro, por favor, aconsejen,
void BU()
{
   for(int a=0; a<OrdersTotal(); a++) 
      {
       if(OrderSelect(a, SELECT_BY_POS))
        {      
         if(OrderType()==OP_BUY) 
          {
           if(OrderOpenPrice()<=(Bid-BULevel)&&OrderOpenPrice()>OrderStopLoss())
            {      
             OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
            }
           }       
 
         if(OrderType() == OP_SELL) 
           {
            if(OrderOpenPrice()>=(Ask+BULevel)&&OrderOpenPrice()<OrderStopLoss()) 
             {
              OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red);
             }
           } 
         }
       }
}
  return(0);

¿Por qué no funciona el Breakeven?

Se declara el int externo BULevel = 80;

Al inicio si (¡BULevel!=0) BU();

 
alexey1979621:
Estimados usuarios del foro, por favor, aconsejen,

¿Por qué no funciona el Breakeven?

Se declara el int externo BULevel = 80;

Al inicio si (¡BULevel!=0) BU();




BULevel*Point
 
   double Red_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1); // красная линия 
   double Blue_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1); // синяя линия 
   double UpO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1); // верхняя граница облака 
   double DounO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,1); // нижняя граница облака 

      
   if(Volume[0]>1) return;

    // продажа
   if (Open[1]>Close[1] && Close[1] < DounO && Open[1]>DounO && Close[1] < Red_Line && Close[1] < Blue_Line) // продажа
     {
     Price = NormalizeDouble(Bid, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss >= STOPLEVEL)
          if(StopLoss > 0)
      {
       SL = Price - StopLoss*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0;

      if(TakeProfit > 0)
      {
       TP = Price - TakeProfit*Point;
       TP = NormalizeDouble(TP, Digits); 
      }
       else TP = 0;

      { 
      ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);
      return;
      }
    }
     
//---- buy conditions
   // покупка
   if (Open[1]<Close[1] && Close[1] > UpO && Open[1] < UpO && Close[1] > Red_Line && Close[1] > Blue_Line) // bay
   {
     Price = NormalizeDouble(Ask, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss >= STOPLEVEL)
     if(StopLoss > 0)
      {
       SL = Price - StopLoss*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0;
      if(TakeProfit > 0)
      {
       TP = Price + TakeProfit*Point; // вычисляем тейкпрофит
       TP = NormalizeDouble(TP, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else TP = 0;

      {
      ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,"Pattern_1",Magic,0,Blue);
      return;
      } 
   }
 }

Estimados usuarios del foro, no consigo entender el indicador Ishimoku. He hecho un pequeño Asesor Experto basado en él pero sólo abre posición de compra y no abre posición de venta. Creo que esto se debe probablemente al hecho de que la nube está invirtiendo, y también no determiné correctamente las condiciones para entrar en el comercio.

La figura muestra una flecha roja hacia abajo donde debería abrirse una operación de venta y una flecha roja hacia arriba donde debería abrirse una operación de compra. Se abrió una operación de compra con una entrada errónea (en teoría no debería estar ahí).


 
¿Es posible determinar el momento de activación de una orden pendiente sin cruzar el precio de la orden?
 
zfs:
¿Es posible averiguar la hora de activación de una orden pendiente sin intentar cruzar el precio de la orden?


Tal y como yo lo veo, cuando se coloca una orden pendiente, se convierte en OP_BUY u OP_SELL, (¿o está mal?)

Si pongo un comentario (lento) con información sobre el tipo de orden y compruebo si se cambió a 0 o 1, sabría el tiempo de activación,

Espero que haya algo más fácil)).

 
ALXIMIKS:


Creo que cuando se ejecuta una orden pendiente se convierte en OP_BUY u OP_SELL, (¿o está mal?)

Si se introduce la información sobre el tipo de orden en el comentario (medjic) y se compara cada vez que ha cambiado en 0 o 1, entonces se puede averiguar el tiempo de activación,

Pero el método es de alguna manera apretado en vista de la necesidad de conexión constante y en general, espero que haya algo más simple))

Sí, gracias, he pensado en esa variante, pero ¿y en la real)?

 
zfs:
¿Es posible determinar el momento de activación de una orden pendiente sin cruzar el precio de la orden?

datetime OrderOpenTime( )
 
<br / translate="no">
zfs:

Sí, gracias, es una opción que he pensado, pero ¿qué pasa con la real)?


escriba el número de ticket. y su estado... si ha cambiado, entonces ordena el precio abierto... ¿por qué el mago prescribiría algo que no es habitual o en los comentarios...

en un archivo para volcar el historial. abierto cerrado... O simplemente recorre el historial...