[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 423

 
Können Sie mir bitte sagen, warum ich das Terminal nicht vom 432. Build zum vorgeschlagenen 438. Build neu installieren kann? Beim Herunterladen der Datei MetaEditor.exe tritt ein Fehler auf und die Installation wird abgebrochen. Was ist das Problem und was soll ich tun?
 
sergeev:

nun, dann die Funktion OrderLots.


Ich kann diese Funktion nicht verstehen, bitte helfen Sie mir mit einem Beispiel :)

Es heißt: "Die Order muss mit der Funktion OrderSelect() vorausgewählt werden". Wie wähle ich alle offenen Orders der gleichen Richtung aus?

 
Elektronik:


Ich verstehe diese Funktion nicht, bitte helfen Sie mir mit einem Beispiel:)

Es heißt: "Die Order muss mit OrderSelect() vorausgewählt werden", wie wähle ich alle offenen Orders der gleichen Richtung aus?

Das ist nicht möglich. Nur in einer Schleife, die nacheinander mit OrderSelect() durchlaufen wird.

 

Können Sie mir sagen, ob es ein Stop-Loss-Skript gibt, das in diesen EA eingefügt werden muss?

double x = ... // Задаем на сколько пипсов выше
double sl = NormalizeDouble(High[1] + x * Point, Digits); // Задаем значение стоплосс на x пипсов выше предпоследней свечи
Dateien:
 

Wie kann ich die Anzahl der Dezimalstellen reduzieren, ohne zu runden?

(DoubleToStr(NormalizeDouble(0.109,2),2)); = 0.11 und 0.10

 
Elektronik:

Wie kann ich die Anzahl der Dezimalstellen reduzieren, ohne zu runden?

(DoubleToStr(NormalizeDouble(0.109,2),2)); = 0.11 und 0.10

Es gibt eine Vielzahl von Möglichkeiten, z. B. die Verwendung von String-Funktionen, um die Position eines Punktes zu ermitteln und eine Zeichenkette ein Zeichen darüber hinaus abzuschneiden. Aber wenn es eine fertige, integrierte Lösung gibt, warum sollten wir dann Probleme aus dem Nichts erfinden? Ändern Sie einfach die zwei in eins und das war's.
 
Reshetov:
Es gibt eine Vielzahl von Möglichkeiten, wie z. B. die Verwendung von String-Funktionen, um die Position eines Punktes zu ermitteln und die Zeichenkette ein Zeichen darüber hinaus abzuschneiden. Aber warum sollte man sich Probleme ausdenken, wenn es eine fertige Lösung von der Stange gibt?


Bitte schlagen Sie eine fertige Lösung vor:)

 
Elektronik:


Bitte sagen Sie mir, ob dies eine fertige Lösung ist:)

(DoubleToStr(NormalizeDouble(0.109,1))
 

Wenn nicht abgerundet, dann nur diese eine:

Reshetov с помощью строковых функций найти местоположение точки и обрезать строку на один символ далее нее

 

Bitte helfen Sie mir zu verstehen, was los ist:

//+------------------------------------------------------------------+

//| AAAA.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#eigenschaft copyright ""

#property link ""


extern string TimeStart = "00:00"; //Uhrzeit des Beginns des Kontrollzeitraums

extern string TimeEnd = "00:00"; //Zeitpunkt des Kontrollperiodenendes.


extern double LOT = 0.01; // Los

extern int Magic = 777; // Magie



double marga,Lot,SL,TP; // eingegebene Marge, Lot, Stop Loss und Take Profit Variablen

int Total,Orders,tipOrders,TradeDey; // Variablen Typ,Ordertyp,Handelstag.


//+---------------------------------------------------------------------------------------------------------------------------------------+

//| Funktion des Expert Advisors |

//+---------------------------------------------------------------------------------------------------------------------------------------+

int start() // Funktion der Initialisierung start

{

datetime Time_Start = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeStart, ":00")); // Startparameter //

datetime Time_End = StrToTime(StringConcatenate(Day(),".",Month(),".",Year()," ",TimeEnd, ":00")); // Endparameter//



Total=0; // Wenn es keine Aufträge gibt

for(int i=1; i<=OrdersTotal(); i++) // Auftragsschleife

{

if (OrderSelect(i-1,SELECT_BY_POS)==false) // Wenn es keine Marktaufträge gibt

{

if //If:

{

int BarStart = iBarShift(NULL,PERIOD_M1,Time_Start,false); // Suche nach dem Takt am Anfang der Prüfperiode auf m1

int BarEnd = iBarShift(NULL,PERIOD_M1,Time_End,false); //Balkenende der Prüfperiode bei m1 suchen

double Max_Price=iHigh(NULL,0,iHighest(NULL,PERIOD_M1,MODE_HIGH,BarStart-BarEnd,BarEnd)); //der höchste Preiswert innerhalb der Periode

double Min_Price=iLow (NULL,0,iLowest (NULL,PERIOD_M1,MODE_LOW,BarStart-BarEnd,BarEnd)); //der niedrigste Preiswert innerhalb der Periode

}

if (TimeCurrent()>Time_End && ObjectFind("bar0"+Time_End)==-1) // Grafische Anzeigeeinstellungen

{

ObjectCreate("bar0"+Time_End, OBJ_RECTANGLE, 0, 0,0, 0,0);

ObjectSet("bar0"+Time_End, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet ("bar0"+Time_End, OBJPROP_COLOR, Blue);

ObjectSet ("bar0"+Time_End, OBJPROP_BACK, true);

ObjectSet ("bar0"+Time_End, OBJPROP_TIME1,Time_Start);

ObjectSet ("bar0"+Time_End, OBJPROP_PRICE1,Max_Price);

ObjectSet ("bar0"+Time_End, OBJPROP_TIME2,Time_End);

ObjectSet ("bar0"+Time_End, OBJPROP_PRICE2,Min_Price);

}

if (Bid<Max_Price) OrderSend(Symbol(),OP_BUYSTOP,LOT,Ask,3,Min_Price, //Bedingungen für die Platzierung einer schwebenden BUY-Order

NormalizeDouble(Ask + Max_Price - Min_Price,Digits), "UPDD",Magic,Blue);

wenn (Gebot>Max_Preis)

Comment("Pending order cannot be placed on Bid");

if (Bid>Min_Price) OrderSend(Symbol(),OP_SELLSTOP,LOT,Bid,3,Min_Price, //Bedingungen für die Platzierung von SELL pending order

NormalizeDouble(Ask + Max_Price-Min_Price,Digits), "UPDD",Magic,Blue);

wenn (Gebot<Max_Preis)

Comment("Pending order cannot be placed on SELL");

}

Rückkehr;

}

Kann nicht kompilieren. sonst sollte es zwei schwebende Aufträge nach oben und unten aus dem Bereich platzieren.

Grund der Beschwerde: