[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 205
alsu: Es heißt nicht "sollte vom Typ double sein", sondern "wird in einer globalen Variablen als double gespeichert". Gefühl
Guten Tag. Ich habe versucht, den Unterschied zu "erfühlen", und das ist dabei herausgekommen... D.h. man kann (mit etwas Dehnung) eine GV-Variable WIRKLICH wie folgt definieren. Eine GV-Variable ist sozusagen eine "Box", in der man eine Variable beliebigen Typs speichern kann (außer String, denn eine GV-Variable ist nur vom Typ Double, während die Typecasting-Regel keine Typreduktion erlaubt, d.h. man kann aus einem String keinen Double machen). Und diese Variable, die wir in eine GV-Variable einfügen werden, "wird die Form dieser Box annehmen" (d.h. sie wird vom Quelltyp in den Doppeltyp umgewandelt)... Jedenfalls ist es so, nicht wahr?
Guten Tag. Die Frage lautet wie folgt. ImMQL4-Buch vonS.K . gibtes imAbschnitt "Trading Operations" ein Beispiel für ein einfaches Skript, das einen schwebenden Auftrag, dessen angegebener Preis höher ist als der anderer schwebender Aufträge(modifyorderprice.mq4), wiefolgt ändert:
//--------------------------------------------------------------------// modifyorderprice.mq4 // Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------- 1 --int start() // Спец.функция start
{
int Tral=10; // Дист. приближенияstring Symb=Symbol(); // Финанс. инструментdouble Dist=1000000.0; // Предустановкаdouble Win_Price=WindowPriceOnDropped(); // Здесь брошен скрипт//--------------------------------------------------------------- 2 --for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров://------------------------------------------------------ 3 --if (OrderSymbol()!= Symb) continue; // Не наш фин.инструм.if (OrderType()<2) continue; // Рыночный ордер //------------------------------------------------------ 4 --if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits)
< NormalizeDouble(Dist,Digits)) // Выбираем ближайший
{
Dist=MathAbs(OrderOpenPrice()-Win_Price);// Новое значениеint Tip =OrderType(); // Тип выбранного орд.int Ticket=OrderTicket(); // Номер выбранн. орд.double Price =OrderOpenPrice(); // Цена выбранн. орд.double SL =OrderStopLoss(); // SL выбранного орд.double TP =OrderTakeProfit(); // TP выбранного орд.
} // Конец if
} // Конец анализа ордера
} // Конец перебора орд.//--------------------------------------------------------------- 5 --if (Tip==0) // Если отложенных нет
{
Alert("По ",Symb," отложенных ордеров нет");
return; // Выход из программы
}
//--------------------------------------------------------------- 6 --while(true) // Цикл закрытия орд.
{
Oder es gibt einen Fehler in diesem Skript in Block 5-6, weil (wie ich es sehe) die Zeile
if (Tip==0) // Если отложенных нет
sollte in der Form
if (Tip<2) // Если отложенных нет
da alle Arten von nicht anhängigen (Markt-)Aufträgen den Typ 0 oder 1 haben, d.h. weniger als 2.
Oder habe ich etwas missverstanden?
Frage: Könnten Sie bitte klarstellen: Wenn ich etwas missverstanden habe, was ist es dann?
Guten Tag. Ich habe die folgende Frage. ImMQL4-Buchvon S.K. gibt es imAbschnitt "Trading Operations" ein Beispiel für ein einfaches Skript, das einen schwebenden Auftrag ändert, dessen erklärter Preis näher an dem Punkt liegt, an dem das Skript angehängt ist, als die Preise anderer schwebender Aufträge(
Lieber... Schreiben Sie hier nicht so große Buchstaben... Sie könnten sich die Augen brechen :-)
und das... bevor Sie Fragen stellen... haben Sie versucht, den HINTERGRUND in MetaEditor zu lesen? Alles?... für den Anfang... damit du keine dummen Fragen über Typen und so weiter stellst....
===
Art der Operation für die Funktion OrderSend(). Kann einer der folgenden Werte sein:
Frage: Wie können wir das Kriterium speichern, so dass es einen Wert von 1 oder 2 (je nach Durchlauf) behält, bis ein neuer Durchlauf erfolgt, und nicht bei nachfolgenden Ticks zurückgesetzt wird?
Es heißt nicht "sollte vom Typ double sein", sondern "wird in einer globalen Variablen als double gespeichert". Gefühl
Guten Tag. Ich habe versucht, den Unterschied zu "erfühlen", und das ist dabei herausgekommen... D.h. man kann (mit etwas Dehnung) eine GV-Variable WIRKLICH wie folgt definieren. Eine GV-Variable ist sozusagen eine "Box", in der man eine Variable beliebigen Typs speichern kann (außer String, denn eine GV-Variable ist nur vom Typ Double, während die Typecasting-Regel keine Typreduktion erlaubt, d.h. man kann aus einem String keinen Double machen). Und diese Variable, die wir in eine GV-Variable einfügen werden, "wird die Form dieser Box annehmen" (d.h. sie wird vom Quelltyp in den Doppeltyp umgewandelt)... Jedenfalls ist es so, nicht wahr?
Ich danke Ihnen im Voraus für Ihre Antwort.Guten Tag. Die Frage lautet wie folgt. ImMQL4-Buch vonS.K . gibtes imAbschnitt "Trading Operations" ein Beispiel für ein einfaches Skript, das einen schwebenden Auftrag, dessen angegebener Preis höher ist als der anderer schwebender Aufträge (modifyorderprice.mq4), wiefolgt ändert :
Oder es gibt einen Fehler in diesem Skript in Block 5-6, weil (wie ich es sehe) die Zeile sollte in der Form da alle Arten von nicht anhängigen (Markt-)Aufträgen den Typ 0 oder 1 haben, d.h. weniger als 2.Oder habe ich etwas missverstanden?
Frage: Könnten Sie bitte klarstellen: Wenn ich etwas missverstanden habe, was ist es dann?
Ich danke Ihnen im Voraus für Ihre Antwort.
Guten Tag. Ich habe die folgende Frage. ImMQL4-Buchvon S.K. gibt es imAbschnitt "Trading Operations" ein Beispiel für ein einfaches Skript, das einen schwebenden Auftrag ändert, dessen erklärter Preis näher an dem Punkt liegt, an dem das Skript angehängt ist, als die Preise anderer schwebender Aufträge(
Oder es gibt einen Fehler in diesem Skript in Block 5-6, weil (wie ich es sehe) die Zeileso aussehen sollte
, weil alle Arten von nicht ausstehenden (Markt-)Aufträgen den Typ 0 oder 1 haben, d.h. weniger als 2.
Oder ich habe etwas falsch verstanden.
Frage: Könnten Sie mich bitte aufklären: wenn ich etwas falsch verstanden habe, was
genau?Vielen Dank im Voraus für die Antwort
Lieber... Schreiben Sie hier nicht so große Buchstaben... Sie könnten sich die Augen brechen :-)
und das... bevor Sie Fragen stellen... haben Sie versucht, den HINTERGRUND in MetaEditor zu lesen? Alles?... für den Anfang... damit du keine dummen Fragen über Typen und so weiter stellst....
===
Art der Operation für die Funktion OrderSend(). Kann einer der folgenden Werte sein:
aber was den Typ angeht - da ist nichts falsch... genau ==0 sein sollte...
denn im 3. Block
Marktaufträge werden übersprungen...
===
und wenn die schwebenden Aufträge in der Auftragsliste gefunden werden, ist die Variable TYPE nicht gleich 0
---
Guten Tag. Können Sie mir einen Tipp geben?
Wir haben zum Beispiel ein Kriterium für den MA-Durchgang durch Level_R und Level_S:
int Criterion; double MA_1=iMA(......,0); double MA_2=iMA(......,1); double MA_3=iMA(......,2);Frage: Wie können wir das Kriterium speichern, so dass es einen Wert von 1 oder 2 (je nach Durchlauf) behält, bis ein neuer Durchlauf erfolgt, und nicht bei nachfolgenden Ticks zurückgesetzt wird?
Setzen Sie die Variablendefinition außerhalb der Start- oder anderen Funktion... In globale Variablen...
warum gibt es zwischengeschaltete Stellen? und was ist die Funktion der FUN?
Und && sind nicht an der richtigen Stelle...