Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
mish
Ich hatte einen Moment Zeit und habe versucht, Ihre Absicht so zu erfassen, wie ich sie verstanden habe.
Vielen Dank
Vielen Dank ralph.ronnquist
diese Funktionen sind genau das, was ich brauche und würden auch anderen helfen, die eine ähnliche Funktion suchen
Ich wurde aufgehalten, sonst hätte ich mich schon früher bei Ihnen bedankt, vor allem, weil es Mühe gekostet hat
Gibt es eine einfache Möglichkeit, die Funktion so zu ändern, dass sie im Strategietester funktioniert? Ich weiß, dass die Ergebnisse der Arbeit mit nur einer Währung in der Tester ist fast nutzlos, außer es imitiert sehr grob, was ich brauche, um die Mathematik richtig, jede Hilfe wird geschätzt und ich hätte nie den Code in kurzer Reihenfolge gearbeitet, so noch einmal thankyou!
DT_ZZ.mq4-basierter EA
Ich habe ein kleines Problem mit diesem hier.
Ich habe den DT_ZZ.mq4 Indikator und von dem, was ich sehe, ist es sehr vielversprechend. Ich weiß, dass dieser Indikator neu gezeichnet wird, und ich stelle mir das folgendermaßen vor.
Wenn ein Pfeil und ein Abschnitt gleich sind, dann warten, bis der Balken geschlossen ist, und dann entsprechend kaufen/verkaufen.
Glaubt jemand, dass er dabei helfen kann? (Code wird unten gepostet)
//| DT_ZZ.mq4 |
//+------------------------------------------------------------------+
// optimiert von Rosh
#property indicator_chart_window
#Eigenschaft indicator_buffers 3
#eigenschaft indicator_color1 Grün
#eigenschaft indicator_color2 Blau
#eigenschaft indicator_color3 Rot
//---- Indikator-Parameter
extern int ExtDepth=12;
extern int calculateLevel=2;
//---- Indikatorpuffer
double zzL[];
double zzH[];
double zz[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
// IndicatorBuffers(3);
//---- Zeichnungseinstellungen
SetIndexStyle(0,DRAW_SECTION);
SetIndexStyle(1,DRAW_ARROW);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(1,159);
SetIndexPfeil(2,159);
//---- Indikatorpuffer-Zuordnung
SetIndexPuffer(0,zz);
SetIndexPuffer(1,zzH);
SetIndexBuffer(2,zzL);
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexLeerWert(2,0.0);
//---- Indikator-Kurzname
IndikatorKurzname("DT_ZZ("+ExtDepth+")");
//---- Initialisierung abgeschlossen
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int i,shift,pos,lasthighpos,lastlowpos,curhighpos,curlowpos;
double curlow,curhigh,lasthigh,lastlow;
double min, max;
int counted_bars=IndicatorCounted();
if (gezählte_Balken==0)
{
ArrayInitialize(zz,0.0);
ArrayInitialize(zzL,0.0);
ArrayInitialize(zzH,0.0);
lasthighpos=Bars; lastlowpos=Bars;
lastlow=Low;lasthigh=High;
Print("limit=",Bars-ExtDepth);
for(shift=Bars-ExtDepth; shift>=0; shift--)
{
curlowpos=Lowest(NULL,0,MODE_LOW,ExtDepth,shift);
curlow=Low[curlowpos];
curhighpos=Highest(NULL,0,MODE_HIGH,ExtDepth,shift);
curhigh=High[curhighpos];
//------------------------------------------------
if( curlow>=lastlow ) { lastlow=curlow; }
sonst
{
//???? ????
if( lasthighpos>curlowpos )
{
zzL[curlowpos]=curlow;
///*
min=100000; pos=lasthighpos;
for(i=lasthighpos; i>=curlowpos; i--)
{
wenn (zzL==0.0) weiter;
if (zzL<min) { min=zzL; pos=i; }
zz=0.0;
}
zz[pos]=min;
//*/
}
lastlowpos=curlowpos;
lastlow=curlow;
}
//--- hoch
if( curhigh<=lasthigh ) { lasthigh=curhigh;}
sonst
{
// ???? ?????
if( lastlowpos>curhighpos )
{
zzH[curhighpos]=curhigh;
///*
max=-100000; pos=lastlowpos;
for(i=lastlowpos; i>=curhighpos; i--)
{
wenn (zzH==0.0) weiter;
if (zzH>max) { max=zzH; pos=i; }
zz=0.0;
}
zz[pos]=max;
//*/
}
lasthighpos=curhighpos;
lasthigh=curhigh;
}
zz[0]=Close[0];
}
//----------------------------------------------------------------------
}
sonst
{
int pos2;
i=0;
while (pos2<calculateLevel && i<Bars-1)
{
if (zz!=0 && (zzH!=0||zzL!=0)) pos2++;
i++;
}
pos2=i-1;
for (i=pos2-1;i>=0;i--)
{
zzH=0;
zzL=0;
zz=0;
}
if (zzH[pos2]!=0)
{
lasthighpos=pos2;
lasthigh=High[pos2];
lastlowpos=Lowest(NULL,0,MODE_LOW,ExtDepth,pos2);
lastlow=Low[lastlowpos];
}
sonst
{
lastlowpos=pos2;
lastlow=Low[pos2];
lasthighpos=Highest(NULL,0,MODE_HIGH,ExtDepth,pos2);
lasthigh=High[lasthighpos];
}
//------------------------- ????????? ??????
Print("limit=",pos2-1);
for(shift=pos2-1; shift>=0; shift--)
{
curlowpos=Lowest(NULL,0,MODE_LOW,ExtDepth,shift);
curlow=Low[curlowpos];
curhighpos=Highest(NULL,0,MODE_HIGH,ExtDepth,shift);
curhigh=High[curhighpos];
//------------------------------------------------
if( curlow>=lastlow ) { lastlow=curlow; }
sonst
{
//???? ????
if( lasthighpos>curlowpos )
{
zzL[curlowpos]=curlow;
///*
min=100000; pos=lasthighpos;
for(i=lasthighpos; i>=curlowpos; i--)
{
wenn (zzL==0.0) weiter;
if (zzL<min) { min=zzL; pos=i; }
zz=0.0;
}
zz[pos]=min;
//*/
}
lastlowpos=curlowpos;
lastlow=curlow;
}
//--- hoch
if( curhigh<=lasthigh ) { lasthigh=curhigh;}
sonst
{
// ???? ?????
if( lastlowpos>curhighpos )
{
zzH[curhighpos]=curhigh;
///*
max=-100000; pos=lastlowpos;
for(i=lastlowpos; i>=curhighpos; i--)
{
wenn (zzH==0.0) weiter;
if (zzH>max) { max=zzH; pos=i; }
zz=0.0;
}
zz[pos]=max;
//*/
}
lasthighpos=curhighpos;
lasthigh=curhigh;
}
}
//------------------------- ????????? ??????
zz[0]=Close[0];
}
return(0);
}
//+------------------------------------------------------------------+Kann dies geändert werden 4 strategy tester?
ralph.ronnquist
hat mir großzügig eine großartige Funktion zur Verfügung gestellt, von der viele profitieren können, die ihre Verwendung benötigen.
Mein Problem ist, dass ich im Moment so lausig im Programmieren bin, dass ich sie nicht genug abändern kann 4 strategy tester.
Für Testzwecke ist nur eine Währung ausreichend, nur um die Mathematik der Trades unter verschiedenen Umständen mit verschiedenen Währungen auszuarbeiten.
Ist es möglich, die Arbeit von ralph zu ändern, um diesem Bedarf gerecht zu werden.
Dankeschön
Im Prinzip müssten Sie nur die Zeichenfolge "EURCHF" in "EURUSD" ändern. D.h., um mit Long "EURUSD" versus Short "EURUSD" zu arbeiten.
Das habe ich schon versucht
Danke für Ihre Antwort, aber ich habe es vergeblich versucht. Der von Ihnen zur Verfügung gestellte Code hat mir und meiner Freundin gezeigt, wie wenig wir über das Programmieren wissen!
Herzlichen Dank!
Hmm. Die einzige "Schlechtigkeit", die ich im Vorfeld erkennen kann, ist der Test "v == cut", der zwei doppelte Zahlen auf Gleichheit vergleicht. Vielleicht ist es besser, nur die vollen $-Beträge zu betrachten und somit "euprofit", "ecprofit", "cut" und "v" in den Typ "int" zu ändern?
Triviale Frage: Ich schreibe gerade zum ersten Mal einen neuen Personal Indicator. Ich kann meine Logs, die ich mit dem Befehl Print ("...") in der start{}-Methode erstellt habe, nicht anzeigen. Wo kann ich sie auf MetaTrader 4 einsehen?
Ok, ich verwende den Befehl Comment().
Dumbo hier
Hallo zusammen
Dies ist ein großartiger Thread für jemanden wie mich, der keine Ahnung vom Programmieren hat. Er enthält viele nützliche Informationen und viele kleine Codestücke, die ich kopieren und damit spielen könnte.
Ich hoffe, dass mir jemand bei diesem Problem helfen kann. Ich möchte einen EA erstellen, der auf dem Preis basiert. Was gebe ich in den Code ein, um das Folgende zu sagen:
1) Ich möchte, dass der EA den Preis um 20:00 Uhr auf dem Stundenchart betrachtet und sieht, in welchem Verhältnis er zum 100sma steht.
2) Wenn der Preis über dem 100sma liegt, möchte ich, dass er 2 Kaufaufträge auf einem bestimmten Niveau eröffnet.
3) Diese Niveaus basieren auf dem Schlusskurs der 16:00-Kerze. Wenn die 16:00-Kerze also bei 1,2000 steht, möchte ich, dass ein Kauf bei 1,1120 und 1,2080 eröffnet wird.
Ich habe die Stopps und Trailing Stops und Profit Levels alle ausgearbeitet und so, alle Codes aus diesem thred genommen. Ich danke also denen, die sie gepostet haben. I
Ich werde für immer in der Schuld stehen, wenn mir jemand hier helfen könnte.
Mit freundlichen Grüßen
Susan
Hilfe
Hallo zusammen
ich habe versucht, einen EA zu erstellen, und habe folgende Fehlermeldung erhalten:
'\end_of_program' - ending bracket '}' expected C:\...\My_First_EA.mq4(96,1)
Ich habe auf die Zeile doppelgeklickt und sie dann mit den öffnenden und schließenden Klammern davor überprüft, aber ich weiß immer noch nicht, wo ich den Fehler gemacht habe.
Dies ist der zweite EA, den ich ausprobiert habe, mit der gleichen Fehlermeldung, basierend auf dem gleichen Indikator.
Ich danke Ihnen.