[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 214
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
Guten Tag. Ich habe eine Funktion geschrieben, die die Anzahl der Bars zurückgeben soll, wenn ein Auftrag eröffnet wurde:
int BarLastOpenPose()
{
datetime t;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()>1) continue;
if (t<OrderOpenPrice()) t=OrderOpenPrice();
}
}
return (iBarShift(Symbol(),Period(),t,true));
}
Es wird jedoch immer -1 zurückgegeben. Wo habe ich einen Fehler gemacht? Vielen Dank im Voraus.
Guten Tag. Ich habe eine Funktion geschrieben, die die Anzahl der Bars zurückgeben soll, wenn ein Auftrag eröffnet wurde:
int BarLastOpenPose()
{
datetime t;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()>1) continue;
if (t<OrderOpenPrice()) t=OrderOpenPrice();
}
}
return (iBarShift(Symbol(),Period(),t,true));
}
Es wird jedoch immer -1 zurückgegeben. Wo habe ich einen Fehler gemacht? Vielen Dank im Voraus.
Vielleicht sollte es so ablaufen:
return(iBarShift(Symbol(),Periode(),t)); das heißt, ohne true.
Guten Tag. Ich habe eine Funktion geschrieben, die die Anzahl der Bars zurückgeben soll, wenn ein Auftrag eröffnet wurde:
int BarLastOpenPose()
{
datetime t;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()>1) continue;
if (t<OrderOpenPrice()) t=OrderOpenPrice();
}
}
return (iBarShift(Symbol(),Period(),t,true));
}
Es wird jedoch immer -1 zurückgegeben. Wo habe ich einen Fehler gemacht? Ich danke Ihnen im Voraus.
Der Variablen t wird der Eröffnungskurs zugewiesen, obwohl sie als Ganzzahl deklariert ist
Der Variablen t wird der Eröffnungskurs zugewiesen, obwohl sie als Ganzzahl deklariert ist
Wie kann man einen solchen Zustand beschreiben?
Bitte beraten Sie mich.
Wenn ein Extremum (z.B. Hoch) des ersten 5-Minuten-Balkens des aktuellen Tages mit einem Extremum des aktuellen Tages (auf dem Daily) zusammenfällt, dann tun wir etwas. Wie würden Sie es beschreiben?
helft guten Menschen!!!
Hallo, liebe Nutzer der Ressource!
Bitte helfen Sie, wer mit dem Lesen/Schreiben einer realen Zahl in eine Datei konfrontiert ist.
Die Aufgabe ist es, aus einer Datei Saldo zu lesen, wenn der aktuelle Saldo mehr ist - überschreiben Sie die Datei.
Das Problem ist, dass es immer 0 (Null) ausgibt.
Beim Schreiben/Lesen von ganzen Zahlen habe ich solche Probleme nicht gefunden.
Hier ist der Code:
doppeltes Gleichgewicht;
int file_handle_bala;
file_handle_bala=FileOpen("file_bala.dat",FILE_BIN|FILE_READ);
//Position kopieren, falls die Datei leer ist - Position = 0
if (FileSize(file_handle_bala)>0)
{
balance=FileReadDouble(file_handle_bala,DOUBLE_VALUE);
Alert(balance); ------------------------------------- hier sollte Null stehen, obwohl der zuvor gespeicherte Saldo geschrieben werden sollte
FileClose(file_handle_bala);
if (AccountBalance()>balance) ------------------------------------ und diese Regel funktioniert nicht, da die folgende Meldung nichts ausgibt
{
file_handle_bala=FileOpen("file_bala.dat",FILE_BIN|FILE_WRITE);
balance=AccountBalance();
Alert(Bilanz);
FileWriteInteger(file_handle_bala,balance,DOUBLE_VALUE);
FileClose(file_handle_bala);
}
}
else // wenn die Datei leer ist
{
FileClose(file_handle_bala); // zuerst die geöffnete Datei schließen
file_handle_bala=FileOpen("file_bala.dat",FILE_BIN|FILE_WRITE); //zum Schreiben öffnen
balance=AccountBalance();
FileWriteDouble(file_handle_bala,balance,DOUBLE_VALUE);
FileClose(file_handle_bala);
}
Vielen Dank vorab!!!
Beachten Sie diese Zeile
FileWriteInteger(file_handle_bala,balance,DOUBLE_VALUE);
1. Sie sollten respektvoller und freundlicher sein, wenn Sie Ihren Code veröffentlichen.
2. Sie versuchen, eine Ganzzahl von 8 Bytes zu schreiben. MQL4 verfügt nicht über einen solchen Datentyp.
\Was habe ich falsch gemacht? Warum so viele Fehler? (Ich muss wissen, wie hoch die(Ich muss wissen, den maximalen Wert des Indikators in den letzten 10 Bars). danke im Voraus.
Guten Tag an alle!
Ich schreibe meinen ersten Bot, und gleichzeitig mache ich mich mit MQL vertraut. Beim Testen habe ich folgendes Problem:
Die Order OP_BUYSTOP wird direkt nach der Ordererteilung ausgeführt, obwohl der Preis, dem Chart nach zu urteilen, den Zielwert nicht erreicht (siehe unten)
USDJPY,M5 (visuell)
Datum 2011.09.19
Zeit 02:15
Offen 76.903
Hoch 76.909
Niedrig 76.890
Schließen 76.890
Band 66
Ich teste alle Zecken.
Vielleicht verstehe ich den Befehl OP_BUYSTOP nicht richtig? Zu kaufen, wenn der Preis einen bestimmten Wert übersteigt, richtig?
Hier ist ein Teil des Quellcodes, der eine Bestellung aufgibt
int ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, SL, TP);
\Was habe ich falsch gemacht? Warum so viele Fehler? (Ich muss den maximalen Wert des Indikators für die letzten 10 Bars kennen). danke im Voraus.
Sie deklarieren die Funktion Hi:
innerhalb der Funktion start()