Wie findet man den Zeitpunkt des Balkens, an dem sich die gleitenden Durchschnitte gekreuzt haben? (Code innen)
Hallo zusammen!
Das ist natürlich nicht der ganze Code, aber das ist der Hauptteil, mit dem ich mir die Haare ausreiße. Bitte überprüfen Sie den Code mit dem "<<<<<<<<<<<<<". Dies sind die Punkte, die ich bin verwirrt über.
Danke RaptorUK - Das erklärt mir, freundlich ausgedrückt, gar nichts? In Laiensprache?
Ist dies ein Forum, in dem mir jemand wirklich helfen kann, außer die Definitionen von Funktionen zu wiederholen (die ich schon 100-mal im "Hilfe"-Bereich gelesen habe...)
Schließlich habe ich nicht das Gefühl, dass meine Frage (im Vergleich zu einigen der Threads hier!) ausreicht, um jemanden zu veranlassen, seine Zeit in Rechnung zu stellen...?
Die Übersetzung in Laienbegriffe wird Ihnen helfen... einmal, heute, bei diesem speziellen Problem... und nehmen Sie sich etwas Zeit für den Erklärer.
Wenn du sagst, welche der Definitionen du nicht verstehst, kannst du vielleicht beim nächsten Mal deine eigenen Probleme lösen, und nach einer Weile kannst du einer von denen sein, die die Probleme anderer Leute lösen.
Wenn du versuchst, das Problem selbst zu erforschen, wirst du auch viel mehr lernen. Versuchen Sie zum Beispiel dies:
Alert(iHighest(Symbol(), 0, MODE_HIGH, iBarShift(Symbol(), 0, triggerBarTime, true), 0));
und Sie werden sehen, welcher Wert von der Funktion zurückgegeben wird... (wie Raptor sagt, ist es kein Preis)... und Sie werden wahrscheinlich die Definition der Funktion leichter verstehen.
Solche Dinge helfen Ihnen mehr, als darauf zu hoffen, dass jemand im Forum Zeit hat, Ihren Code zu testen und die gleiche Fehlersuche zu betreiben, die Sie selbst lernen sollten.
Hm? Ich bin so verwirrt - bin ich zu viel für einige Hilfe fragen?
Immerhin habe ich meine gesamte EA von Grund auf aufgebaut (die ich mir selbst beigebracht habe...) Ich möchte nur etwas Anleitung von jemandem, der mehr Wissen hat als ich... :s
"Dinge wie diese werden Ihnen mehr helfen, als zu hoffen, dass jemand im Vorstand Zeit hat, Ihren Code zu testen und die gleiche Fehlersuche zu betreiben, die Sie selbst lernen sollten."
Was zur Hölle... Das habe ich von niemandem erwartet!?
Ihr Beitrag hat mehr Licht in die Situation gebracht - ich weiß das zu schätzen.
Dieses Forum ist wirklich lustig... Ich hatte nicht vor, jemanden zu beschimpfen! Ich wollte einfach nur klären, wie ich den Balken, der sich mit den EMA's kreuzt, richtig identifiziere...
Jeez....
Wenn ich die Antwort von Raptor lese, wird genau das Problem beschrieben, das Sie gemacht haben.
Preise werden als Double-Variablen gespeichert, z.B. 1.12345
die iHighest-Funktionen geben eine ganze Zahl (int) zurück, z. B. 1 oder 2 oder -100 ...., also keinen Preis.
Ich weiß nicht, was Sie zu erreichen versuchen, aber die iHighest-Funktion ist wahrscheinlich nicht diejenige, die Sie verwenden wollen.
Sie hätten das selbst herausgefunden, wenn Sie im Metaeditor auf iHighest in Ihrem Code klicken und dann F1 drücken würden... Sie werden sehen, dass die Funktion eine ganze Zahl zurückgibt (was Ihnen Raptor auch gesagt hat)
Ich kenne die Quelle Ihrer Verwirrung nicht. Wenn Sie den Unterschied zwischen int- und double-Variablen nicht kennen, fehlt es Ihnen an lebenswichtigem Grundwissen, d.h. Sie versuchen zu rennen, bevor Sie gehen können, und wollen, dass jemand anderes Sie trägt :/
EDIT: Sie haben nicht erwartet, dass Sie Ihre eigenen Probleme lösen müssen, bevor Sie jemand anderen fragen?!?
Mehrere gleitende Durchschnitte kreuzen sich nicht zur gleichen Zeit.
Warum posten Sie doppelt? Ihre Frage wurde bereits beantwortet.
Suchen Sie den frühesten Balken, bei dem sie alle in der richtigen Reihenfolge waren.
int DIR = 0; for(int iBar = 0; iBar < Bar; iBar++){ double MA20 = ... iBar), MA5 = ... iBar); : if( MA20 > MA5 && MA5 > ...) DIR = -1; else if(MA20 < MA5 && MA5 < ...) DIR = +1; // All fanning up. else if (DIR != 0){ iBar--; break; } // Last one was cross. }
Ich verstehe den Unterschied zwischen int und double...
nachdem die If-Anweisungen wahr sind, möchte ich den Balken finden, der an dem Punkt gekreuzt wurde, an dem die MAs auseinander liegen. Ich dachte, wenn ich benutze:
"triggerBarTime = Time[1];" - nach den "If"-Anweisungen dann triggerBarTime könnte in Verbindung mit iBarShift verwendet werden, um den ersten Balken des Bereichs, an dem ich interessiert bin, zu fixieren?
Mit iHighest könnte ich diese Information dann in einen int-Wert umwandeln und in meiner Orderfunktion verwenden (Buy_Price)?
Sie kennen vielleicht den Unterschied zwischen int und double, aber Sie verstehen nicht den Unterschied zwischen einer Taktnummer (int) und einem Preis (double).
Mit iHighest können Sie die Datumsangabe in eine Taktnummer (int.) umwandeln, aber OrderSend nimmt nur einen Preis (double) an. Es macht keinen Sinn, eine Order bei 9 zu eröffnen.
Ah! Erwischt!
Danke vielmals :) Ich weiß das wirklich zu schätzen!
Danke für die Geduld mit mir - ich wollte nicht so rüberkommen, dass ich erwarte, dass irgendjemand etwas für mich tut; ich wollte nur etwas Klarheit über die Hilfe (F1 zu drücken ist für mich nicht immer so klar.).

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo zusammen!
Ich hatte gehofft, dass mir jemand bei meinem Code helfen könnte - ich stecke derzeit bei diesem einen verdammten Teil fest!
Dies ist der Prozess, den ich versuche, in Code unten zu schreiben:
1) Wenn alle MA's sind "aufgefächert" und gekreuzt, so dass der Preis über alle gleitenden Durchschnitte ist und sie sind ein langes Potenzial angezeigt.
2) Ich möchte dann den genauen Balken (unter Verwendung der Zeit) wissen, dass die gleitenden Durchschnitte am Kreuz der gleitenden Durchschnitte "aufgefächert" sind.
3) Wenn 1 und 2 wahr sind, warte ich dann auf jeden Balken, der wieder nach unten geht (im Falle einer Long-Position) und den 21 EMA berührt.
4) Vom ersten Bar (wo sich die MA's gekreuzt und aufgefächert haben) bis zum Bar, der jetzt den 21 EMA berührt hat - möchte ich eine Pending Order ODER am Markt platzierten Handel ÜBER den Höchstständen dieser Spanne (1 & 3).
5) Wenn der Kurs zu irgendeinem Zeitpunkt unter dem 60 EMA schließt, BEVOR die Order ausgelöst wird, dann wird die Order storniert.
Das ist natürlich nicht der gesamte Code, aber das ist der Hauptteil, mit dem ich mir die Haare raufe. Bitte überprüfen Sie den Code mit dem "<<<<<<<<<<<<<". Dies sind die Punkte, die mich verwirren.
Ich könnte WIRKLICH Hilfe gebrauchen - es wäre wirklich sehr hilfreich!
Vielen Dank im Voraus!