Wie programmiert man? - Seite 193

 

Brauche Hilfe für eine Ausschreibung

hallo,

zuerst: sorry für mein englisch. ich bin wirklich schlecht in englisch.

so, aber meine frage ist: wie kann ich ein alert-signal programmieren, wenn tenkan und senkou einander kreuzen? long und short.

kann mir jemand helfen, bitte!!!

vielen dank,

tschüss benjamin

Dateien:
ichimoku.mq4  5 kb
 

Kleines Problem..

Kann mir jemand helfen, eine Funktion zu machen, die nach unten wirkt?

Ich habe: A=0

Wenn der Indikator einen bestimmten Punkt nr1 erreicht: A=1.

Und wenn der Indikator diesen bestimmten Punkt verlässt: A=1 (A behält immer noch seinen Wert).

Wenn der Indikator einen bestimmten Punkt nr2 erreicht: A=0.

Jede Idee ist sehr willkommen!

Danke!

 
ohir:
Kann mir jemand dabei helfen, eine Funktion zu erstellen, die wie folgt funktioniert?

Ich habe: A=0

Wenn der Indikator einen bestimmten Punkt nr1: A=1.

Und wenn der Indikator diesen bestimmten Punkt verlässt: A=1 (A behält immer noch seinen Wert).

Wenn der Indikator einen bestimmten Punkt nr2 erreicht: A=0.

Jede Idee ist sehr willkommen!

Danke!

Es ist schwer zu wissen, was man genau will, wenn man so wenig zur Verfügung hat.

Wie wäre es mit

A=0;

if (Gebot >= nr1 && Gebot < nr2) A=1;

wenn (Gebot >= nr2) A=0;

Ersetzen Sie Bid durch O, H, L, C oder jede andere Variable, die Sie wollen.

Aber Sie müssen auch darüber nachdenken, was passiert, wenn der Preis nr1 erreicht und dann fällt, anstatt nach nr2 zu gehen.

Denken Sie einfach daran, dass ich nur vermute, was Sie wollen.

Hoffe es war eine Hilfe

 

Wie kann ich auf eine Datei auf meiner Festplatte zugreifen, die sich nicht im Ordner /experts/files befindet?

btw, ist es möglich, Windows-Befehle (z.B. Kopieren) in mql4 auszuführen? vielleicht mit einer dll-Datei?

Vielen Dank im Voraus :-)

 

Re swgman1

Danke, swgman1!

... aber es ist immer noch ein Problem für mich.

Was ich versuche zu sagen-

Beginnend mit

Indikator1 Wert ist 0

Indikator2 Wert ist 0

A=0

Schritt1

Indikator1 Wert ist 1

Indikator2 Wert ist 0

A=1

Schritt2

Wert von Indikator 1 ist 0

Indikator2 Wert ist 0

A=1

Schritt3

Wert von Indikator 1 ist 0

Indikator2 Wert ist 1

A=0

Ich hoffe, es ist klarer

Danke!

 

Seltsame Schleife..

Ich habe eine seltsame Schleife in meinem Testprogramm gemacht:

int A=1

for(A=0, A=1; A==(Kaufbedingung); A++)

Kaufen if(A=1)

Schließen if(Bid>0)

Es wird gehandelt, nachdem die Bedingung verschwunden ist... ABER, es schließt die Trades nicht direkt nach der Eröffnung (wie es sollte - Bid>0). Jetzt schließt mein Programm alle Trades nur, wenn die Kaufbedingung eintritt.

Was macht diese Schleife eigentlich?

 
ohir:
Ich habe eine seltsame Schleife in meinem Testprogramm gemacht:

int A=1

for(A=0, A=1; A==(Kaufbedingung); A++)

Kaufen if(A=1)

Schließen if(Bid>0)

Es wird gehandelt, nachdem die Bedingung verschwunden ist... ABER, es schließt die Trades nicht direkt nach der Eröffnung (wie es sollte - Bid>0). Jetzt schließt mein Programm alle Trades nur, wenn die Kaufbedingung erscheint.

Was macht diese Schleife eigentlich?

Hallo ohir,

Ich habe mich nie wirklich mit dem Schreiben von EAs beschäftigt, sondern nur mit Indikatoren, daher bin ich nicht die beste Person, um das zu fragen.

Bei einer for-Schleife gibst du jedoch den Startpunkt an (Taktnummer), dann deine Bedingung, um die Schleife am Laufen zu halten, und erhöhst dann deinen Startpunkt für die nächste Schleife.

for (x=Balken-1;x>0;x--) Diese Schleife durchläuft alle Balken des Charts vom ersten bis zum letzten.

for (x=0;x<Balken-1;x++) macht eine Schleife in umgekehrter Richtung

x ist nur der Zähler der Schleife

Ihre Schleife beginnt bei Balken 0 oder 1 (ich bin mir nicht sicher, wie das mit dem Komma funktioniert), und solange der Zähler der Kaufbedingung entspricht (was ich für unmöglich halte), setzen Sie die Schleife fort und erhöhen dann den Zähler.

Versuchen Sie etwas wie

for (x=0;x<=Takte-1;x++)

{

if (A[x]==1) OrderSend(blah,blah,blah)

if (Bid[x]>0) OrderClose(blah,.....)

}

Ich weiß nicht, ob das hilft, aber es ist das Beste, was ich tun kann. Vielleicht kann jemand mit mehr Wissen mehr helfen.

Viel Glück

Swagman

 

Bitte um Hilfe

Ok, ich hab's - verwerfe diesen Beitrag

Dateien:
trenddetect.mq4  14 kb
 

Metatrader und negative Zahlen

Kennt jemand einen besseren Weg, dies zu codieren???? Ich kann Metatrader nicht dazu bringen, die genauen Zahlen zu lesen, einige sind positiv und andere sind negativ.

if (Use_Entry_Delay == true) {

//if (trendis == 0 || trendis == -0) {

//EntryAllowed= True;

//Drucken ("Entry Allowed");

//}

if (trendis == 0,0010){ //EntryAllowed= True; //Drucken ("Entry Allowed"); }

if (trendis == 0,0011){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0012){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0013){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0014){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0015){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0016){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0017){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0018){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0019){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0020){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0021){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0022){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0023){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0024){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0025){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0026){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0010){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0011){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0012){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0013){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0014){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0015){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0016){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0017){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0018){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0019){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0020){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0021){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0022){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0023){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0024){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0025){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0026){ EntryAllowed= true; Print ("Entry Allowed"); }

}else{

EntryAllowed= false;

Print ("Eintrag nicht erlaubt");

}

}

-----------------------------------------

Wenn der Wert -0,0010 oder niedriger ist, sollte man es nicht tun.

wenn es über 0,0026 oder über -0,0026 liegt, wird es nicht ausgeführt.

Ich habe viele Dinge ausprobiert und kann es nicht tun.

Jede HILFE bitte bitte bitte.

 
niteuser:
Kennt jemand einen besseren Weg, dies zu codieren???? Ich kann Metatrader nicht dazu bringen, die genauen Zahlen zu lesen, einige sind positiv und andere negativ.

if (Use_Entry_Delay == true) {

//if (trendis == 0 || trendis == -0) {

//EntryAllowed= True;

//Drucken ("Entry Allowed");

//}

if (trendis == 0,0010){ //EntryAllowed= True; //Drucken ("Entry Allowed"); }

if (trendis == 0,0011){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0012){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0013){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0014){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0015){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0016){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0017){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0018){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0019){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0020){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0021){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0022){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0023){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0024){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0025){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0,0026){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0010){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0011){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0012){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0013){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0014){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0015){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0016){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0017){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0018){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0019){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0020){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0021){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0022){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0023){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0024){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0025){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == -0,0026){ EntryAllowed= true; Print ("Entry Allowed"); }

}else{

EntryAllowed= false;

Print ("Eintrag nicht erlaubt");

}

}

-----------------------------------------

Wenn der Wert -0,0010 oder niedriger ist, wird er nicht eingegeben.

wenn es über 0,0026 oder über -0,0026 liegt, wird es nicht ausgeführt.

Ich habe viele Dinge ausprobiert und kann es nicht tun.

Jede HILFE bitte bitte bitte.
if ((trendis = 0.0026)) { EntryAllowed= true; Print ("Entry Allowed"); }
Grund der Beschwerde: