Wie programmiert man? - Seite 225

 

Neuling...

zunächst einmal ein frohes neues Jahr an alle!

dann danke für all das Wissen, das Sie in diesem Forum teilen

Ich nähere mich mql4, ich bin nicht ein Programmierer.

Ich würde mich über ein wenig Unterstützung beim Schreiben dieser sehr einfachen Strategie freuen:

long entries:

(ask-bid) <= Z_pips /* spread check */

und

(bollinger_up-bollinger_down) <= K_pips /* Volatilitätsprüfung */

und

ask < (bollinger_down + X_pips) /* Preisprüfung */

und

ma_Qperiods >= ma_Wperiods /* Trendprüfung */

Ausstiege:

Trailing SL = 15 Pips

Hat jemand Zeit, mir eine Chance zu geben?

Vielen Dank im Voraus

neeverr

 

brauche Hilfe bei meinem nr7 Indikator

hallo

ich kodiere einen Indikator für nr7.

der algo ist

-berechne den Bereich und speichere ihn in einem Array

- wenn aktueller Bereich <= letzte 7 Bereiche, dann aktueller Bar ist nr7

aber der Indikator scheint jeden Bar als nr7 zu markieren. dunno, wo ich einen Fehler gemacht.

Bildschirmfoto ist hier

2010-01-18_0531

Dateien:
nr7.mq4  3 kb
 

advancedsar EA

Hallo Freunde,

Ich brauche eure Hilfe, wenn jemand von euch mir helfen kann, einen EA zu modifizieren, den ich aus einem anderen Thread habe, aber leider habe ich seine mql-Datei nicht.

Von der ursprünglichen Logik dieses EA, möchte ich ein bisschen Modifikation wie unten zu machen:

- Dieser EA arbeitet nur auf 4 Ziffern, helfen, sie zu verbessern können auf 5 Ziffern als auch arbeiten.

- Diese EA arbeiten nach gemeinsamen martingale System, ich muss mehr 2X methode Betriebsmodus hinzufügen,

1. Wenn der EA öffnet, um auf den letzten Handel, und sie getroffen TP, dann EA wird ein neuer Zyklus starten und öffnen Sie den Handel als die gleiche Reihenfolge wie die letzte Bestellung. Beispiel: Wenn der letzte Handel ist kaufen, und sie traf TP, dann die EA wird weiterhin offen kaufen Handel, es sei denn, sie traf SL und EA wird die Reihenfolge in die entgegengesetzte Richtung verkaufen, um. die gleiche Sache auf die verkaufen, solange sie Gewinn auf die verkaufen, dann sie weiterhin öffnen verkaufen, um mit neuen Zyklus, bis sie SL und Richtung ändern, um kaufen.

2. Zweiter Modus Betrieb. Der EA arbeitet nach der Sequenzlogik Kaufen-Verkaufen-Kaufen-Verkaufen-Kaufen, dieser Modus ist für Marktschwankungen ohne Trend gedacht.

wird für alle Ihre Hilfe geschätzt werden.

danke

yoha

Dateien:
 

irgendeine Idee, warum dieser EA keine Bestellungen aufgibt?

hey Jungs, es ist schon eine Weile her, seit ich wieder in diesem Spiel .... sowieso gerade anfangen, auf mql....lot hat sich hier geändert.

Grundsätzlich möchte ich schwebende Kauf- und Verkaufsaufträge 10 Pip von der Eröffnung eines Balkens entfernt auf beiden Seiten platzieren. Takeprofit ist 15 Pips von den Pending Orders entfernt.

das Problem ist, dass die Aufträge nie platziert werden...

int counted_bars = IndicatorCounted();

int pos = Bars - counted_bars + 1;

if (counted_bars == 0) pos = Bars - 10;

if (counted_bars>0) counted_bars--;

double currentPrice = iClose("EURUSD",PERIOD_M1,0);

while(pos>0)

{

//Putting Pending LongOrder

Print("Long...");

OrderSend("EURUSD",OP_BUYLIMIT,1,Open+10*Point,3,0,Open+25*Point,"Pending Long Order", 888, 0, Green);

Print("Short...");

//Putting Pending ShortOrder

OrderSend("EURUSD",OP_SELLSTOP,1,Open-10*Point,3,0,Open-25*Point,"Pending Short Order", 999, 0, Red);

pos--;

}
 

Ich bin mir nicht sicher, was gezählte Balken mit einem EA zu tun haben? Ist er nicht für die Verwendung in Indikatoren gedacht?

Ich denke, wenn Sie diesen Teil herausnehmen, könnte alles in Ordnung sein.

 

datetime-Variable

Hallo!

ich möchte die aktuellen Daten und die Uhrzeit schreiben.

extern int starthour = 8;

extern int startminute = 0;

[/CODE]

in my variable

[CODE]

datetime starttime= 0;

Wie kann ich das schreiben?

Aber wie kann ich dies schreiben:

starttime = Datum des Tages + starthour + startminute;

 

Ich bin mir nicht ganz sicher, was Sie fragen, aber ich vermute, dass Sie versuchen, ein Datum um eine Anzahl von Stunden und Minuten zu erhöhen. Wenn Sie sich die Hilfedatei für TimeCurrent() ansehen, werden Sie sehen, dass sie die Zeit in Sekunden zurückgibt. Daraus können Sie logischerweise ableiten, dass Sie die Minuten mit 60 und die Stunden mit 3600 (60*60) multiplizieren müssen, um sie hinzuzufügen.

Sie hätten also etwas wie...

TimeCurrent()+(starthour*3600)+(startmin*60);

Ersetzen Sie TimeCurrent() einfach durch die Zeit, die Sie als 'Startdatum' festgelegt haben.

Lux

 
sunshineh:
Hallo,

Ich möchte die aktuellen Daten und die Uhrzeit schreiben

extern int starthour = 8;

extern int startminute = 0;

[/CODE]

in my variable

[CODE]

datetime starttime= 0;

Wie kann ich das schreiben?

Aber wie kann ich das schreiben:

starttime = Datum des Tages + starthour + startminute;

Verwenden Sie die Funktion StrToTime. Wenn Sie dieser Funktion nicht den Tag, sondern nur Stunde und Minute übergeben, wird sie den aktuellen Tag verwenden. Zum Beispiel so:

datetime startTime = StrToTime( StartHour+": "+ StartMinute);

Wobei StartHour und StartMinute Strings sind:

string StartHour = 8;

string StartMinute = 0;

 

Vielen Dank!!

Ich habe auch noch eine Frage.

Wie kann ich es codieren, wenn ich möchte, dass mein EA nur zum Schlusskurs der Kerze kauft oder verkauft?

Ich dachte, ich kann schreiben

if(!Close[0]) return;

aber es funktioniert nicht.

 
sunshineh:
Vielen Dank!!

Ich habe auch noch eine andere Frage.

Wie kann ich es codieren, wenn ich möchte, dass mein EA nur zum Schlusskurs der Kerze kauft oder verkauft?

Ich dachte, ich kann schreiben

if(!Close[0]) return;
aber es funktioniert nicht.

Sie müssen eine Variable definieren, sagen wir es wird sein:

int barsNumber = 0;

im globalen Abschnitt (z.B. direkt vor der Init-Funktion)

und dann in der Startfunktion, wo Sie Ihren Teil mit der sendOrder-Funktion haben, müssen Sie diese Bedingung überprüfen

if(Balken>BalkenAnzahl)

und wenn sie wahr ist, setzen Sie unsere Variable barsNumber auf Bars

barsNumber = Bars;

Das Ganze würde also wie folgt aussehen:

#Einige Eigenschaften

int BalkenZahl = 0;

int init()

{

}

int deinint()

{

}

int start()

{

if(Balken>BalkenZahl)

{

SendOrder(...);

BalkenZahl = Balken;

}

}