[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 529

 
Chiripaha:

Ich setze Flaggen für die Richtung des Handels. Bedingung: Wenn er in eine Zone zwischen den Linien fällt, dann kaufen und nicht verkaufen, wenn er in eine andere Zone fällt, dann nicht kaufen und verkaufen. Ich regle diesen Prozess mit horizontalen Linien.

Zuvor erkundige ich mich nach den Preisen für die freiliegenden Leitungen. Und danach ein Block von Platzierungs- oder Schließungsaufträgen - je nach Flagge.

Der Code ist trivial einfach. Aber... - Frage...

Wenn diese Konstruktion zu funktionieren beginnt, sind die Kauf- und Verkaufswerte unvorhersehbar (chaotisch). Der Grund dafür ist, dass es klare Bedingungen für die Funktion "if" und die Operatoren "end" und "more/less" gibt.

Das heißt, das Programm verhält sich entsprechend seiner eigenen Gründe: Es kauft oder verkauft oder tut nichts , unabhängig davon, was in den Werten der Variablen steht.


Wie und was muss ich schreiben, damit die Bedingungen funktionieren und, was am wichtigsten ist, damit sie funktionieren? Was mache ich falsch und was berücksichtige ich nicht? (Ich denke, ich habe alles, was ich brauche, in den Funktionsbedingungen erwähnt).


Es gibt noch ein weiteres Problem in diesem Bereich: Wenn sich Variablen in Abhängigkeit von den Bedingungen ändern, werden ihre Werte in den Expert Advisor-Einstellungen (beim Zugriff über F7) so übernommen, wie sie vom Benutzer eingestellt wurden. Aus diesem Grund ist es unmöglich, den aktuellen Stand dieser Variablen zu erkennen. Wie können wir es so gestalten, dass wir sehen können, welche Werte sie gerade haben?


Wie ziehen Sie Linien? Wo überprüfen Sie das, im Testgerät oder in der Demo?
 
Vinin:

Wie ziehen Sie Linien? Wo überprüfen Sie das, im Tester oder in der Demo?

Ich versuche nun schon seit 2 Wochen, dieses Problem zu lösen - d.h. ich habe viele Dinge ausprobiert (einschließlich des Schreibens von 3 Varianten eines ähnlichen Roboters - aber das Problem ist das gleiche).

Ich setze die Linien manuell (normale horizontale Linien) - Dann frage ich den Preis dieser Linien ab - Wenn der Preis in den Bereich zwischen 2 Linien fällt, dann sollte eine Flagge ausgelöst werden (Kauf oder Verkauf - ich erhalte maximal 4 Flaggenvarianten für jedes Linienpaar).

Die Namen der Zeilen sind identisch mit den Namen der Variablen, nur ohne den Buchstaben "p" (der für "Preis" steht).

Ich habe das mit dem Tester und mit der Demo überprüft - die Ergebnisse sind die gleichen.

Zum Testen - vereinfachte die Variante auf ein Minimum - bis zu 2 Linienpaare (für Kauf und Verkauf) - ein Fehler tritt immer noch auf.

Je weniger Linienkombinationen, desto weniger tritt das Problem auf (aber es verschwindet nicht - es ist ein falsches Gefühl). Je mehr Variationen, desto deutlicher wird das Problem.


PS

Eine der Varianten des Roboters (die primäre war genau das), bei der Einstellung der Linie, automatisch 2 zusätzliche Linien. Und hier ist die Wanze nicht herausgekommen. Aber sobald ich versuchte, alle Zeilen manuell zu setzen, trat dieser Fehler auf. - Das bedeutet, dass der Roboter, bevor ich Zeit hatte, zusätzliche Linien (Level - Baseline) zu setzen, begann, nach eigenem Ermessen zu handeln (sowohl im Strategy Tester als auch in der Demo).

 

Guten Tag und guten Handel für alle!

Ein Wort des Rates plz, mein Kopf ist nicht klar, ich bin ein Anfänger...

Ich bin ein Anfänger, ich bin sehr neu in dieser Art von Dingen:

Ich habe zwei schwebende Aufträge

Ich muss zunächst jeden einzelnen von ihnen auswählen und ändern, ABER ich kenne weder die Positionsnummer dieser Aufträge noch ihren Ticker... Wie erfahre ich den Ticker der einzelnen Positionen?

 

Welche Funktion kann ich verwenden, um den Expert Advisor bei bestimmten Bedingungen zu beenden?

Mit anderen Worten, mein Expert Advisor funktioniert, aber im Falle eines Fehlers (diesen Punkt habe ich bereits geschrieben), muss eine Funktion ausgeführt werden, die den Expert Advisor schließt und er hört auf zu arbeiten und zu handeln.

 
Ekburg:

Welche Funktion kann ich verwenden, um den Expert Advisor bei bestimmten Bedingungen zu beenden?

D.h., mein Expert Advisor funktioniert, aber im Falle eines Fehlers (diesen Punkt habe ich bereits geschrieben), sollte es eine Funktion geben, die den Expert Advisor schließt und er hört auf zu arbeiten und zu handeln.

Zunächst einmal müssen wir bestimmen, WAS GENAU" der Expert Advisor während der Rushhour" - den genannten Bedingungen - tun muss. Wenn Sie einfach aufhören zu handeln, können Sie das tun:

bool STOP = false;
int start()
{
    //---- В самом начале кода
    if (STOP) return (0);
    //---- код советника
}
 
TarasBY:

Als erstes muss festgelegt werden, "WAS genau" der EA tun soll, wenn die "Rush Hour" eintritt - die genannten Bedingungen. Wenn Sie einfach aufhören zu handeln, können Sie das tun:


d.h. reicht es aus, die Funktion return(0) hinzuzufügen, um die Arbeit des Expert Advisors zu beenden?
 
Ekburg:

d.h. reicht es aus, die Funktion return(0) hinzuzufügen, um den Expert Advisor zu beenden?
wenn der von Ihnen erwähnte Zustand eintritt.
 
TarasBY:
über das Auftreten der von Ihnen genannten Bedingung.

Danke, gibt es eine Antwort auf die Frage, die ich vorhin gestellt habe?)
 
Ekburg:

Danke, gibt es eine Antwort auf die Frage, die ich vorhin gestellt habe?)
Ich weiß nicht, wo ich im Alphabet anfangen soll... Holen Sie sich einige EA-Codes aus der Codebasis, einer von ihnen MUSS eine fertige Antwort auf Ihre Frage haben.
 
Dimka-novitsek:

Auf den ersten Blick geht es wahrscheinlich um die Variablen, nicht um die Bedingungen. Ich würde damit beginnen, die Variablen mit Warnungen auszugeben, da der Code selbst NORMAL aussieht !!!

Alert(" pcb " , pcb ); Alert(" pl " , pl ); Alert(" pb " , pb );


Sie hatten Recht - es ging um die geforderten Preise. In meiner Unerfahrenheit überprüfte ich sie an exponierten Stellen, und diejenigen, die fehlten (weil sie nicht da waren - menschliche Logik), überprüfte ich auch nicht.

Und sie, auch mit einem Fehler 4202, aber der Preis sie zugewiesen - 0,0000 - und es war dieser Preis und ruiniert alle Leckerbissen! : ))))


Vielen Dank, Vinin und TarasBY!