Hilfe bei der Codierung - Seite 331

 

Hilfe bei der Codierung

Guten Tag zusammen

Hallo mladen

ich versuche, diesen Code für MT4 zu finden und kann ihn nicht finden

Der Indikator heißt Magarto.

Ich habe den Code für eine andere Plattform

  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)

Ich könnte dir helfen, ihn zu finden.

Ich sehe diesen anderen Indikator, es hat etwas mit dem Code Magarto zu tun.

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

Vielen Dank im Voraus.

Ein Gruß.

Dateien:
magarto.png  70 kb
 

Sorry, dass ich wieder störe...

gestern habe ich eine Menge Indikatoren von mir modifiziert, um die Berechnung der Balken zu begrenzen, um etwas CPU zu sparen, da ich mehrere mt4 gleichzeitig laufen lasse.

Der Code, den ich für diesen Zweck verwendet habe, ist der folgende:

int start()

{

int i,limit,counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

limit=Nbars-counted_bars;

aber ich stelle gerade fest, dass jetzt, bei geöffneten Märkten, alle modifizierten Indikatoren sich nicht aktualisieren, wenn neue Balken auf dem Bildschirm angezeigt werden.

Ist es möglich, für Sie, erfahrene Programmierer, finden Sie das Problem nur in diesen wenigen Zeilen? Oder besser, gibt es einen Weg oder eine Formel, die in allen Indikatoren verwendet werden kann, um die Berechnung der Balken zu begrenzen?

 
thefxpros:
Tut mir leid, dass ich wieder störe...

gestern habe ich eine Menge Indikatoren von mir modifiziert, um die Berechnung der Balken zu begrenzen, um etwas cpu zu sparen, da ich mehrere mt4 gleichzeitig laufen lasse.

Der Code, den ich für diesen Zweck verwendet habe, ist dieser:

int start()

{

int i,limit,counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

limit=Nbars-counted_bars;

aber ich stelle gerade fest, dass jetzt, bei geöffneten Märkten, alle modifizierten Indikatoren sich nicht selbst aktualisieren, wenn neue Balken auf dem Bildschirm angezeigt werden.

Ist es möglich, dass Sie, erfahrene Programmierer, das Problem nur in diesen wenigen Zeilen finden? Oder besser, ist es ein Weg oder eine Formel, die in allen Indikatoren verwendet werden kann, um Balken Berechnung zu begrenzen?

Ersetzen Sie diese letzte Zeile durch die folgende und alle Fälle sollten "abgedeckt" sein:

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

limit=MathMin(MathMin(Balken-gezählt_Balken,Balken-1),NBalken);

 
mladen:
Ersetzen Sie die letzte Zeile durch die folgende und alle Fälle sollten "abgedeckt" sein:

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

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

Sie haben mich gerettet.

Danke, alles funktioniert gut.

 

Hallo mladen, können Sie mir helfen, diesen Code für mt4 übersetzen? danke

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

 

Hallo zusammen,

Wenn dies nicht der richtige Thread für dieses Thema ist, verweisen Sie mich bitte an die richtige Stelle.

Dies ist mein Lieblings-Indikator und die Warnungen sind groß, aber es alarmiert während der aktuellen Kerze, wenn das Signal ändert. Dies führt zu einer Menge falscher Signale, da nur der Schatten der Kerze über/unter das Band geht und die Richtung nicht offiziell geändert wird.

Ist es möglich, den Code so zu ändern, dass er die Warnung nur dann sendet, wenn sich die Richtung geändert hat UND der Balken geschlossen wurde?

Vielen Dank!

 
sundown858:
Hallo zusammen,

Wenn dies nicht der richtige Thread für dieses Thema ist, verweisen Sie mich bitte an den richtigen Ort.

Dies ist mein Lieblingsindikator und die Warnungen sind großartig, aber es warnt während der aktuellen Kerze, wenn das Signal ändert. Dies führt zu einer Menge falscher Signale, da nur der Schatten der Kerze über/unter das Band geht und die Richtung nicht offiziell geändert wird.

Ist es möglich, den Code so zu ändern, dass er nur dann einen Alarm sendet, wenn sich die Richtung geändert hat UND der Balken geschlossen wurde?

danke!

sundown858

Setzen Sie die alertsOnCurrent auf false und das sollte genügen

 

Haben Sie versucht, diese Option auf "false" zu stellen?

extern bool alertsOnCurrent = true;

 
Hermo:
Guten Tag zusammen

Hallo mladen

ich versuche, diesen Code für MT4 zu finden und kann ihn nicht finden

Der Indikator heißt Magarto.

Ich habe den Code für eine andere Plattform

  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)

Ich könnte dir helfen, ihn zu finden.

Ich sehe diesen anderen Indikator, es hat etwas mit dem Code Magarto zu tun.

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

Ich danke Ihnen vielmals im Voraus.

Eine Begrüßung.

Was ist das für eine Programmiersprache für die Handelsplattform?

 

Du meine Güte! Ich habe mich schon gefragt, was diese Eingabe bewirkt. Das hat es gelöst. Danke mladen und assassin!