[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 181
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo zusammen!
Meine Frage ist von einem Neuling.
Ich habe einen Indikator, der Daten aus externen Dateien in einem Diagramm anzeigt. Hier sind meine Fragen:
1. Wie öffne ich das Standarddialogfeld für die Dateiauswahl?
2. Wie lässt sich die Beschränkung der Ordner umgehen, in denen die Dateien des Codes geöffnet werden können (Experten/Dateien)?
3. Wie kann ein Steuerelement im Diagramm erstellt werden, das angeklickt werden kann, um das Skript zu deaktivieren? Die Hauptfrage ist, wie man einen EA, zum Beispiel eine Art von Schaltfläche oder etwas anderes, um mit dem Benutzer durch sie zu interagieren) zu machen?
Danke!
Erklären Sie dem Nerd, wo der Fehler liegt!
Ich mache ein einfaches Skript auf Finam Demo, um Alert(BId) Preis zeigen;
Alles funktioniert, aber aus irgendeinem Grund der Preis mit 4 Dezimalstellen angezeigt wird, obwohl die Kurse in 5 Dezimalstellen für EURUSD sind. Auch der IMA wird mit 4 und nicht mit 5 Dezimalstellen berechnet.
Was mache ich falsch, bitte beraten????
Erklären Sie dem Nerd, wo der Fehler liegt!
Ich mache ein einfaches Skript auf Finam Demo, um Alert(BId) Preis zeigen;
Alles funktioniert, aber aus irgendeinem Grund der Preis mit 4 Dezimalstellen angezeigt wird, obwohl die Kurse in 5 Dezimalstellen für EURUSD sind. Auch der IMA wird mit 4 und nicht mit 5 Dezimalstellen berechnet.
Bitte beraten Sie mich, was ich falsch mache ????
Sie machen alles richtig, aber das Terminal druckt 4 Nachkommastellen, konvertieren Sie double in string, bevor Sie mit der richtigen Anzahl von Nachkommastellen drucken.
Alert(DoubleToStr(Bid,Digits));
Hallo zusammen!
Meine Frage ist von einem Neuling.
Ich habe einen Indikator, der Daten aus externen Dateien in einem Diagramm anzeigt. Hier sind meine Fragen:
1. Wie öffne ich das Standarddialogfeld für die Dateiauswahl?
2. Wie lässt sich die Beschränkung der Ordner umgehen, in denen die Dateien des Codes geöffnet werden können (Experten/Dateien)?
3. Wie kann ein Steuerelement im Diagramm erstellt werden, das angeklickt werden kann, um das Skript zu deaktivieren? Die Hauptfrage ist, wie man einen EA, zum Beispiel eine Art von Schaltfläche oder etwas anderes, um mit dem Benutzer durch sie zu interagieren) zu machen?
Danke!
1-2.Standard ist was? In jedem Fall müssen Sie für die ersten beiden Fragen WinAPI und/oder eine externe DLL verwenden.
3. Direkt aus dem Skript, um ein grafisches Element in der Schleife zu machen, um seine Koordinaten zu verfolgen und wenn Sie es ziehen, wird das Skript pausieren oder entladen.
Am einfachsten ist es, einen Blick in den Quellcode zu werfen, denn dort finden sich zahlreiche visuelle Spielereien.
1-2. Welches ist das Standardmodell? Die ersten beiden Fragen erfordern jedoch in jedem Fall WinAPI und/oder eine externe DLL.
3. Direkt aus dem Skript, um ein grafisches Element in der Schleife zu machen, um seine Koordinaten zu verfolgen und wenn Sie es ziehen, wird das Skript pausieren oder entladen.
Am einfachsten ist es, einen Blick in den Quellcode zu werfen, denn dort finden sich zahlreiche visuelle Spielereien.
Sie machen alles richtig, aber das Terminal hat die alte Angewohnheit, 4 Dezimalstellen auszugeben, konvertieren Sie double in einen String, bevor Sie ihn mit der richtigen Anzahl von Ziffern ausgeben.
Alert(DoubleToStr(Bid,Digits));
Danke, jetzt verstehe ich.
Werden bei der Berechnung im Expert Advisor Body die Daten 5- oder 4-stellig angegeben?
Danke, jetzt verstehe ich.
Und wenn ich im EA-Körper rechne, gehen die Daten mit 5 oder mit 4?
Lieber, ich habe wieder eine Frage:
double hc=(iHigh(NULL,0,1)-iClose(NULL,0,1));
double cl=(iClose(NULL,0,1)-iLow(NULL,0,1));
if((iClose(NULL,0,1)<iOpen(NULL,0,1))&&(hc>cl))
pre12=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,Ask+100*Punkt,"",0,0,CLR_NONE);
Es gibt ein Problem: Positionen werden 17-40 Mal alle 1 Minute eröffnet, obwohl ich sie auf 15-Minuten-Charts teste. Und der Orden soll nicht mehr als einmal alle 15 Minuten öffnen. Nur dann ist die Bedingung erfüllt, dass der Schlusskurs der vorangegangenen Kerze niedriger ist als ihr Eröffnungswert.
Warum ist das so?
Lieber, ich habe wieder eine Frage:
if((iClose(NULL,15,1)<iOpen(NULL,15,1))&&(hc>cl))
pre12=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,Ask+100*Punkt,"",0,0,CLR_NONE);
Es gibt ein Problem: Positionen werden 17-40 Mal alle 1 Minute geöffnet, obwohl ich sie auf 15-Minuten-Charts teste. Und ich gehe davon aus, dass ein Auftrag nicht häufiger als einmal alle 15 Minuten geöffnet werden sollte. Nur dann ist die Bedingung erfüllt, dass der Schlusskurs der vorangegangenen Kerze niedriger ist als ihr Eröffnungswert.
Warum ist das so?
Ich gehe davon aus, dass der Auftrag einmal alle 15 Minuten geöffnet werden muss, und zwar zu Beginn des
im Bereich der Variablendeklaration
oder so ähnlich...
Aber Ihre Bedingung ist bei jedem Tick erfüllt, also wird der Auftrag bei jedem Tick geöffnet...