Ayuda a la codificación - página 331

 

Ayuda para la codificación

Buenas tardes a todos

Hola mladen

Estoy intentando encontrar este código para MT4 y no lo encuentro

El indicador se llama Magarto.

Tengo el código para otra plataforma

  1. study("magarto indicator",overlay=false)
  2. ma=sma(close,30)

    maslope=ma-ma[2]

    maslopeB=iff(maslope0,1,0))

    candleOver=iff(ohlc4>ma,1,-1)

    xMA = ema(close,13)

    DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1])))

    bearpower = DayLow - xMA

    DayHigh = iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1])))

    bullpower = DayHigh - xMA

    bothElder=iff((bearpower>0 and bullpower>0),1,iff((bearpower<0 and bullpower<0),-1,0))

    all4=maslopeB+candleOver+bothElder

    plot(all4)

    hline(3)

    hline(-3)

    sell = all4 == -3 ? all4 : na

    buy = all4 == 3 ? all4 : na

    plot(sell, style=circles, linewidth=4, color=red)

    plot(buy, style=circles, linewidth=4, color=green)

Podría ayudarte a encontrarlo.

Estoy viendo este otro indicador, tiene algo que ver con el código Magarto.

https://www.mql5.com/en/forum/173112/page2

Muchas gracias de antemano.

Un saludo.

Archivos adjuntos:
magarto.png  70 kb
 

Siento molestar de nuevo...

ayer he modificado un montón de indicadores de la mina con el fin de limitar el cálculo de barras para ahorrar algo de cpu ya que corro varios mt4 simultáneamente.

El código que utilicé para ello es este:

int start()

{

int i,limit,counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Nbars-counted_bars;

pero estoy notando que ahora, con los mercados abiertos, todos los indicadores modificados no se actualizan cuando se trazan nuevas barras en la pantalla.

¿Es posible que ustedes, codificadores experimentados, encuentren el problema sólo en esas pocas líneas? O mejor, ¿hay una manera o una fórmula que se puede utilizar en todos los indicadores con el fin de limitar el cálculo de las barras?

 
thefxpros:
Siento molestar de nuevo...

ayer he modificado un montón de indicadores míos con el fin de limitar el cálculo de las barras para ahorrar algo de cpu ya que ejecuto múltiples mt4 simultáneamente.

El código que utilicé para este propósito es este:

int start()

{

int i,limit,counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Nbars-counted_bars;

pero estoy notando que ahora, con los mercados abiertos, todos los indicadores modificados no se actualizan cuando se trazan nuevas barras en la pantalla.

¿Es posible que ustedes, codificadores experimentados, encuentren el problema sólo en esas pocas líneas? O mejor, ¿es una manera o una fórmula que se puede utilizar en todos los indicadores con el fin de limitar el cálculo de las barras?

Sustituir esa última línea por la siguiente y todos los casos deberían estar "cubiertos":

if (Nbars<=0) Nbars = Bars-1;

limit=MathMin(MathMin(Bars-counted_bars,Bars-1),Nbars);

 
mladen:
Sustituye esa última línea por la siguiente y todos los casos deberían estar "cubiertos":

if (Nbars<=0) Nbars = Bars-1;

limit=MathMin(MathMin(Bars-counted_bars,Bars-1),Nbars);

me has salvado.

Gracias, todo funciona bien.

 

Hola mladen, ¿me puedes ayudar a traducir este código para mt4? gracias

_SECTION_BEGIN("TD Pressure Ratio");

SetChartBkColor(16);

Periods = Param("Periods",13,1,50,1);

function TDPressure (Periods)

{

for( i = 2; i < BarCount; i++ )

{

if((O - C) / C > 0.15) // gapup

{

BP = (H - C + C - L) * V;

}

else if((C-O) / O > 0.15)// gapdown

{

SP = (C - L + H - C) * V;

}

else

{

BP = IIf(C > O, C - O,0) * V;

SP = IIf(C < O, C - O,0) * V;

}

}

Result = 100 *Sum(BP,Periods)/ (Sum(BP,Periods) -

Sum(SP,Periods));

Result = IIf(Result < 0,0,Result);

Result = IIf(Result > 100,100,Result);

return Result;

}

TDP = TDPressure(Periods);

Plot(TDP ,"TD Pressure",colorLightBlue,1);

Plot( 25 , "", colorGreen,styleDashed);

Plot( 50 , "", colorLightGrey,styleDashed);

Plot( 75 , "", colorRed,styleDashed);

_SECTION_END();

 

Hola a todos,

Si este no es el hilo correcto para esto, por favor diríjanme al lugar apropiado.

Este es mi indicador favorito y las alertas son geniales, pero alerta durante la vela actual cada vez que la señal cambia. Esto resulta en un montón de señales falsas, ya que sólo la sombra de la vela va por encima / debajo de la banda y la dirección no se cambia oficialmente.

¿Es posible modificar el código para que sólo envíe la alerta una vez que la dirección haya cambiado Y la barra se haya cerrado?

Gracias.

Archivos adjuntos:
 
sundown858:
Hola a todos,

Si este no es el hilo correcto para esto, por favor diríjanme al lugar apropiado.

Este es mi indicador favorito y las alertas son geniales, pero alerta durante la vela actual cada vez que la señal cambia. Esto resulta en un montón de señales falsas, ya que sólo la sombra de la vela va por encima / debajo de la banda y la dirección no se cambia oficialmente.

¿Es posible modificar el código para que sólo envíe la alerta una vez que la dirección haya cambiado Y la barra se haya cerrado?

Gracias.

sundown858

pon el alertsOnCurrent a false y eso debería funcionar

 

¿Has probado a cambiar a "false" esa opción?

extern bool alertsOnCurrent = true;

 
Hermo:
Buenas tardes a todos

Hola mladen

Estoy intentando encontrar este código para MT4 y no lo encuentro

El indicador se llama Magarto.

Tengo el código para otra plataforma

  1. study("magarto indicator",overlay=false)
  2. ma=sma(close,30)

    maslope=ma-ma[2]

    maslopeB=iff(maslope0,1,0))

    candleOver=iff(ohlc4>ma,1,-1)

    xMA = ema(close,13)

    DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1])))

    bearpower = DayLow - xMA

    DayHigh = iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1])))

    bullpower = DayHigh - xMA

    bothElder=iff((bearpower>0 and bullpower>0),1,iff((bearpower<0 and bullpower<0),-1,0))

    all4=maslopeB+candleOver+bothElder

    plot(all4)

    hline(3)

    hline(-3)

    sell = all4 == -3 ? all4 : na

    buy = all4 == 3 ? all4 : na

    plot(sell, style=circles, linewidth=4, color=red)

    plot(buy, style=circles, linewidth=4, color=green)

Podría ayudarte a encontrarlo.

Estoy viendo este otro indicador, tiene algo que ver con el código Magarto.

https://www.mql5.com/en/forum/173112/page2

Muchas gracias de antemano.

Un saludo.

¿Qué lenguaje de codificación de la plataforma de trading es ese?

 

¡Dios mío! Me preguntaba qué hacía esa entrada. Eso lo ha solucionado. ¡Gracias mladen y assassin!