[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

 
sdm:
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)
 
Woher weiß ich, ob zu einem bestimmten Preis ein offener oder gesetzter Auftrag vorliegt?
 
sdm:
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.

 
int start()
{

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)

 
Ich habe es selbst gefunden.)
 
hoz:

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 - их направлением.
}

Es geht ungefähr so.

 
sdm:
double kr =0.00060;//внимательнее надо быть
sdm:
Ich habe es selbst gefunden.)

Wie man so schön sagt, sind unsere Leute immer voller Ratschläge. Ich hatte keine Zeit).

 
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.
 
gyfto:

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?