Ajuda na codificação - página 331

 

Ajuda na codificação

Boa tarde a todos

Olá mladen

Estou tentando encontrar este código para o MT4 e não consigo encontrá-lo

O indicador é chamado Magarto.

Eu tenho o código para outra 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)

Eu poderia ajudá-lo a encontrá-lo.

Estou vendo este outro indicador, tem algo a ver com o código Magarto.

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

Muito obrigado de antemão.

Uma saudação.

Arquivos anexados:
magarto.png  70 kb
 

Desculpe incomodar novamente...

ontem modifiquei muitos indicadores meus a fim de limitar o cálculo das barras para salvar alguma cpu desde que eu executei vários mt4 simultaneamente.

O código que usei para este fim é 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;

mas só estou observando que agora, com os mercados abertos, todos os indicadores modificados não se atualizam quando novas barras são plotadas na tela.

É possível para vocês, programadores experientes, encontrar o problema apenas nessas poucas linhas? Ou melhor, existe uma maneira ou uma fórmula que possa ser usada em todos os indicadores a fim de limitar o cálculo das barras?

 
thefxpros:
Desculpe incomodar novamente...

ontem modifiquei muitos indicadores meus a fim de limitar o cálculo de barras para salvar alguma cpu desde que executei vários mt4 ao mesmo tempo.

O código que usei para este fim é 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;

mas só estou observando que agora, com os mercados abertos, todos os indicadores modificados não se atualizam quando novas barras são plotadas na tela.

É possível para vocês, programadores experientes, encontrar o problema apenas nessas poucas linhas? Ou melhor, é uma maneira ou uma fórmula que pode ser usada em todos os indicadores para limitar o cálculo das barras?

Substitua essa última linha pelas seguintes e todos os casos devem ser "cobertos":

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

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

 
mladen:
Substitua essa última linha com o seguinte e todos os casos devem ser "cobertos":

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

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

você me salvou.

obrigado, tudo funciona bem.

 

Olá mladen, você pode me ajudar a traduzir este código para o mt4? obrigado

_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();

 

Olá a todos,

Se esta não for a linha correta para isto, por favor, me encaminhe ao lugar apropriado.

Este é meu indicador favorito e os alertas são ótimos, mas ele alerta durante a vela atual sempre que o sinal muda. Isto resulta em muitos sinais falsos, pois apenas a sombra da vela vai acima/abaixo da faixa e a direção não é oficialmente alterada.

É possível alterar o código para que ele só envie o alerta uma vez que a direção tenha mudado E a barra tenha fechado?

Obrigado!

Arquivos anexados:
 
sundown858:
Olá a todos,

Se esta não for a linha correta para isto, por favor, me encaminhe ao lugar apropriado.

Este é meu indicador favorito e os alertas são ótimos, mas ele alerta durante a vela atual sempre que o sinal muda. Isto resulta em muitos sinais falsos, pois apenas a sombra da vela vai acima/abaixo da faixa e a direção não é oficialmente alterada.

É possível alterar o código para que ele só envie o alerta uma vez que a direção tenha mudado E a barra tenha fechado?

Obrigado!

Pôr-do-sol858

definir os alertasOnCurrent para falsos e isso deve ser feito

 

Você tentou trocar "falso" essa opção?

alertas de bool externoOnCurrent = true;

 
Hermo:
Boa tarde a todos

Olá mladen

Estou tentando encontrar este código para o MT4 e não consigo encontrá-lo

O indicador é chamado Magarto.

Eu tenho o código para outra 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)

Eu poderia ajudá-lo a encontrá-lo.

Estou vendo este outro indicador, tem algo a ver com o código Magarto.

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

Muito obrigado de antemão.

Uma saudação.

Que linguagem de codificação da plataforma de negociação é essa?

 

Meu Deus! Estava me perguntando o que essa contribuição fazia. Isso resolveu o problema. Obrigado mladen e assassino!

Razão: