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
Da ich für binäre Optionen schreibe, habe ich die Dinge ein wenig anders gemacht:
Das wäre wahrscheinlich richtig?
Hier ist das Problem
Es gibt 2 Zeilen im Terminal für 1 Auftrag
Und für den Auftrag, der vom Expert Advisor erteilt wurde, Profit == 0
Ich glaube, das ist das Problem
Es gibt 2 Zeilen im Terminal für 1 Auftrag
Und bei dem Auftrag, der vom Expert Advisor erteilt wurde, ist der Gewinn == 0
Wo haben Sie einen Preis unter Null gefunden - wie kann man einen Screenshot zeigen?
Auf diesem Bildschirmfoto ist sie nicht zu sehen
Sie haben bereits Ratschläge für den gesamten Algorithmus erhalten, ich möchte mich nicht einmischen und habe mir Ihren Code und die gleichen Ratschläge noch nicht einmal angesehen... Aber das
fiel mir auf. Meine Frage ist also: Ist es nicht einfacher und lesbarer, den Schalteroperator
Ich denke, es ist einfacher zu lesen und zu verstehen. Vielleicht funktioniert es auch ein bisschen schneller.Vielleicht kann man statt einer Funktion einfach ein Array volume[n] verwenden?
Vielleicht... Ich stimme zu.
Wo haben Sie einen Preis von weniger als Null gefunden, zeigen Sie mir einen Screenshot?
Auf diesem Bildschirmfoto ist nichts dergleichen zu sehen.
Ich versuche, OrderProfit() zu erhalten - es ergibt 0
hier ist eine Bestätigung gefunden Gewinn -0,01, wie es aus dieser zusätzlichen Linie kommt
Vielleicht... Ich stimme zu.
Ich verstehe den negativen Preis nicht, er ist immer noch nicht da.
Zählen Sie den Gesamtgewinn wie folgt (Auszug)
Was Sie brauchen, ist hervorgehoben
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderType()==ORDER_TYPE_BALANCE && OrderCloseTime()>startDate)Withdrawal=Withdrawal+OrderProfit()+OrderCommission()+OrderSwap();
if((OrderType()==ORDER_TYPE_BUY || OrderType()==ORDER_TYPE_SELL))
{
if(OrderCloseTime()>iTime(Symbol(),PERIOD_D1,0))hystCurrDay=hystCurrDay+OrderProfit()+OrderCommission()+OrderSwap();
if(OrderCloseTime()<iTime(Symbol(),PERIOD_D1,0) && OrderCloseTime()>iTime(Symbol(),PERIOD_D1,1))hystPrevDay=hystPrevDay+OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
Ich werde nicht dafür bezahlt, sondern für mich selbst und meine Selbstentfaltung. Nach der Arbeit ist es interessant, eine Gralssuche durchzuführen
Kümmern Sie sich nicht um mich. Nur ich und Nikolay haben eine kleine Zusammenkunft...
Der Kern Ihres Problems: Da OrderProfit() im Forex-Brokerage keinen realen Wert angibt, müssen Sie eine positiv/negativ geschlossene Order als die Differenz zwischen dem Schlusskurs und dem Eröffnungskurs der Order definieren. Dies wurde Ihnen bereits mitgeteilt
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
Prüfen Sie, was ich falsch gemacht habe?
Renat Akhtyamov, 2021.12.21 09:27
die Logik dahinter nicht verstehen
Wie kommt das?
Wie kann der Schlusskurs eines Auftrags kleiner als Null sein?
Die BUY-Order ist im Plus, wenn der Schlusskurs höher ist als der Eröffnungskurs.
Hier ist die Bedingung für einen Kauf plus (ohne Provisionen und Swap):
Wenn es andersherum ist, ist das ein Minuspunkt.Ich bekomme nicht so viel Geld für mich und meine Selbstentwicklung. Nach der Arbeit macht es Spaß, sich auf Gralssuche zu begeben.
Ja, Natalia - das war nur ein Meme aus der Serie "When you get paid for a line of code".
Das ist die Art von Humor, die Programmierer haben.
In Ihrem Fall brauchen Sie keine Funktion.
Sie müssen nur die Variablen Volume1 bilden ... Volume10-Variablen sollten zunächst als Array volume[10]
gebildet werden und sich dann über den Index n auf seine Elemente volume[n] beziehen.
Keine Sorge - fast jeder Programmierer hat das schon einmal erlebt.
Die Hauptsache ist, dass Sie wirklich gerne programmieren. Ich kann es spüren.
Dann werden Sie es weit bringen.