[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 637

 
Oh, ¿entonces lo he entendido bien?
 
FAQ 17.03.2012 12:18
Lo más probable es que en el momento de la apertura tenga cero en la variableprecioBUY, por lo que Oferta-precioBUY(0)==Oferta, y por tanto

No, si fuera así, entonces la VENTA también sería arrastrada incorrectamente, mientras que la VENTA funciona bien...... Ya he probado a cambiar el valor inicial de priceBUY de "0" a "open price".... no funciona, mi cerebro ya está frito(((

 
MIR-ASOV:

No, si fuera así, la VENTA tampoco se arrastraría correctamente, pero la VENTA funciona bien...... Ya he probado a cambiar el valor inicial de priceBUY de "0" a "open price" .... no funciona, mi cerebro ya está frito(((

¿Qué le impide utilizar un código como éste?

   
   extern int ts=25, minp=10;

for(int i = OrdersTotal(); i >= 0; i--)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) 
         {
          if(OrderType() == OP_BUY) // long position is opened
            {
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) // trall
                 {
                  if(OrderStopLoss()<Bid-Point*ts)
                    {
                      if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*ts,Digits),0,0,Orange)) {Sleep(11000); prevtime = Time[1];}
                    }
                 }
            } 
           if(OrderType() == OP_SELL) // short position is opened
            {

               if((OrderOpenPrice()-Ask)>Point*(ts+minp))// trall
                {
                 if(OrderStopLoss()>Ask+Point*ts)
                   {
                       if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*ts,Digits),0,0,Orange))
                      {
                        Sleep(11000);
                        prevtime = Time[1];
                      }
                   }
                }

            }
          }
     }
//----

Todo funciona como debería.

 

¡Feliz día de San Patricio a todos!

Querida, te pido ayuda. Ayúdame a sacar una señal de un indicador a un EA. Es decir, si aparece una línea azul - comprar, si es roja - vender.

Lo escribí en búho:

double dn_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,0,1); // синий, снизу
double up_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,1,1); // красный, сверху

   if (dn_stop_1!=EMPTY_VALUE)
       return(1);//покупка
   if (up_stop_1!=EMPTY_VALUE)  
       return(-1);//продажа

No he conseguido nada, parece que los buffers son siempre iguales a 0.

Archivos adjuntos:
 

evillive А что мешает использавать вот такой код?


Si sólo hay una orden en el ejemplo (ya sea de COMPRA o VENTA), pero si hay más órdenes, entonces necesito que todas las órdenes sean trazadas desde el nivel de equilibrio total. Y es importante para mí entender cuál es la razón en este código, porque la orden de VENTA se ejecuta excelentemente, ¿qué le falta a la COMPRA? ¿Por qué se modifica la parada inmediatamente después de abrir ......?
 
MIR-ASOV:


En este ejemplo sólo tengo una orden (ya sea de COMPRA o de VENTA), pero si hay más de una, quiero que todas las órdenes se tomen del Breakeven. Y es importante para mí entender cuál es la razón en este código, porque la orden de VENTA se ejecuta de una manera buena, ¿qué falta para BAY? ¿Por qué se modifica la parada inmediatamente después de abrir ......?


Porque el precio que se compara no es :

1) inicializado

2) igual a cero

Acciones:

1) desinicializar y ver,

2) inicializar con un número grande

3) trampa si el precio comparado es igual a cero

 
Sancho77:

¡Feliz día de San Patricio a todos!

Querida, te pido ayuda. Ayúdame a sacar una señal de un indicador a un EA. Es decir, si aparece una línea azul - comprar, si es roja - vender.

Lo escribí en búho:

No he conseguido nada, parece que los buffers son siempre iguales a 0.



Y por qué se compara con EMPTY_VALUE. Se está comparando con 0,0
 
Porque el precio comparable no es :

1) инициализирована

2) es igual a cero.

Acciones:

1) desprender la impresora y ver,

2) inicializar con un número grande

3) poner una trampa si el precio comparado es igual a cero.

Gracias por su ayuda, gracias a todos los que han respondido...... Funcionó, cambié el "Cálculo del nivel de equilibrio" por el bloque "Apertura de la posición" y todo funcionó como debería...... Gracias de nuevo a todos)))) Y me voy a colgar)
 
Vinin:

Y por qué se compara con EMPTY_VALUE. Está comparando con 0,0.

Yo también lo probé así:

   if (dn_stop_1!=0.0)
       return(1);
   if (up_stop_1!=0.0)  
       return(-1);

Todavía no hay respuesta.

 

Me puede decir si hay algo en el código MTFindyuka hacer que sería automáticamente calcular y volver a dibujar la historia, idealmente cada minuto, que no resultaría aquí es tal krakozobraha

En la imagen hay dos МТФinduks para 5 min, en el gráfico de un minuto.

ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",0,y);

ExtMapBuffer2[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",1,y);

Tengo que conseguir la vista normal, es decir, pasos suaves, para elegir las propiedades del indicador y pulsar "OK" o "refrescar el gráfico" constantemente.Si uso m1 y MTF5m estoy cansado de refrescarlo manualmente a veces, tal vez pueda implementarlo simplemente adjuntando alguna función inteligente, no quiero escribir un código separado para cada indicador.