Fragen Sie! - Seite 28

 

hii

Ich brauche Williams %R Filter kann mir jemand helfen

 

Auf welche Faktoren sollten Sie bei einem Backtesting-Bericht achten?

Wenn Sie einen EA durch ein Backtesting laufen lassen, was sind die Schlüsselfaktoren, die die Effektivität des EA-Codes bestimmen?

Ist es die Qualität der Modellierung oder der Prozentsatz der Gewinne oder der Drawdown? Und wenn Sie über einen Zeitraum von einem Jahr laufen, was wären die besten/idealen Ergebnisse für einen EA, um als gut zu gelten? Natürlich ist dies nur Backtesting. Ich verstehe, dass das Forward Testing auch wichtig ist. Aber ich möchte einfach die Faktoren kennen, die die Qualität des EA beeinflussen.

Vielen Dank im Voraus für Ihre Antworten/Zeit.

Kent

 

Punkt

Kann mir jemand sagen, welcher Punkt im Meta-Trader-Code enthalten ist?

Danke

 

Hallo,

Ich möchte bitte Kalenzo oder einen anderen guten Programmierer, mir bei dieser Änderung zu helfen, bitte.

Mein Kenntnisstand der mql Sprache ist grundlegend, weil ich gerade erst anfange zu lernen, und ich muss einen akustischen Alarm und Popup zu einem Indikator hinzufügen und ich finde immer noch nicht den richtigen Code, um dies zu tun.

Der Indikator, den ich ändern möchte, ist i_trend.mq4. Ich muss einen akustischen Alarm und ein Popup hinzufügen, damit, wenn die rote Linie das Niveau 0,0002 berührt, ein SHORT-Alarm angezeigt wird und wenn die grüne Linie das Niveau 0,0002 berührt, ein BUY-Alarm angezeigt wird. Ich würde es brauchen, um die Alarme nur zu senden, wenn die Linien AUFWÄRTS gehen, weil, wenn sie dieses Niveau berühren, wenn sie nach unten gehen, wäre es nicht sinnvoll.

Ich habe als Beispiel den Code eines anderen Indikators genommen, der akustische Warnungen und ein Popup anzeigt, aber ich kann nicht dasselbe für den i_trend machen. Der Beispielindikator ist der "PerkyAsctrend1.mq4", den ich diesem Beitrag als Referenz beifüge.

Ich werde sehr dankbar sein, wer mir hilft, diese Änderungen hinzuzufügen, vielen Dank im Voraus.

Der Abschnitt des Codes im PerkyAsctrend, in dem der "Alert" geschrieben wird, ist der folgende:

if (val2!=0 && up==0 )

{

val1buffer= val2-1*Point;

up=1;

dn=0;

if(shift<=2)

{

Alert (Symbol()," ",Period(), "M Asctrend BUY ");

}

}

if (val1 !=0 && dn==0)

{

val2buffer= val1+1*Point;

dn=1;

up=0;

if(shift<=2)

{

Alert (Symbol()," ",Period(), "M Asctrend SELL ");

}

}

Wie kann ich das Gleiche für den i_trend? mit den oben genannten Bedingungen implementieren.

Nochmals vielen Dank!

Dateien:
 

Grundlegende Programmierung

Hallo,

ich habe mir Ihre Tutorials durchgelesen und sehe, dass Sie viel Zeit und Mühe in die Erstellung dieser Tutorials investiert haben!!! Aber da ich gerade lerne und neu in der Programmierung bin, habe ich mich schon sehr früh verirrt. Ich schaue mir einige grundlegende Programmierkurse an einer örtlichen technischen Schule an... Ich frage mich nur, ob MQL4 auf der Basis einer anderen Programmiersprache geschrieben ist? Oder besser noch, wenn ich eine der wirklich verbreiteten Programmiersprachen lernen müsste, die MQL4 am einfachsten machen würde, welche wäre das?

Ich danke Ihnen!

 

Aktualisieren von Indikatorinformationen

Gibt es eine Möglichkeit, die Indikatordaten schneller zu aktualisieren, da die "Kommentare" und die "separaten Datenfenster" manchmal ziemlich lange brauchen, um sich zu aktualisieren, und man das Diagramm aktualisieren muss, um die neuesten Daten zu erhalten, oder ist dies eher ein Problem mit den Computereinstellungen? Ich frage das, weil ein Laptop eines Freundes die Daten schneller zu aktualisieren scheint als mein Computer.

Kann "RefreshRates" vielleicht verwendet werden?

Für jede Hilfe wäre ich Ihnen sehr dankbar.

Ich habe gerade herausgefunden, dass es entscheidend ist, wo der Code des Datenfensters platziert wird - ich habe den Datencode jetzt an der richtigen Stelle im Indikatorcode platziert und er wird jetzt gut aktualisiert. zumindest hat das ein Problem behoben, das ich mit zwei Indikatoren hatte.

 

EA-Problem

Ich habe einen einfachen EA erstellt, indem ich den MACD Sample EA geändert habe, der auf der MT4 Plattform platziert ist.

Die erstellten EA habe ich in 6 Ordnern abgelegt und die Namen der Ordner geändert.

In jedem EA in jedem Ordner habe ich die unterschiedliche magische Zahl. Ich habe

Das Problem ist, dass jeder EA für sich arbeitet und wenn ein EA eine Order öffnet, wird ein anderer EA aktiviert.

Wenn ein EA einen Auftrag öffnet, können andere EAs nicht gleichzeitig arbeiten.

Vielleicht MACD Sample EA hat einige Code, der diesen Vorgang verhindert.

 

Kodierung zur Überprüfung des Doubletops

In meinem EA möchte ich prüfen, ob der aktuelle Währungskurs über dem Höchststand der letzten 10 Balken liegt, bevor ich einen Kaufabschluss tätige. Wie würde ich dies in einer MQ4-Anweisung prüfen? Vielen Dank im Voraus!!!

Dave <<<
 
Ich frage mich nur, ob MQL4 auf der Basis einer anderen Programmiersprache geschrieben ist? Oder besser noch, wenn ich eine der wirklich verbreiteten Programmiersprachen lernen müsste, die MQL4 am einfachsten machen würde, welche wäre es?

MQL4 basiert auf der Sprache C, daher ist es am besten, C zu lernen, bevor man damit programmiert.

 
iscuba11:
Ich habe ein Problem damit, dass die Trades im Backtester immer wieder geändert werden. Wie bringe ich es dazu, die Trades nur einmal zu ändern. Da das Programm schlafen geht, sind die einzigen Geschäfte, die geändert werden müssen, alle noch offenen Geschäfte.

Bitte sehen Sie beigefügte .Gif von Backtest Ergebnisse. Ich bin so nah dran, das richtig zu machen - Bitte raten Sie!!! Ich verwende diese Take Profit und Stop Loss Modifikation in Verbindung mit dem Schlafmodus. Bitte sehen Sie den folgenden Code

int start()

{

if (UseHourTrade)

{

int a=0;

int b=0;

int c=0;

if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;

if(!(Stunde()>=VonStundeHandel2 && Stunde()<=BisStundeHandel2)) b=1;

if(!(Stunde()>=VonStundeHandel3 && Stunde()<=BisStundeHandel3)) c=1;

if(a==1 && b==1 && c==1)

{

Comment(

"\n"," * SOLAR WIND EXPERT ADVISOR *",

"\n",

"\n", " - PROGRAMM IM SCHLAFZYKLUS - ",

"\n",

"\n"," > NON-TRADING HOURS! <");

///////////////////ÄNDERUNG VON STOP LOSS UND TAKE PROFIT ZU BEGINN DES SCHLAFZYKLUS /////////////////

int h=0;

for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

OrderSelect(h, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Punkt),Bid-(20*Punkt),Cyan); //Ändern Sie Stop Loss und Take Profit

return(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punkt),Ask+(20*Punkt),Cyan); //Stop Loss und Take Profit ändern

return(0);

}

return(0);

}

}

Dave <<<

Deine OrderSelect() hat nicht auf Basis der laufenden Schleife gezählt.