[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 320
Fügen Sie eine Beschreibung der Zeichensetzung und eine Definition Ihrer Begriffe (z. B. "Ihre Nummer") hinzu und hier. Und dieser Zweig hilft nur denen, die selbst Hand anlegen (und das auch nur, wenn sie in der Stimmung sind)
haben wir einen Zähler, bei dem die Werte entsprechend der Reihenfolge des Erscheinens der Balken vom Balken mit dem Indexi_AnyBarsToHistory bis zum Balken mit dem Index 1 berechnet werden. Daraus folgt, dass, wenn die Bedingung auf den Balken von Index 30 bis Index 15 erfüllt wird:
directionMA == CROSS_UP
und dann wird zum Beispiel bei cnt=2 die Bedingung erfüllt sein:
directionMA == CROSS_DN
Dann wird cnt auf den vorherigen Wert hochgezählt. Wenn wir 2 hatten, wird die neue Bedingung um 1 erhöht, dann ist cnt=3 und wir verlassen die Funktion mit dem Wert 3. Verstehen Sie, was ich meine? Schauen Sie genauer hin, die Logik ist hier im Prinzip klar.
Entschuldigen Sie die Verspätung bei der Antwort, ich hatte mit meinem Handheld zu tun. Also. Die Frage ist nur, wie man einen solchen einzelnen Zähler verwendet, um festzustellen, auf welche Bewegung er sich bezieht. Sie können eine logische Variable in den Zähler einfügen, ihn dann aber um zwei statt um eins inkrementieren.
int LastCandlesType(int& cnt){//передаём параметры по ссылке, т.е. они у нас отсюда меняются на глобальном уровнеfor (int i=IndicatorCounted(); i>=1; i--){//считаем все неподсчитанные свечи; появится новая свеча - функция прогонится один разif ((2*cross-1)*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt){cnt=cnt+2;//инкрементируем на 2, т.к. у нас в cnt вшит cross
}else{
cross = !cross;//иначе, если не соответствует, оборачиваем флаг направления
cnt = cross;//и обнуляем счётчик её значением
}//потом cnt/2 будет количеством подсчитанных свечей,
}//а cnt%2 - их направлением.
}
Guten Tag. Könnten Sie mir bitte sagen, wie ich die folgende Situation lösen kann: Ich habe einOBJ_FIBOARC-Objekt im Fenster gezeichnet. Ich habe die erforderlichen Werte eingestellt. Ich möchte verstehen, dass der Preis das eine oder andere Niveau überschritten hat. Ich habe ein ähnliches Problem mit Fibonacci-Levels gelöst, aber es ist einfacher, weil wir mit horizontalen Levels arbeiten und die Kreuzung leicht berechnet werden kann. Hier haben wir eine Ellipse. Die Kreisgleichung (Ellipse) kann hier nicht verwendet werden, da das X-Koordinatensystem die Zeit und das Y-Koordinatensystem der Preis ist, d. h. die Werte sind nicht vergleichbar.
Entschuldigen Sie die verspätete Antwort, ich war mit dem Auto beschäftigt.
Oh, böser Junge! Du quälst Mashka immer noch :)
gyfto:
Entschuldigen Sie die verspätete Antwort, ich war mit dem Auto beschäftigt. Also. Die Frage ist nur, wie man einen solchen einzelnen Zähler verwendet, um festzustellen, auf welche Bewegung er sich bezieht. Sie können eine logische Variable in den Zähler einfügen, ihn dann aber um zwei statt um eins inkrementieren.
int LastCandlesType(int& cnt){//передаём параметры по ссылке, т.е. они у нас отсюда меняются на глобальном уровнеfor (int i=IndicatorCounted(); i>=1; i--){//считаем все неподсчитанные свечи; появится новая свеча - функция прогонится один разif ((2*cross-1)*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt){cnt=cnt+2;//инкрементируем на 2, т.к. у нас в cnt вшит cross
}else{
cross = !cross;//иначе, если не соответствует, оборачиваем флаг направления
cnt = cross;//и обнуляем счётчик её значением
}//потом cnt/2 будет количеством подсчитанных свечей,
}//а cnt%2 - их направлением.
}
Es geht ungefähr so.
Nun, Sie haben es für den Indikator geschrieben, nicht für den Expert Advisor. Ich bin ein Expert Advisor.
Und warum die Erhöhung um 2?
gyfto:
Also. Die Frage ist, wie man feststellt, auf welche Bewegung sie sich bezieht.
Ich möchte, dass die Berechnung der aufeinanderfolgenden Balken eines Merkmals (z.B. entweder bearish oder bullish) auf einem Merkmal basiert, das über einen Funktionsparameter übergeben wird.
Übrigens,https://www.mql5.com/ru/forum/144705, habe ich einen eigenen Zweig erstellt. Es ist alles da, was gebraucht wird. Es ist sehr interessant, herauszufinden, was falsch ist.
Hier ist also die Frage ... Ich verstehe nicht, wenn ich die Kurse heruntergeladen, das Terminal läuft ein Skript, um timeframes..... auf einen Monat, der Tag setzt es 30 oder 31, wie kann ich wissen, neu zu berechnen?
Woher weiß ich, ob es einen offenen oder einen schwebenden Auftrag zum gegebenen Preis gibt?
Gehen Sie die Aufträge durch und vergleichen Sie sie mit dem angegebenen Preis. Wenn ja, überprüfen Sie die Öffnungszeit
if(OrderOpenTime()!=0) Ist sie ungleich Null, ist sie offen, ist sie gleich, ist sie in der Schwebe.
{
double kr =0.00060 // Vielfaches einstellen, Schritt
double msell =Ask - MathMod( Ask, kr); // Verkaufspreis
{
Alert(" nur ", msell," getippt);
return;// exit start()
}
//----
//----
return(0)
}
Können Sie mir sagen, was hier falsch ist?
Kompilierung ergibt 'msell' - Variable nicht definiert C:\Programmdateien\MetaTrader 4 \experts\temp.mq4 (16, 11)
haben wir einen Zähler, bei dem die Werte entsprechend der Reihenfolge des Erscheinens der Balken vom Balken mit dem Indexi_AnyBarsToHistory bis zum Balken mit dem Index 1 berechnet werden. Daraus folgt, dass, wenn die Bedingung auf den Balken von Index 30 bis Index 15 erfüllt wird:
directionMA == CROSS_UPund dann wird zum Beispiel bei cnt=2 die Bedingung erfüllt sein:
Dann wird cnt auf den vorherigen Wert hochgezählt. Wenn wir 2 hatten, wird die neue Bedingung um 1 erhöht, dann ist cnt=3 und wir verlassen die Funktion mit dem Wert 3. Verstehen Sie, was ich meine? Schauen Sie genauer hin, die Logik ist hier im Prinzip klar.
Entschuldigen Sie die Verspätung bei der Antwort, ich hatte mit meinem Handheld zu tun. Also. Die Frage ist nur, wie man einen solchen einzelnen Zähler verwendet, um festzustellen, auf welche Bewegung er sich bezieht. Sie können eine logische Variable in den Zähler einfügen, ihn dann aber um zwei statt um eins inkrementieren.
Es geht ungefähr so.
Ich habe es selbst gefunden.)
Wie man so schön sagt, sind unsere Leute immer voller Ratschläge. Ich hatte keine Zeit).
Entschuldigen Sie die verspätete Antwort, ich war mit dem Auto beschäftigt.
Entschuldigen Sie die verspätete Antwort, ich war mit dem Auto beschäftigt. Also. Die Frage ist nur, wie man einen solchen einzelnen Zähler verwendet, um festzustellen, auf welche Bewegung er sich bezieht. Sie können eine logische Variable in den Zähler einfügen, ihn dann aber um zwei statt um eins inkrementieren.
Es geht ungefähr so.
Nun, Sie haben es für den Indikator geschrieben, nicht für den Expert Advisor. Ich bin ein Expert Advisor.
Und warum die Erhöhung um 2?
Also. Die Frage ist, wie man feststellt, auf welche Bewegung sie sich bezieht.
Ich möchte, dass die Berechnung der aufeinanderfolgenden Balken eines Merkmals (z.B. entweder bearish oder bullish) auf einem Merkmal basiert, das über einen Funktionsparameter übergeben wird.
Übrigens,https://www.mql5.com/ru/forum/144705, habe ich einen eigenen Zweig erstellt. Es ist alles da, was gebraucht wird. Es ist sehr interessant, herauszufinden, was falsch ist.