Ayuda a la codificación - página 723

 

hola Mr.Mladen, hola a todos ... me gustaría estar en el lugar correcto, necesito una ayuda, por favor, las modificaciones a estos indicadores, por lo que los cambios de color dela línea magenta cuando cruzó la línea de color skyblue ... ejemplo: cuando la cruz se eleva, el color de la línea magenta se vuelve verde, y cuando cruza hacia abajo a su vez rojo .. gracias antes. lo siento por mi Inglés :)
 
bilbao:

hola señor mladen

por favor, hazle un MTF

respecto a

Aquí está la versión multi time frame

Archivos adjuntos:
 
Hola Mladen, me has ayudado en el pasado con la modificación de algunos indicadores y aprecio mucho tus esfuerzos. Espero que puedas ayudar con este indicador. Es un indicador de tiempo de velas, pero independiente de los ticks y tiene la opción de seleccionar la elección preferida de los marcos de tiempo para monitorear. Por eso me encanta este indicador. El único problema que tengo con él es que cuando lo cargo en un gráfico aparece en el medio del gráfico, por lo que a veces tengo dificultades para verlo correctamente como resultado del movimiento de las velas de precios. Espero que puedan modificarlo para que tenga la opción de hacerlo aparecer en cualquier esquina del gráfico a la derecha. Adjunto el indicador con una imagen ilustrativa de lo que quiero decir.
Archivos adjuntos:
 
baraozemo:

Hola mladen,

aquí está la muestra-ea

Mladen,
eltrailing step funciona de la misma manera para las operaciones de compra oventa...
es mover el "stoploss" usando el trailing step.

por ejemplo: (un ejemplo de compra)


EA Input:
=========
TakeProfit      =22000 (22 points)
Trailing_Distance=4000 (4 points)
Trailing_Step    =2000 (2 points)
StopLoss         =8000 (8 points)

 

====operation entry
buy at price   3440.00  
stoploss      =3432.00 (entrance -8 points)
takeprofit    =3462.00 (entrance +22 points)
-------

price reached       =3444.00    (=4 points)
trailing distance reached   (4000=4 points) 
then move stoploss using 'step' (2000= 2 points)
new stoploss now is =3434.00    (=+2 points from step)

------- 

price reached       =3448.00    (=+4 points)
trailing distance reached (4000=4 points) 
then move stoploss using 'step' (2000= 2 points)
new stoploss now is =3436.00    (=+2 points from step)

-------

price grown up to   =3452.00    (=+4 points)
trailing distance reached (4000=4 points) 
then move stoploss using 'step' (2000= 2 points)
new stoploss now is =3438.00    (=+2 points from step)

-------

 

when is a "buy" operation , step (increase the stoploss price)
when is a "sell" operation, step (decrease the stoploss price)

 

hola señor mladen

¿podría hacer un simple histograma de este útil indicador?

respecto a

Archivos adjuntos:
 
mladen:

Esta es la versión multitemporal

muchas gracias señor
 

Estimado Mladen,

Necesito su ayuda para comprobar el código de EA para el uso de SmStrengthRange 09_v2.4 Indicador

después de la cruz par ex EURUSD
(EUR cruzar a USD superior), entonces la primera Divergencia punto verde aparece = COMPRA
(EUR cruzar a USD inferior), entonces la primera Divergencia punto rojo aparece = VENTA

Acabo de probar mi auto, pero no puede trabajar
Por favor, compruebe este código y correcta

// Indicador de llamada

double USD=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift);
double USD1=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift+1);
double EUR=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift);
double EUR1=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift+1);
double GBP=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift);
double GBP1=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift+1);
double CHF=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift);
double CHF1=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift+1);
double JPY=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift);
double JPY1=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift+1);
double AUD=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift);
double AUD1=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift+1);
double CAD=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift);
double CAD1=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift+1);
double NZD=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift);
double NZD1=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift+1);

double green=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift);
double greena=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift+1);
double red=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift);
double reda=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift+1);

/Señal de entrada

if ((green!=EMPTY_VALUE && !(greena!=EMPTY_VALUE && EUR>USD)) signal1=1;

if((rojo!=Valor_Poco && !(reda!=Valor_Poco && EUR<USD)) signal2=2;


Por favor solicito ayuda para ver este código y corregirlo


Gracias y saludos

Archivos adjuntos:
 
basheer1966:

Estimado Mladen,

Necesito su ayuda para comprobar el código de EA para el uso de SmStrengthRange 09_v2.4 Indicador

después de la cruz par ex EURUSD
(EUR cruzar a USD superior), entonces la primera Divergencia punto verde aparece = COMPRA
(EUR cruzar a USD inferior), entonces la primera Divergencia punto rojo aparece = VENTA

Acabo de probar mi auto, pero no puede trabajar
Por favor, compruebe este código y correcta

// Indicador de llamada

double USD=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift);
double USD1=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift+1);
double EUR=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift);
double EUR1=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift+1);
double GBP=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift);
double GBP1=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift+1);
double CHF=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift);
double CHF1=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift+1);
double JPY=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift);
double JPY1=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift+1);
double AUD=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift);
double AUD1=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift+1);
double CAD=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift);
double CAD1=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift+1);
double NZD=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift);
double NZD1=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift+1);

double green=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift);
double greena=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift+1);
double red=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift);
double reda=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift+1);

/Señal de entrada

if ((green!=EMPTY_VALUE && !(greena!=EMPTY_VALUE && EUR>USD)) signal1=1;

if((rojo!=Valor_Poco && !(reda!=Valor_Poco && EUR<USD)) signal2=2;


Por favor solicito ayuda para ver este código y corregirlo


Gracias y saludos

No estás comprobando los cruces. Sólo estás comprobando si algún valor es mayor o menor que el otro valor

Para los cruces tienes que comprobar al menos 2 valores de 2 buffers (4 valores a comprobar)

 

Hola Pro-Coders,

Me gustaría implementar un filtro RSI bool que puede ser activado o desactivado.

¿Puede / debe esta rutina ser optimizado?

extern bool RSI_on = true;

   if(RSI_on=true)

     {
      if(trendNow!=trendPrev)
        {
         if(trendNow>0 && (NLD1>NLD2) && RSIfilter>51)
           {
            OpenBuy_  =true;
            CloseSell_=true;
           }
         else
         if(trendPrev>0 && (NLD1<NLD2) && RSIfilter<49)
           {
            OpenSell_=true;
            CloseBuy_=true;
           }
        }
     }
else
     if(trendNow!=trendPrev)
     {
      if(trendNow>0 && (NLD1>NLD2))
        {
         OpenBuy_  =true;
         CloseSell_=true;
        }
      else
      if(trendPrev>0 && (NLD1<NLD2))
        {
         OpenSell_=true;
         CloseBuy_=true;
        }
     }
 
tfi_markets:

Hola Pro-Coders,

Me gustaría implementar un filtro RSI bool que puede ser activado o desactivado.

¿Puede / debe esta rutina ser optimizado?

extern bool RSI_on = true;

   if(RSI_on=true)

     {
      if(trendNow!=trendPrev)
        {
         if(trendNow>0 && (NLD1>NLD2) && RSIfilter>51)
           {
            OpenBuy_  =true;
            CloseSell_=true;
           }
         else
         if(trendPrev>0 && (NLD1<NLD2) && RSIfilter<49)
           {
            OpenSell_=true;
            CloseBuy_=true;
           }
        }
     }
else
     if(trendNow!=trendPrev)
     {
      if(trendNow>0 && (NLD1>NLD2))
        {
         OpenBuy_  =true;
         CloseSell_=true;
        }
      else
      if(trendPrev>0 && (NLD1<NLD2))
        {
         OpenSell_=true;
         CloseBuy_=true;
        }
     }

Pruebe como esto (esto debería ser todo el código en sustitución del código superior):

      if(trendNow!=trendPrev)
         if(trendNow>0 && (NLD1>NLD2) && (!RSI_on || (RSI_on && RSIfilter>51)))
           {
            OpenBuy_  =true;
            CloseSell_=true;
           }
         else
         if(trendPrev>0 && (NLD1<NLD2) && (!RSI_on || (RSI_on && RSIfilter<49)))
           {
            OpenSell_=true;
            CloseBuy_=true;
           }