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
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));
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 );
}
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
derumuroHallo 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
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.
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
derumuroATR-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.
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
Vielen Dank!
Ich bin auf der Suche nach einer guten Anleitung für MQL4
Mit freundlichen Grüßen
derumuroDie auf der Website ist in Ordnung
MetaQuotes Sprache 4 - MQL4