[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 591

 
rigonich:

Würden Sie lernen, die richtigen Fragen zu stellen? Welche Linien? Stromleitungen? Die meisten Menschen sind nicht telepathisch und können nicht wissen, was Sie meinen, wenn Sie es ihnen nicht sagen.
Ich bin ein Telepath! Was ist los? :-))
 
lottamer:

und warum habe ich eine Reihe von Bedingungen

if (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

als TRUE ausgeführt wird, auch wenn OrderProfit kleiner als 10 (Dollar) ist ?

Denn alles, was weniger als 10 Dollar kostet, soll abgeschafft werden?


Versuchen Sie, die Variablen vor dieser Zeile zu drucken, vielleicht erreicht Ihr Programm diese Zeile nicht, oder die Variablenwerte entsprechen nicht Ihren Erwartungen. Wenn Sie beispielsweise ein Cent-Konto haben,gibt die FunktionOrderProfit() bei einigen Maklerfirmenden Wert in Cent zurück, bei anderen in Dollar.
 
rigonich:

Versuchen Sie, die Variablen vor dieser Zeile zu drucken, vielleicht erreicht Ihr Programm diese Zeile nicht oder die Variablenwerte entsprechen nicht Ihren Erwartungen. Wenn Ihr Konto beispielsweise auf Cent lautet, gibt die Funktion OrderProfit() bei einigen Maklerunternehmen den Wert in Cent und bei anderen in Dollar zurück.


1 - das Programm kann diese Zeile nicht erreichen - weil sie AUSGEFÜHRT ist (sonst hat der Expert Advisor nicht das getan, was ich von ihm erwarte).

2 - mit der Print ("profit=", OrderProfit()); (die auch verhält sich seltsam - dann schreibt, dann schweigt ...) Ich erhalte die folgende Ausgabe:

"Gewinn=-0,24".

Aber wenn ich die Bedingung "ifOrderProfit()>10" einfüge, geht es problemlos durch...

 
Desead:

Weiß jemand etwas über den Rollover?

Kann es bei der Wiedereröffnung von Aufträgen mit Rollover zu Verschiebungen bei den Stop- und Takeout-Werten kommen? Und wie wird der Stop gesetzt, wenn nach dem Rollover die Differenz zwischen Eröffnungs- und Stop-Kurs kleiner ist als der Stop-Leveler?

Meine Aufgabe lautet wie folgt. Wenn ich einen offenen Marktauftrag habe, sollte ich prüfen, ob er mit Rollover eröffnet wurde, und wenn ja, sollte ich das Ticket des vorherigen Auftrags erhalten, der geschlossen wurde. Vielleicht schlägt jemand einen Suchalgorithmus vor? Ich tue es bisher:

1. Ich wähle den ersten offenen Auftrag aus.
2. Ich schaue die Zeit seiner Öffnung, wenn es von 23:40 bis 00:20 geöffnet wird, dann fahre ich fort, diesen Auftrag weiter zu überprüfen (40 Minuten-Fenster wird gerade im Fall genommen, obwohl in der Idee es möglich ist, von 23:50 bis 23:59 zu nehmen)
3. Ich merke mir die Fahrkarte, halte an und nehme
4 Ich überprüfe alle abgeschlossenen Aufträge anhand der Historie, bei denen die Kommentare das Wort "Swap" enthalten und die Währungspaare übereinstimmen

5. Ich sollte die Daten zu Stopps und Übernahmen vergleichen. Wenn sie ähnlich sind, ist hier das erforderliche Auftragspaar, wenn nicht - gehe ich zurück zu Schritt 1

1. Ich habe keinen Schlupf beim Rollover, das ist ein technischer Punkt.

2.(3-4-5) Es genügt zu prüfen, ob der Kommentar zum angegebenen Übergabezeitpunkt ausgetauscht worden ist.

 
Zhunko:
Ich bin ein Telepath! Was ist passiert? :-))


Ist es irgendwie möglich, Kommentare in die Zeilen zu schreiben, wie die, die bei einer Bestellung geschrieben werden (Ticketnummer und Auftragsart)?

Sagen Sie mir, da Sie kein Telepath sind, über welche Linien reden wir?

 
rigonich:


Ist es irgendwie möglich, Kommentare in die Zeilen zu schreiben, wie die, die bei einer Bestellung geschrieben werden (Ticketnummer und Auftragsart)?

Erklären Sie mir, der ich kein Telepath bin, über welche Linien wir sprechen?


die grün gepunktete Linie, die das Eröffnungsniveau des Handels markiert :))
 
lottamer:


1 - das Programm kann diese Zeile nicht verfehlen, weil sie AUSGEFÜHRT ist (sonst würde der EA nicht tun, was ich von ihm erwarte).

2 - mit der Print ("profit=", OrderProfit()); (die auch verhält sich seltsam - jetzt schreiben, jetzt still...) Ich erhalte die folgende Ausgabe:

"Gewinn=-0,24".

Aber wenn ich die Bedingung "ifOrderProfit()>10" einfüge, geht sie einfach durch...


Das kann z.B. bedeuten, dass der falsche Auftrag zur Änderung ausgewählt wurde, welche Parameter Sie abfragen oder etwas anderes.

Wenn der Expert Advisor das tut, was er tun soll, warum sollten Sie sonst etwas mit ihm tun?

Fast jedes Programm kommt während seiner Ausführung an einigen Stellen nicht weiter. Wenn zum Beispiel ein if()-Operator in einem Programm vorhanden ist und die Bedingung falsch ist, wird der Teil des Operators, der auf die Bedingung folgt, nicht ausgeführt, d.h. das Programm kommt nicht zu ihm.

 
rigonich:

Wenn Sie nicht antworten, kann das bedeuten, dass Sie die falsche Reihenfolge für die Änderung gewählt haben oder etwas anderes.


Ich habe es hier einfach - Aufträge sind immer einer nach dem anderen. Es kann nicht 2 geben. Daher ist es schwierig, .... in den Parametern zu übersehen.

print schweigt, und der darauf folgende Befehl, der sich in einer BOX mit ihm befindet, geht durch (close the deal)

Es muss etwas mit der Größe des Gewinns zu tun haben... vielleicht sind es die Punkte? und ich muss 0,001 eingeben?

auch wenn dort deutlich "-0,24" steht - Dollar...

Ich verstehe es nicht...

 

Guten Abend! Können Sie mir sagen, ob diese Bedingung funktioniert - keine exakte Antwort plus oder minus drei Punkte?

 if(tsena+3*Point>Ask&&tsena-3*Point<Ask&&wtoraya__stupen){//Если, пройдя сто пунктов вверх,или вниз, цена вернулась обратно, удаляем все позиции.  
    

Ich habe 25 Minuten lang zwei Koordinatenachsen auf getrenntem Papier gezeichnet, um zu schätzen.

 
lottamer:

ist eine grün gepunktete Linie, die das Eröffnungsniveau des Geschäfts markiert :))

Im Terminal gibt es verschiedene Linien, horizontale, vertikale, Trendlinien, Linien der Auftragsebenen, Linien des aktuellen Preises Ask und Bid, Indikatorlinien und andere Linien.