Hilfe bei der Codierung - Seite 492

 

Zu viel Aufmerksamkeit Re: Hilfe bei der Kodierung

Hallo Masters Vielen Dank für Ihre großartige Arbeit, ich möchte mit allen teilen diese TrendLine Alert, es entsteht Plays Sound, wenn Bid Preis kreuzt jede Trendlinie oder horizontale Linie, die Sie zeichnen, ich mod es Popup-Alarm als gut, das einzige Problem mit ihm ist es Alert jeden Tick, wenn Preis (Bid) Cross eine Linie, ich versuche, es zu mod nur ein jeder bar, wenn es die Linie durch Hinzufügen eines Zeitstempels Funktion am Ende von ihm.es complie alright, aber es nicht funktionieren überhaupt (kein Alert). bitte, wenn Sie Zeit haben, um es zu sehen und zeigen Sie mir die richtige Richtung.viele viele danken!!

static datetime lastbar;

datetime curbar = Time[0];

if(lastbar!=curbar)

{

lastbar=curbar;

return (true);

}

else return(false);

}

 
huang jin:
Hallo Masters Vielen Dank für Ihre großartige Arbeit, ich möchte mit allen teilen diese TrendLine Alert, es entsteht Plays Sound, wenn Bid Preis kreuzt jede Trendlinie oder horizontale Linie, die Sie zeichnen, ich mod es Popup-Alarm als gut, das einzige Problem mit ihm ist es Alert jeden Tick, wenn Preis (Bid) Cross eine Linie, ich versuche, es zu mod nur ein jeder bar, wenn es die Linie durch Hinzufügen eines Zeitstempels Funktion am Ende der es.es complie alright, aber es nicht funktionieren überhaupt (kein Alert). bitte, wenn Sie Zeit haben, um es zu sehen und zeigen Sie mir die richtige Richtung.viele viele danken!!
static datetime lastbar;

datetime curbar = Time[0];

if(lastbar!=curbar)

{

lastbar=curbar;

return (true);

}

else return(false);

}

Sie ordnen Close_Time niemals einen Wert zu. Sobald Sie das tun, wird es nur einmal pro Bar alarmieren

 

@mladen Ich fand diesen Indikator auf TradingView und ist es möglich, diese für mt4 zu machen?

Hier ist der Quellcode:

//Created by user ChrisMoody 4-24-2014

//Plotet die Mehrheit der gleitenden Durchschnitte

//Die Standardeinstellung ist der aktuelle Chart-Zeitrahmen --- kann aber auf höhere oder niedrigere Zeitrahmen geändert werden

//2nd MA-Fähigkeit mit Show Crosses Feature

study(title="CM_Ultimate_MA_MTF", shorttitle="CM_Ultimate_MA_MTF", overlay=true)

//Eingaben

src = schließen

useCurrentRes = input(true, title="Use Current Chart Resolution?")

resCustom = input(title="Anderen Zeitrahmen verwenden? Uncheck Box Above", type=resolution, defval="D")

len = input(20, title="Länge des gleitenden Durchschnitts - LookBack-Periode")

atype = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")

cc = input(true,title="Farbe auf Basis der Richtung ändern?")

smoothe = input(2, minval=1, maxval=10, title="Farbglättung - 1 = keine Glättung")

doma2 = input(false, title="Optionaler 2. gleitender Durchschnitt")

len2 = input(50, title="Länge des gleitenden Durchschnitts - optionaler 2. MA")

atype2 = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")

cc2 = input(true,title="Farbe aufgrund der Richtung des 2. MA ändern?")

warn = input(false, title="***Sie können den Parameter Show Dots unten aktivieren, ohne den 2. MA zu plotten, um Kreuze zu sehen***")

warn2 = input(false, title="***Wenn Sie die Kreuzungsfunktion verwenden, ohne den 2. MA zu plotten, stellen Sie sicher, dass die 2. MA-Parameter korrekt eingestellt sind***")

sd = input(false, title="Show Dots on Cross of Both MA's")

res = useCurrentRes ? period : resCustom

//hull ma Definition

hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))

//TEMA-Definition

ema1 = ema(src, len)

ema2 = ema(ema1, len)

ema3 = ema(ema2, len)

tema = 3 * (ema1 - ema2) + ema3

avg = atype == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? hullma : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src,len) : tema

//2. Ma - Definition von hullma

hullma2 = wma(2*wma(src, len2/2)-wma(src, len2), round(sqrt(len2)))

//2. MA TEMA-Definition

sema1 = ema(src, len2)

sema2 = ema(sema1, len2)

sema3 = ema(sema2, len2)

stema = 3 * (sema1 - sema2) + sema3

avg2 = atype2 == 1 ? sma(src,len2) : atype2 == 2 ? ema(src,len2) : atype2 == 3 ? wma(src,len2) : atype2 == 4 ? hullma2 : atype2 == 5 ? vwma(src, len2) : atype2 == 6 ? rma(src,len2) : tema

out = avg

out_two = avg2

out1 = Wertpapier(tickerid, res, out)

out2 = Wertpapier(tickerid, res, out_two)

ma_up = out1 >= out1[smoothe]

ma_down = out1 < out1[smoothe]

col = cc ? ma_up ? lime : ma_down ? red : aqua : aqua

col2 = cc2 ? ma_up ? lime : ma_down ? red : aqua : aqua

circleYPosition = out2

plot(out1, title="Multi-Timeframe Moving Avg", style=line, linewidth=4, color = col)

plot(doma2 und out2 ? out2 : na, title="2nd Multi-TimeFrame Moving Average", style=circles, linewidth=4, color=col2)

plot(sd und cross(out1, out2) ? circleYPosition : na,style=cross, linewidth=5, color=yellow)

 

Screenshot des Indikators:

Dateien:
pepqyie.png  84 kb
 

Gibt es ein Beispiel für den gemeinsamen Dateizugriff von mehreren Code-Instanzen?

 
apprentice coder:
Gibt es ein Beispiel für den gemeinsamen Dateizugriff von mehreren Code-Instanzen?

Ein Beispiel können Sie hier sehen: https: //www.mql5.com/en/forum/175881/page5

 
mladen:
Ein Beispiel können Sie hier sehen: https: //www.mql5.com/en/forum/175881/page5

Ich hab's

 

Kann ich wissen, ist, dass jede ea mit Indikator "HalfTrend-1.02" haben?

Ich brauche einige Beispiel-Code.

Ich war versuchen, diese indi für die Filterung zu verwenden, aber ich sah, dass viele Handel fehlt.

Ich weiß nicht, was falsch von diesem ....

double MA_Signal = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,0);

double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);

double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);

double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);

double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);

double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;

double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;

if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;

if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;
 
stevenpun:
Darf ich wissen, ob es ein Ea gibt, das den Indikator "HalfTrend-1.02" verwendet?

Ich brauche einige Beispiel-Code.

Ich war versuchen, diese indi für die Filterung zu verwenden, aber ich sah, dass viele Handel fehlt.

Ich weiß nicht, was daran falsch ist ....

double MA_Signal = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,0);

double MA_Signal1 = iCustom(Symbol(),0,"HalfTrend-1.02",Amplitude,false,false,false,false,false,false,false,1);

double MA_Signala = iMA(Symbol(),0,UpperMa,UpperMaShift,UpperMaMode,UpperMaPrice,0);

double MA_Signalb = iMA(Symbol(),0,LowerMa,LowerMaShift,LowerMaMode,LowerMaPrice,0);

double Bbands = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,2);

double Bbands2 = iCustom(Symbol(),0,"BBands_Stop_v2",Length,Deviation,MoneyRisk,Shift,3);

double Ma_Bid_Diff = MathAbs(MA_Signala - Bid)/vPoint;

double Ma_Bid_Diff1 = MathAbs(MA_Signalb - Bid)/vPoint;

if ( MA_Signal>MA_Signala ) if ( Bbands MAOpenDistance && Bid > MA_Signala ) Signal = 1;

if ( MA_Signal1MA_Signal1 ) if ( Ma_Bid_Diff1 > MAOpenDistance && Bid < MA_Signalb ) Signal = -1;

Hallo Stevenpun,

Zwei Dinge können Sie sofort versuchen:

1) Fügen Sie Print und Comments hinzu, um ALLE Ihre Werte zu sehen... und stellen Sie sicher, dass Sie alle Ihre Indikatorwerte richtig erhalten...

Die Ausdrucke werden im LOG angezeigt... und die Kommentare werden auf dem Bildschirm angezeigt, so dass Sie sie sofort sehen können.

2) Minimieren Sie Ihre "Handelslogik"...und testen Sie JEDES Signal für sich... Wenn sie dann funktionieren, kombinieren Sie sie wieder miteinander.

Wenn sie nicht funktionieren... dann haben Sie Ihr Problem gefunden.

Je weniger "verschachtelte Wenns" Sie haben, desto einfacher ist es, Ihre Probleme aufzuspüren, ohne zu traden...

Außerdem filtern mehrere "if's" die meisten Abschlüsse heraus... also selbst wenn sie gut funktionieren... gibt es vielleicht nicht viele Abschlüsse...

Ich hoffe, das hilft,

Robert

 

Danke Mladen ,

mladen:
.................. es wird nur einmal pro Bar alarmiert

das ist genau das, was ich will, dass es zu tun, siehe das Bild, das ich att, Preis springen nach oben und unten mit der Linie alle paar tick, verursachen die indi Alarm jedes Mal, wenn es passieren oder berühren Sie die Linie .......... was ich will, dass es zu tun ist, wenn der bar bereits ein Alert, warten Sie auf die neue bar zu geben, wieder Alarm, wenn es die Linie passieren. Aber der Code, den ich hinzugefügt habe , lässt den Index überhaupt nicht funktionieren (kein Alert). Könnten Sie bitte noch einmal nachsehen, was ich falsch gemacht habe? undvielen, vielen Dank!