Offenbar ist es eine Art Denkschule, es so zu schreiben
Warum nicht so?
Vielleicht, weil Codes in der Basis nicht für logische Ableitungen und hundertfache Verschachtelung benötigt werden, sondern für Anfänger zum Verständnis?
Artyom Trishkin: Vielleicht, weil Codes in der Basis nicht für logische Ableitungen und hundertfache Verschachtelungen benötigt werden, sondern für Anfänger zu verstehen sind?
Wo ist die Inversion? Wenn eine Position die Bedingungen erfüllt, arbeiten wir mit ihr. weiter - Ausgabe.
Wo ist der Knackpunkt? Wenn eine Position die Bedingungen erfüllt, arbeiten wir mit ihr. Das ist ein Ablenkungsmanöver.
Ach so... Es sind also nur die Vorlieben von jemandem.
Die Codes von Igor Kim haben zum Beispiel eine solche Verschachtelung. Ein solcher Code kann kompakter geschrieben werden (es ist seltsam, dass Sie mit Ihrem Hang zur Kürze eine mehrfache Verschachtelung von Codeblöcken vorschlagen, die leicht vermieden werden kann, wenn man den Code aufräumt und ihn anschaulicher gestaltet):
Sie schlagen diese Logik vor:
Prüfe Bedingung 1, es passt
Prüfe Bedingung 2, es passt
Prüfe Bedingung 3, es passt
Prüfe Bedingung 4, es passt
Arbeitet
Ende des Prüfblocks für Bedingung 4
Ende des Bedingungsprüfungsblocks 3
Ende der Bedingung Prüfblock 2
Ende der Bedingung 1 Prüfblock
Oder Sie können es so machen:
Bedingung 1 passt nicht - kein Bedarf
Bedingung 2 passt nicht - kein Bedarf
Bedingung 3 ist nicht geeignet - nicht erforderlich
//+------------------------------------------------------------------+//| Gibt den korrekten StopLoss relativ zum StopLevel zurück |//+------------------------------------------------------------------+double CorrectStopLoss(constENUM_POSITION_TYPE position_type,constint stop_loss)
{
if(stop_loss==0) return0;
double pt = _Point;
double price=(position_type==POSITION_TYPE_BUY ? SymbolInfoDouble(_Symbol,SYMBOL_ASK) : SymbolInfoDouble(_Symbol,SYMBOL_BID));
int lv=StopLevel();
return(NormalizeDouble((position_type==POSITION_TYPE_BUY) ? fmin(price-lv*pt,price-stop_loss*pt)
: fmax(price+lv*pt,price+stop_loss*pt),_Digits));
}
Was ist los? Nun, ich denke, man hat beschlossen, das Problem zu beheben, damit es keine Fragen mehr gibt, wie Sie sie früher hatten.
Aber wenn jetzt jemand beschließt, den Expert Advisor so zu ändern, dass er mit schwebenden Aufträgen arbeitet, muss er hin und her wechseln, weil es einen Fehler in der Aufzählung der Eingaben geben wird.
Und ORDER_TYPE_BUY == POSITION_TYPE_BUY und ORDER_TYPE_SELL == POSITION_TYPE_SELL sind 0 und 1. Es gibt also keinen Unterschied. Aber die Eingabe ENUM_ORDER_TYPE macht es einfacher, sie für andere Auftragsarten zu ändern.
Die Codes von Igor Kim zum Beispiel haben solche Verschachtelungen. Ein solcher Code kann kompakter geschrieben werden (es ist seltsam, dass Sie mit Ihrem Hang zur Kürze eine mehrfache Verschachtelung von Codeblöcken vorschlagen, die leicht vermieden werden kann, wenn man den Code aufräumt und ihn anschaulicher gestaltet):
Sie schlagen diese Logik vor:
Prüfe Bedingung 1, es passt
Prüfe Bedingung 2, es passt
Prüfe Bedingung 3, es passt.
Prüfe Bedingung 4, es passt.
Arbeiten
Ende der Bedingung 4 Prüfblock
Ende der Bedingung 3 Prüfblock
Ende der Bedingungsprüfung Block 2
Ende der Bedingungsprüfung Block 1
So etwas wurde nicht gezeigt. Kim war dazu gezwungen, weil es zu diesem Zeitpunkt keine strenge Richtlinie gab.
Sie hat nichts dergleichen gezeigt. Kim war dazu gezwungen, weil es zu diesem Zeitpunkt keine Richtlinie gab.
Seltsam, wie habe ich es damals geschafft, mit continue ohne strict zu arbeiten? Und ich war nicht der Einzige - Vitya Nikolaev (Vinin) sagte mir damals, ich solle es tun.
Ich verstehe also Ihre Beschwerde über den Code und den Programmierer nicht, der ihn in einigen seiner Einstellungen geschrieben hat.
Die Codes sind aktualisiert worden.
Offenbar ist es eine Art Denkschule, wenn sie es so schreiben
ZY
CorrectStopLoss(POSITION_TYPE_BUY,InpStopLoss)Offenbar ist es eine Art Denkschule, es so zu schreiben
Warum nicht so?...
ZY
CorrectStopLoss(POSITION_TYPE_BUY,InpStopLoss)Was ist denn der Unterschied? Habe mir den Code nicht angeschaut - ist das so ein Tippfehler da, oder ist das deine Frage?
Vielleicht, weil Codes in der Basis nicht für logische Ableitungen und hundertfache Verschachtelungen benötigt werden, sondern für Anfänger zu verstehen sind?
Wo ist die Inversion? Wenn eine Position die Bedingungen erfüllt, arbeiten wir mit ihr. weiter - Ausgabe.
Ist da ein Unterschied? Habe mir den Code nicht angeschaut - ist das so ein Tippfehler, oder ist das Ihre Frage?
Wo ist der Knackpunkt? Wenn eine Position die Bedingungen erfüllt, arbeiten wir mit ihr. Das ist ein Ablenkungsmanöver.
Ach so... Es sind also nur die Vorlieben von jemandem.
Die Codes von Igor Kim haben zum Beispiel eine solche Verschachtelung. Ein solcher Code kann kompakter geschrieben werden (es ist seltsam, dass Sie mit Ihrem Hang zur Kürze eine mehrfache Verschachtelung von Codeblöcken vorschlagen, die leicht vermieden werden kann, wenn man den Code aufräumt und ihn anschaulicher gestaltet):
Sie schlagen diese Logik vor:
Oder Sie können es so machen:
Der zweite Code ist klarer und kürzer
fxsaber:
Was ist los? Nun, ich denke, man hat beschlossen, das Problem zu beheben, damit es keine Fragen mehr gibt, wie Sie sie früher hatten.
Aber wenn jetzt jemand beschließt, den Expert Advisor so zu ändern, dass er mit schwebenden Aufträgen arbeitet, muss er hin und her wechseln, weil es einen Fehler in der Aufzählung der Eingaben geben wird.
Und ORDER_TYPE_BUY == POSITION_TYPE_BUY und ORDER_TYPE_SELL == POSITION_TYPE_SELL sind 0 und 1. Es gibt also keinen Unterschied. Aber die Eingabe ENUM_ORDER_TYPE macht es einfacher, sie für andere Auftragsarten zu ändern.
Ahhhh. Das ist nur die Vorliebe von jemandem.
Die Codes von Igor Kim zum Beispiel haben solche Verschachtelungen. Ein solcher Code kann kompakter geschrieben werden (es ist seltsam, dass Sie mit Ihrem Hang zur Kürze eine mehrfache Verschachtelung von Codeblöcken vorschlagen, die leicht vermieden werden kann, wenn man den Code aufräumt und ihn anschaulicher gestaltet):
Sie schlagen diese Logik vor:
So etwas wurde nicht gezeigt. Kim war dazu gezwungen, weil es zu diesem Zeitpunkt keine strenge Richtlinie gab.
Er schlug diese Möglichkeit vor:
Man kann es auch so machen:
Der zweite Code ist klarer und kürzer
Er hat nichts dergleichen gezeigt. Kim war dazu gezwungen, weil es zu diesem Zeitpunkt keine Richtlinie gab.
Das ist es, was er vorgeschlagen hat:
Und das?
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien.
Expert Advisors: Diff_TF_MA_EA
fxsaber, 2018.02.02 09:36 Uhr.
Wo ist das Reversal? Wenn die Position die Bedingungen erfüllt, arbeiten Sie mit ihr. Wenn die Position die Bedingungen erfüllt, arbeiten wir mit ihr.
Sie hat nichts dergleichen gezeigt. Kim war dazu gezwungen, weil es zu diesem Zeitpunkt keine Richtlinie gab.
Seltsam, wie habe ich es damals geschafft, mit continue ohne strict zu arbeiten? Und ich war nicht der Einzige - Vitya Nikolaev (Vinin) sagte mir damals, ich solle es tun.
Ich verstehe also Ihre Beschwerde über den Code und den Programmierer nicht, der ihn in einigen seiner Einstellungen geschrieben hat.