Wie programmiert man? - Seite 70

 

Brauche Hilfe

................

 
SIDDESH:
Hallo,

Können Sie bitte den Code für den vorherigen Balken angeben.

Dies kann in der EA verwendet werden, um die Platzierung der Aufträge zu begrenzen, wenn die vorherige Bar mehr als bestimmte Höhe ist.

Mit freundlichen Grüßen,

SIDDESH

Siddesh und andere, die helfen können:

Der Code für den vorherigen Balken lautet wie folgt:

//zum Kaufen

double indicatorpast = icustom(....................,1);

double indicatornow = icustom(....................,0);

if (close[1]indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]<indicatornow) OpenSELL();

aber mit diesem Satatement öffnet der Experte Positionen nicht nur, wenn der Preis den Indikator überschreitet, sondern auch oberhalb des Indikators. Ich möchte, dass der Experte die Position NUR öffnet, wenn er den Indikator überquert, also habe ich das versucht:

//zu kaufen

double indicatorpast = icustom(....................,1);

double indicatornow = icustom(....................,0);

if (close[1]<indicatorpast && close[0]==indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]==indicatornow) OpenSELL();

Aber diese Anweisung wird nicht ausgeführt.

Wissen Sie, woran das liegt? Ich denke nämlich, dass in der Anweisung kein Fehler vorliegt.

Die Frage ist, warum wird nicht genau am Kreuzungspunkt geöffnet, wenn close[0]==Indicatornow? Wenn die Funktion mit == wäre, würden wir das Öffnen von Aufträgen oberhalb des Kreuzungspunktes zwischen dem Indikator und dem Schluss des aktuellen Balkens verhindern, aber es funktioniert nicht mit dieser Art von Beziehung zwischen den Variablen.

 

Menschen, die helfen können:

Der Code für den vorherigen Balken ist unten:

//zu kaufen

double indicatorpast = icustom(....................,1);

double indicatornow = icustom(....................,0);

if (close[1]indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]<indicatornow) OpenSELL();

aber mit diesem Satatement öffnet der Experte Positionen nicht nur, wenn der Preis den Indikator überschreitet, sondern auch oberhalb des Indikators. Ich möchte, dass der Experte die Position NUR öffnet, wenn er den Indikator überquert, also habe ich das versucht:

//zu kaufen

double indicatorpast = icustom(....................,1);

double indicatornow = icustom(....................,0);

if (close[1]<indicatorpast && close[0]==indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]==indicatornow) OpenSELL();

Aber diese Anweisung wird nicht ausgeführt.

Wissen Sie, woran das liegt? Ich denke nämlich, dass in der Anweisung kein Fehler vorliegt.

Die Frage ist, warum wird nicht genau am Kreuzungspunkt geöffnet, wenn close[0]==Indicatornow? Wenn die Funktion mit == wäre, würden wir die Eröffnung von Aufträgen oberhalb des Kreuzungspunktes zwischen dem Indikator und dem Schluss des aktuellen Balkens verhindern, aber es funktioniert nicht mit dieser Art von Beziehung zwischen den Variablen.

Haben Sie mit demselben Problem experimentiert? Weiß jemand, wie es zu lösen ist?

Nochmals vielen Dank.

 
la totona:
Leute, die helfen können:

Der Code für den vorherigen Balken lautet wie folgt:

//zu kaufen

double indicatorpast = icustom(....................,1);

double indicatornow = icustom(....................,0);

if (close[1]indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]<indicatornow) OpenSELL();

aber mit diesem Satatement öffnet der Experte Positionen nicht nur, wenn der Preis den Indikator überschreitet, sondern auch oberhalb des Indikators. Ich möchte, dass der Experte die Position NUR öffnet, wenn er den Indikator überquert, also habe ich das versucht:

//zu kaufen

double indicatorpast = icustom(....................,1);

double indicatornow = icustom(....................,0);

if (close[1]<indicatorpast && close[0]==indicatornow) OpenBUY();

if (close[1]>indicatorpast && close[0]==indicatornow) OpenSELL();

Aber diese Anweisung wird nicht ausgeführt.

Wissen Sie, woran das liegt? Ich denke nämlich, dass in der Anweisung kein Fehler vorliegt.

Die Frage ist, warum wird nicht genau am Kreuzungspunkt geöffnet, wenn close[0]==Indicatornow? Wenn die Funktion mit == wäre, würden wir die Eröffnung von Aufträgen oberhalb des Kreuzungspunktes zwischen dem Indikator und dem Schluss des aktuellen Balkens verhindern, aber es funktioniert nicht mit dieser Art von Beziehung zwischen den Variablen.

Haben Sie mit demselben Problem experimentiert? Weiß jemand, wie es zu lösen ist?

Nochmals vielen Dank.

Weil Sie nach einer exakten Übereinstimmung zwischen einem zurückgegebenen 8-stelligen Fließkommawert und dem Preis suchen - bei solchen Auflösungen werden sie fast nie gleich sein. Prüfen Sie einfach, ob die Bedingung größer als oder kleiner als ist.

 

swicthing software

Hallo Jungs, würde ich brauchen, um diesen Indikator oder den Handel relativ sistem in Sprache mql drehen, weil diese Funktionen auf metatrader 4. Bin ich wechselnden Broker und Software, ist jemand in der Lage', mir zu helfen?

{Berechnung des Expanded Regression Moving Average}

{BEGINNEN}

{"-HShift" - BARS FORWARDS}

DataBars:= Ref(Preis,- HShift);

e1:= Mov(DataBars,PeriodMA,TypeMA);

e2:= Mov(e1,PeriodeMA,TypMA);

e3:= Mov(e2,PeriodeMA,TypMA);

e4:= Bewegung(e3,PeriodeMA,TypMA);

e5:= Mov(e4,PeriodeMA,TypMA);

e6:= Mov(e5,PeriodeMA,TypMA);

c1:= -b*b*b;

c2:= 3*b*b+3*b*b*b;

c3:= -6*b*b-3*b-3*b*b*b;

c4:= 1+3*b+b*b*b+3*b*b;

MV:= c1*e6+c2*e5+c3*e4+c4*e3;

{Berechnung der Lebenszeit MV

zur Eliminierung der Verzerrung der Anfangswerte}

{T3 Gleitender Durchschnitt}

e1:= Mov(Pr,PeriodMA1,TypeMA1);

e2:= Mov(e1,PeriodeMA1,TypMA1);

e3:= Mov(e2,PeriodeMA1,TypMA1);

e4:= Mov(e3,PeriodeMA1,TypMA1);

e5:= Mov(e4,PeriodeMA1,TypMA1);

e6:= Mov(e5,PeriodeMA1,TypMA1);

c1:= -b1*b1*b1;

c2:= 3*b1*b1+3*b1*b1*b1;

c3:= -6*b1*b1-3*b1-3*b1*b1*b1;

c4:= 1+3*b1+b1*b1*b1+3*b1*b1;

MA1:= c1*e6+c2*e5+c3*e4+c4*e3;

{Trend nach oben und unten}

Aufwärtstrend:=Mv>=MA1;

Abwärtstrend:=MA1>=Mv;

{Signal Long und Short}

Long:= Kreuz(Mv,MA1) und Mv>=MA1;

Short:= Kreuz(MA1,Mv) und MA1>=Mv;

{OpenBuy und CloseBuy}

OpenBuy:= cross(Mv,MA1) und Mv>=MA1;

CloseBuy:= cross(MA1,Mv) und MA1>=Mv;

{OpenSell und CloseSell}

OpenSell:= cross(MA1,Mv) und MA1>=Mv;

CloseSell:= cross(Mv,MA1) und Mv>=MA1;

 
bobo10:
Hallo Jungs, ich müsste diesen Indikator oder das relative Handelssystem in die Sprache mql umwandeln, da dies auf Metatrader 4 funktioniert. Bin ich ändern Broker und Software, ist jemand in der Lage', mir zu helfen?

{T3 Gleitender Durchschnitt}

e1:= Mov(Pr,ZeitraumMA1,TypMA1);

e2:= Bewegung(e1,ZeitraumMA1,TypMA1);

e3:= Mov(e2,PeriodeMA1,TypMA1);

e4:= Mov(e3,PeriodeMA1,TypMA1);

e5:= Mov(e4,PeriodeMA1,TypMA1);

e6:= Mov(e5,PeriodeMA1,TypMA1);

c1:= -b1*b1*b1;

c2:= 3*b1*b1+3*b1*b1*b1;

c3:= -6*b1*b1-3*b1-3*b1*b1*b1;

c4:= 1+3*b1+b1*b1*b1+3*b1*b1;

MA1:= c1*e6+c2*e5+c3*e4+c4*e3;

Alle diese Codes sind ähnlich, Sie könnten mit dem T3-Code beginnen

 
nittany1:
Global, füge dies vor init() ein
datetime PreviousBar;[/CODE]

In the order placement and/or order close stuff, wrap it in this:

if(NewBar() == true)

{

if blah blah blah, gimme pips // not actual functions but you get the idea

if blah blah blah, close orders // um

}

Common function outside main loop:

[CODE]//--- returns true if current bar just formed

bool NewBar()

{

if(PreviousBar<Time[0])

{

PreviousBar = Time[0];

return(true);

}

else

{

return(false);

}

return(false);

}

Danke nitty1 für die Hilfe. Ich werde es versuchen.

Danke auch an waltini & devil2000. Ich sollte jetzt in der Lage sein, es herauszufinden.

 

Kontocode für das freie Laufen auf Demo

Hallo:

Kann mir jemand sagen, welcher Code eingefügt werden könnte, damit ein EA, der einen Kontosicherheitscode enthält, auch frei auf einem Demokonto laufen kann, damit die Benutzer ihn testen können, bevor sie live gehen?

Ist dies überhaupt möglich?

Danke

 
fxgrm:
Hallo:

Kann mir jemand sagen, welcher Code eingefügt werden könnte, damit ein EA, der einen Kontosicherheitscode enthält, auch frei auf einem Demokonto laufen kann, damit die Benutzer ihn testen können, bevor sie live gehen?

Ist dies überhaupt möglich?

Danke

Aus dem Metaeditor:

bool IsDemo()

Gibt TRUE zurück, wenn der Experte auf einem Demokonto läuft, andernfalls gibt er FALSE zurück.

 

Kodierung "Trendkondition" mit StepMA

Kaufbedingung:

StepMA (mit Farbmodus: 2) ist "long"

Stochastic kreuzt 20 von unten nach oben

Verkaufsbedingung:

StepMA (mit Farbmodus: 2) ist "short"

Stochastik kreuzt 80 von oben nach unten

double StochCurrent = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 0);

double StochPrevious = iStochastic(NULL, 0, 21, 3, 8, MODE_SMA, 0, MODE_MAIN, Bar + 1);

double TrendLong = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0, 0.0, false, 2, 0, 1, Bar + 0);

double TrendShort = iCustom(NULL, 0, "stepma_v7ea", 1, 1.0, 0, 0, 0, 0.0, false, 2, 0, 2, Bar + 0);

Kaufen wenn:

TrendLong && StochCurrent > 20 && StochPrevious < 20

Verkaufen wenn:

TrendShort && StochCurrent 80

Kann mir jemand mit dem Code der "Trend Condition" im obigen Beispiel helfen, es funktioniert nicht. Ich habe versucht, den Puffer 1 und den Puffer 2 für den Long- und Short-Modus aufzurufen, aber ich verstehe den Code dieses Indikators nicht. Ich danke Ihnen im Voraus!

Grund der Beschwerde: