Abenteuer eines Neulings - Seite 8

 
niko:

Hallo CB,


Ich glaube, Tim ist jetzt im Urlaub, da ich seit ein paar Tagen nichts mehr von ihm gehört habe. Daher mache ich mit deinem Code weiter, da er mir beim Handel helfen wird (da ich die Strategie jetzt manuell handele, und das bedeutet, dass ich früh aufstehen muss, usw.). Ich habe den gesamten Code wie von Ihnen gewünscht geändert, aber aus irgendeinem Grund gibt er immer noch einen Fehler zurück (der diesmal mit "==" zu tun hat, sehr seltsam).


Außerdem ist mir aufgefallen, dass die Startfunktion nicht geschlossen ist. Also habe ich "}" nach der ersten Funktion innerhalb des Starts () hinzugefügt, wenn wir das nicht tun, erzeugt der Code einen Fehler mit der nachfolgenden Funktionszeichenfolge fnGenerateSignal() (und sagt, dass die Funktionsdefinition dafür unerwartet ist).


Ich danke Ihnen wie immer. Ich freue mich auf Ihre Kommentare/Ergänzungen!

Nick

Hallo Nick.

Sie haben eine ganze Reihe von geschweiften Klammern, die im start()-Block unnötig sind. Sie können also sowohl das erste { als auch das letzte } entfernen.

Dir fehlt eine bedingte if-Anweisung im fnGenerateSignal()-Block, so wie er geschrieben ist, wird er immer "OP_BUY" zurückgeben.

Ich kann kein Problem mit == erkennen. Welchen Fehler erhalten Sie genau?

CB.

 
cloudbreaker:

Hallo Nick.

Sie haben eine ganze Reihe von geschweiften Klammern, die im start()-Block unnötig sind. Sie können also sowohl das erste { als auch das letzte } entfernen.

Es fehlt eine bedingte if-Anweisung im fnGenerateSignal()-Block, so wie er geschrieben ist, wird er immer "OP_BUY" zurückgeben.

Ich kann kein Problem mit == erkennen. Welchen Fehler erhalten Sie genau?

CB.

Hey CB, vielen Dank für deine Hilfe.

Ich habe die von Ihnen hervorgehobene bedingte if-Anweisung hinzugefügt.

Der ==-Fehler besagt: "=="-unterschiedliche Typen im Vergleich, und er hebt die folgende Zeile hervor

if ((OrderSymbol() == Symbol()) && (OrderType() == sSignal))


Ich denke, der == Fehler liegt daran, dass wir OrderType, das int ist, mit sSignal, das string ist, vergleichen, also können sie nicht gleich sein. Ich werde sehen, ob ich es ändern kann, und posten, was ich tat.

 

Hey, ich habe 'OP_BUY' auf 1 und OP_SELL auf -1 geändert, um den Fehler mit den inkompatiblen Typen zu beheben (das bedeutete, auch fnGenerateSignal zu ändern). Es produziert keine Fehler, wenn kompiliert.


Wenn ich sie jedoch im Strategietester ausführe, werden immer noch mehrere Kauf- und Verkaufsaufträge nacheinander ausgeführt (und es sollte nur ein Auftrag in einer Richtung vorliegen). Irgendwelche Ideen?

Dateien:
 

Probieren Sie dies aus und sehen Sie, wie Sie vorankommen.

- Überprüfen Sie zunächst Ihre bedingten Anweisungen in fnGenerateSignal(), um sicherzustellen, dass alle "less thans" und "greater thans" korrekt sind, denn ich musste die erste Anweisung erneut einfügen.

- Wenn es dann immer noch nicht funktioniert, fügen Sie Print()-Anweisungen ein, damit wir sehen können, was die verschiedenen Variablen an wichtigen Punkten tun.


CB

Dateien:
 
niko wrote >>

Hey, ich habe 'OP_BUY' auf 1 und OP_SELL auf -1 geändert, um den Fehler mit den inkompatiblen Typen zu beheben (das bedeutete, auch fnGenerateSignal zu ändern). Es produziert keine Fehler, wenn kompiliert.

Wenn ich sie jedoch im Strategietester ausführe, werden immer noch mehrere Kauf- und Verkaufsaufträge nacheinander ausgeführt (und es sollte nur ein Auftrag in einer Richtung vorliegen). Hat jemand eine Idee?

Hallo Niko,

Willkommen zurück aus der Türkei.

Wie läuft's denn so?

Viele Grüße

Huckleberry

 

Hallo Nick


Sorry, ich wusste nicht, dass du aus dem Urlaub zurück bist.


Schön, dass du eine tolle Zeit in der Türkei hattest.

Angehängt ist der aktualisierte Code mit Anmerkungen usw.


Die nächste Aufgabe ist das Kompilieren und Debuggen. Dann können Sie mit dem Testen beginnen. Etwas mehr Ordnung in den Kommentaren im Code wäre auch keine schlechte Idee.


Mit freundlichen Grüßen

Tim
 
TSWilson:

In der Version, die ich gerade gepostet habe, habe ich einige Kommentare weggeräumt. :-)


CB

 
Hey Leute, es sieht so aus, als ob das ganze Team wieder in Aktion ist! Danke Tim, ich werde mit deinem Code weitermachen, und wann immer ich eine Chance bekomme, werde ich mit CB's weitermachen.
 
niko:
Hey Leute, es sieht so aus, als ob das ganze Team wieder in Aktion ist! Danke Tim, ich werde mit deinem Code weitermachen, und wann immer ich die Gelegenheit dazu habe, werde ich mit dem von CB weitermachen.

Darf ich Sie bitten, etwas über Ihre Strategie zu bestätigen.

Wenn ich mich richtig erinnere, hatten Sie vorher gesagt, dass Sie einen einzigen EA haben wollten, der auf jedes Paar fallen gelassen werden könnte und nur auf dem Paar des Charts handeln würde, auf das er fallen gelassen wurde - und er würde alle seine Handelsentscheidungen treffen, die nur auf dem Paar des Charts basieren, auf das er fallen gelassen wurde. So hätten Sie nur eine einzige Codebasis zu pflegen. Ist das immer noch der Fall?


CB

 
cloudbreaker wrote >>

Darf ich Sie bitten, etwas über Ihre Strategie zu bestätigen.

Wenn ich mich richtig erinnere, hatten Sie zuvor gesagt, dass Sie einen einzigen EA haben wollten, der auf jedes Paar fallen gelassen werden könnte und nur auf dem Paar des Charts handeln würde, auf das er fallen gelassen wurde - und er würde alle seine Handelsentscheidungen treffen, die nur auf dem Paar des Charts basieren, auf das er fallen gelassen wurde. So hätten Sie nur eine einzige Codebasis zu pflegen. Ist das immer noch der Fall?

CB

Hey CB, das Ideal wäre ein Multi-Pair EA - das ist das, was Tim und ich versuchen, zu bauen. Ein Single-Pair-EA ist jedoch auch sehr wünschenswert, da ich dadurch lerne, wie man programmiert. Eure Codierungsstile sind unterschiedlich, und es ist eine hervorragende Übung für mich, um zu sehen, wie die gleiche/ähnliche Idee unterschiedlich codiert werden kann. Außerdem dachte ich, wenn wir den Einzel-EA zuerst fertigstellen, würde ich ihn nutzen, um mir beim manuellen Handel zu helfen, aber es sieht so aus, als würden beide Codes jetzt etwa zur gleichen Zeit fertig werden

Grund der Beschwerde: