Wie programmiert man? - Seite 212

 

int today=StrToTime("19:59");

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

also

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3));

 
Kalenzo:
Definieren Sie zunächst die Funktion getMagic(), die Ihnen magische Zahlen liefert, und fügen Sie sie in die Funktion ordersend ein (als Parameter für die Einstellung der magischen Zahl).

In der Funktion getMagic sollten Sie dann folgendes tun:

getMagic()

{

1) setze eine Schleife for(int i = 1;i<21;i++) um die Zahlen von 1 bis 20 zu überprüfen

2) als nächstes eine weitere Schleife (innerhalb der ersten for) für jede Zahl i mit for-Schleife von 0 bis OrdersTotal, um zu prüfen, ob Sie die magische Zahl gleich i gefunden haben, wenn Sie Ihre magische Zahl nicht gefunden haben, dann bedeutet das, dass sie frei ist und Sie können sie als Rückgabewert dieser Funktion (getMagic) verwenden und an die orderSend-Funktion übergeben, andernfalls verwenden Sie das Schlüsselwort contunue, um eine weitere Prüfung der magischen Zahl zu überspringen.

}

Hallo Kalenzo,

Vielen Dank für die Antwort!

Ist der Code korrekt?

MagischeZahl = 1000;

maxWiederholungen = 20;

z = maxWiederholungen;

magic = getMagic();

getMagic()

{

findmagic = MagicNumber+i;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

if (OrderMagicNumber() != findmagic) continue;

magisch = MagischeZahl+i;

}

}

}

return(magic);

}

Dank und Grüße

derumuro

 

derumuro

Wenn ich Ihre Anfrage richtig verstanden habe, ist dies eher das, wonach Sie suchen.

Sie sollten die Art und Weise studieren, wie Variablen zwischen Funktionen und dem globalen Bereich geteilt werden. Sie werden große Probleme bekommen, wenn Sie die Unterschiede zwischen lokalem und globalem Bereich nicht verstehen.

Sie sollten sich überlegen, wie Sie mit der Situation umgehen wollen, wenn alle 20 Aufträge erteilt wurden. Wollen Sie eine negative Zahl zurückgeben, um dem Programm mitzuteilen, dass keine weiteren Aufträge mehr möglich sind? Es muss eine Sicherheit in Ihrem Code eingebaut sein.

int MagicNumber = 1000;

int maxRepetitions = 20;

int magic = getMagic( MagicNumber, maxRepetitions );

int getMagic( int StartNumber, int Repeat ) {

// CN!{if an error or no open MagicNumbers are avaible it will return -1}:

int ReturnNumber = -1;

for( int i = 1; i <= Repeat; i ++ ) {

for( int n = 0; n <= OrdersTotal(); n ++ ) {

OrderSelect( n, SELECT_BY_POS, MODE_TRADES );

if( OrderSymbol() == Symbol() ) {

if( OrderMagicNumber() != StartNumber + i ) continue;

ReturnNumber = StartNumber + i;

}

}

}

return( ReturnNumber );

}

derumuro:
Hallo Kalenzo,

Vielen Dank für die Antwort!

Ist der Code korrekt?

MagischeZahl = 1000;

maxWiederholungen = 20;

z = maxWiederholungen;

magic = getMagic();

getMagic()

{

findmagic = MagicNumber+i;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

if (OrderMagicNumber() != findmagic) continue;

magisch = MagischeZahl+i;

}

}

}

return(magic);

}

Danke und Grüße

derumuro
 

Hallo Cockeyedcowboy,

vielen Dank für deine Hilfe!

Ich bin kein Programmierer. Ich versuche, MQL4 zu lernen, aber ich habe 3 große Probleme.

1. Ich verstehe sehr wenig Englisch.

2. Ich habe keine gute Anleitung zu MQL4 gefunden.

3. Ich habe niemanden, der mir hilft.

Frage: Gibt es eine Programmiersprache, die MQL4 ähnlich ist?

Mit freundlichen Grüßen

derumuro

 
Roger09:
int today=StrToTime("19:59");

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

also

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3));

Vielen Dank, Roger09

 

Programmatisch bestimmen, ob Marktausführung

Weiß jemand, ob es eine Möglichkeit gibt, programmatisch zu bestimmen, ob eine Order mit "Marktausführung" eröffnet werden muss oder ob Stoploss / Takeprofits in der ursprünglichen Order erlaubt sind?

 

C.

Wenn Sie auf metaquotes.net gehen, finden Sie vielleicht metatrader in Ihrer Muttersprache.

derumuro:
Hallo Cockeyedcowboy,

Vielen Dank für Ihre Hilfe!

Ich bin kein Programmierer. Ich versuche, MQL4 zu lernen, aber ich habe 3 große Probleme.

1. Ich verstehe sehr wenig Englisch.

2. Ich habe keine gute Anleitung zu MQL4 gefunden.

3. Ich habe niemanden, der mir hilft.

Frage: Gibt es eine Programmiersprache, die MQL4 ähnlich ist?

Mit freundlichen Grüßen

derumuro
 

ATR-Wert in csv - Skript

Hallo, ich habe ein Problem. Ich muss den ATR-Wert aus dem Metatrader in eine csv-Datei importieren.

Leider weiß ich nicht, wie ich das machen soll.

Bitte helfen Sie mir, das Skript zu schreiben.

Ich habe es mit FileWrite - MQL4 Dokumentation und iATR - MQL4 Dokumentation versucht. Aber ich habe es nicht geschafft.

 
nondisclosure007:
C. Wenn Sie auf metaquotes.net gehen, finden Sie vielleicht metatrader in Ihrer Muttersprache.

Danke!

Ich bin auf der Suche nach einer guten Anleitung für MQL4

Mit freundlichen Grüßen

derumuro

 
derumuro:
Vielen Dank!

Ich bin auf der Suche nach einer guten Anleitung für MQL4

Mit freundlichen Grüßen

derumuro

Die auf der Website ist in Ordnung

MetaQuotes Sprache 4 - MQL4