[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 55
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
if((b_mod) && (PreisB > Ask)) OrderModify(b_ticket,priceB,priceS,0,0,Brown);
if((s_mod) && (priceS < Bid)) OrderModify(s_ticket,priceS,priceB,0,0,Brown);
Hier sollten wir MarketInfo(Symbol(),MODE_STOPLEVEL) berücksichtigen, d.h.
priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
Nein. Diese Frage wurde bereits oben gelöst. Die Funktion funktionierte während des Tests einfach bei jedem Tick und ein neuer Preis wurde nicht so schnell erzielt. Als sich der Preis jedoch nicht änderte, trat der Fehler auf.
Wenn Sie Elemente an eine Funktion vom Typ double oderint übergeben, kann diese die gleichen Operationen durchführen, allerdings ohne jegliche Perversionen. Warum sollte man sein Leben verkomplizieren?
Wenn eine Funktion einen Typ hat, wird davon ausgegangen, dass die Funktion einen Wert dieses Typs zurückgibt.
Ihre Funktion gibt nichts zurück.
Nein. Diese Frage wurde bereits oben gelöst. Die Funktion funktionierte während des Tests einfach bei jedem Tick und der neue Preis wurde nicht so schnell ermittelt. Als sich der Preis jedoch nicht änderte, wurde der Fehler angezeigt.
Was meinen Sie mit "nein"? Wenn die Bedingung
priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
ist nicht erfüllt und priceB >Ask (wie im Code)
erhalten Sie eine Fehlermeldung.
Um den Auftrag nicht zu ändern, wenn der Preis noch keine Zeit hatte, sich zu ändern, sollten wir die Bedingung priceB!=OrderOpenPrice() eingeben
Ich würdeHour()>=18 schreiben, und die Minuten ganz weg lassen.
Können Sie mir sagen, ob es möglich ist, einen Indikator zu schreiben, der Linien in einem Zeitrahmen zeichnet und die Daten für seine Zeichnung aus einem anderen Zeitrahmen nimmt? Der Zweck: die Neuzeichnung des letzten Balkens zu visualisieren.
Es ist elementar, Watson... Verwenden Sie in jedem Fall anstelle von Periode() PERIOD_M15 (der Zeitraum, von dem Sie Daten erhalten möchten)... Und setzen Sie den Indikator auf das aktuelle Diagramm. D.h., legen Sie zwangsweise den Zeitraum fest, aus dem Sie Daten nehmen wollen.
Es ist elementar, Watson... Verwenden Sie in jedem Fall anstelle von Periode() PERIOD_M15 (der Zeitraum, aus dem Sie Daten abrufen möchten)... Und setzen Sie den Indikator auf das aktuelle Diagramm. Legen Sie also zwangsweise den Zeitraum fest, aus dem Sie Daten nehmen wollen.
Es wäre einfach, wenn ich einen Expert Advisor schreiben würde.
Aber es gibt einen Indikator, ich habe sie noch nicht geschrieben.
Ich habe mir als Beispiel eine Standard-Stochastik angesehen. Ich habe die Indikator-Fibel gelesen.
Ich habe noch nie etwas über Zeiträume gelesen. Es scheint zu bedeuten, dass die Balken in dem Zeitrahmen betrachtet werden, auf den der Indikator angewendet wurde.
dies ist der Grund für meine Frage.....
Das wäre einfach, wenn ich einen EA schreiben würde.
Aber es gibt einen Indikator, ich habe sie noch nicht geschrieben.
Ich habe mir als Beispiel eine Standard-Stochastik angesehen. Ich habe die Indikator-Fibel gelesen.
Ich habe nie etwas über Zeiträume gelesen. Es scheint zu bedeuten, dass die Balken in dem Zeitrahmen betrachtet werden, auf den der Indikator angewendet wurde.
Dies ist der Grund für meine Frage....
In der Standard-Stochastik:
double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)
Wenn Sie Ihren eigenen Indikator schreiben, verwenden Sie int iBars( string symbol, int timeframe) anstelle von Bars
https://docs.mql4.com/ru/series/iBars
In einer Standard-Stochastik:
double iStochastic( string symbol, int timeframe, int %Kperiod, int %Dperiod, int slowing, int method, int price_field, int mode, int shift)
Wenn Sie Ihren eigenen Indikator schreiben, verwenden Sie int iBars( string symbol, int timeframe) anstelle von Bars
https://docs.mql4.com/ru/series/iBars
schien das Problem leicht zu lösen.
alle Balken durchiBars ersetzt(überint iB; iB=iBars("EUROUSD",PERIOD_M5);) Keine Fehler.
aber keine Karte. Es erscheint ein leeres Fenster.
Es fehlt eindeutig etwas.
Kann der Indikator 12 Linien auf einem Balken zeichnen, denn es gibt 12 Pentameter auf 1 Uhr, und jeder zeichnet seine eigene Linie.
Das Problem schien leicht zu lösen zu sein.
alle Balken durchiBars ersetzt(überint iB; iB=iBars("EUROUSD",PERIOD_M5);) keine Fehler.
Aber keine Tabelle. Es erscheint ein leeres Fenster.
Es fehlt eindeutig etwas.
Kann der Indikator 12 Linien auf einem Balken zeichnen? z.B. gibt es 12 Pentameter auf 1 Uhr und jeder zeichnet eine eigene Linie.
Das Gleiche gilt für Close - iClose, Open - iOpen, Time - iTime Volume - iVolume, usw.
Der Indikator kann bis zu 8 Linien von 0 bis 7 zeichnen https://docs.mql4.com/ru/customind/indicatorbuffers.