[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 386
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
Wahrscheinlich so etwas in der Art, weil Endlosschleifen auf moderner Hardware sehr lange dauern.
:)
Добрый день.
В индикатоте есть ф-я IndicatorShortName("iC_C_mod, ..... ");
Мне, однако, нужно, кроме этой надписи, - чтобя я могла вставить коммент с динамично изменяющейся переменной в окно индикатора.
Типа ф-и Comment();
Но только, именно, в окно индикатора, а вовсе не на сам график.
Пож. подскажите ?
so dass die Ausgabe in dem gewünschten Fenster erfolgt
Добрый день.
В индикатоте есть ф-я IndicatorShortName("iC_C_mod, ..... ");
Мне, однако, нужно, кроме этой надписи, - чтобя я могла вставить коммент с динамично изменяющейся переменной в окно индикатора.
Типа ф-и Comment();
Но только, именно, в окно индикатора, а вовсе не на сам график.
Пож. подскажите ?
Sie können ein Etikett erstellen und den Text ändern
Der Code mag falsch sein, aber er funktioniert.Es wird interessant sein, Sie zu der folgenden Frage zu hören:
Es besteht die Auffassung, dass die Notierung eines Währungspaares von vielen anderen Finanzinstrumenten beeinflusst wird:
Bewegung der führenden Aktienindizes, Futures, Optionen usw.
1) Glauben Sie, dass es möglich ist, diesen Einfluss zu verfolgen?
(und somit konstruktiv in einer Handelsstrategie zu nutzen)...
2) Haben Sie dauerhafte Korrelationen zwischen den betreffenden Währungspaaren und den Kursen anderer Finanzinstrumente festgestellt?
3) Haben Sie Indikatoren verwendet, um solche Korrelationen nachzuweisen?
(Ich warte auf Ihre Kommentare in dem gleichnamigen thematischen Zweig dieses Forums: https://forum.mql4.com/ru/28930 )
splxgf писал
void CheckSell()
{
if((NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits)))
Sell();
}
Das Programm prüft dann lediglich die Bedingung, und wenn sie erfüllt ist, wird es sie verkaufen. Und wenn nicht, was wird sie dann tun? Es soll darauf warten, dass die Bedingung in genau diesem Codefragment erfüllt wird.
Vinin schrieb
Warum haben Sie eine Schleife gemacht? Liegt keine Bedingung vor, sollte das Programm einfach beendet werden und nicht auf das Auftreten des Signals warten.
Aus diesem Grund habe ich die Schleife erstellt, denn in diesem Codefragment sollte das Programm auf das Eintreten der Bedingung warten. Sie können nicht an den Anfang der Schleife zurückkehren. Wie lässt sich das Warten auf eine Bedingung korrekt implementieren?
Und das ist mein Entwurf:
void CheckSell()
{
while(!(NormalizeDouble(Price,Digits) < NormalizeDouble(MA10,Digits)))
{
Sleep(5);
RefreshRates();
}
Sell();
}
- Funktioniert es und bleibt der Tester einfach hängen? Oder funktioniert es überhaupt nicht? Ich möchte sehr gerne verstehen, wie man richtig auf die Erfüllung einer Bedingung wartet, ohne die gegebene Funktion zu verlassen.
Vielen Dank für die Antworten!
Но ведь тогда программа просто проверит условие и если оно выполняется, продаст. А если не выполняется, что она будет делать? По задумке, должна ждать выполнения условия именно в этом месте кода.
Вот поэтому и сделал цикл, что именно в этом месте кода программа должна ждать выполнения условия. Выйти в начало нельзя. Как правильно реализовать цикл ожидания условия?
- она рабочая и просто тестер вешает? Или не работает в принципе? Очень хочется понять, как правильно ожидать выполнения условия, не выходя из заданной функции.
Das Programm wird höchstwahrscheinlich funktionieren, und es ist falsch, auf die Bedingung zu warten, ohne die Funktion zu beenden, zumindest wird der Tester kein neues Häkchen setzen, bis die Prozedur ausgeführt wurde.
Wenn die Bedingung nicht erfüllt ist, sollten Sie das Programm beenden und die Kontrolle an den Prüfer übergeben. Früher waren die Programme linear und haben sich daher in einer Schleife bewegt und auf Signale von oben gewartet. Jetzt ist das Programm ereignisgesteuert, wenn ein Ereignis eintritt, z. B. ein neuer Tick, und der Handler dieses Ereignisses ist der Aufruf von start(), nachdem alle notwendigen Arbeiten zur Verarbeitung eines neuen Ticks abgeschlossen sind, muss die Funktion beendet werden, anstatt ein Dispatcher zu sein.
Es ist richtig, die Bedingung in start() zu prüfen, ist die Bedingung eingetreten, erledigen Sie Ihre Arbeit, wenn nicht, beenden Sie Ihre Arbeit und warten Sie auf den nächsten Tick. Wir stellen unsere Logik bereits darauf ein.
Es stellt sich auch eine Frage.
Der Indikator zeigt die MA-Linien von zwei Währungspaaren in einem separaten Fenster an. Es funktioniert gut.
Aber wenn ich eine Bedingung in den Code einfüge:
"Wenn auf einem der Symbole ein Balken fehlt, dann wird auf dem zweiten Symbol dieser Balken übersprungen (nicht berücksichtigt)", etwa so:
Dann bleibt mt4 für anderthalb bis zwei Minuten hängen. Dann beginnt der Indikator zu arbeiten, aber er verbraucht 35-45 % des RAM.
Woran kann das liegen, bitte um Rat?
Guten Tag!
Können Sie mir bitte sagen, wie ich einen einfachen Indikator schreiben kann, der einen bestimmten Balken (sollte in den Optionen eingestellt werden), z. B. um 12.30 Uhr mit einer vertikalen Linie hervorhebt und die Wochentage im Diagramm anzeigt (z. B. irgendwo über dem Heu eines jeden Tages)?
Ich danke Ihnen!