[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 81

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
extern bool BUY = true;
extern int Magic = 0;
extern double Lot = 0.1;
extern int takeprofit = 0;
extern int stoploss = 0;
extern int slippage = 3;
double SL,TP;
int init(){
return(0);
}
int start()
{
if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
BUY=false;
}
return(0);
}
void OPENORDER(string ord)
{
int error;
while (true)
{ error=true;
if (ord=="Buy") error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),Slippage,SL,TP,",Magic,0){BUY = false;}
}
return;
}
Bitte geben Sie mir ein Beispiel. Ich lerne gerade erst und bin noch nicht mit der Aufgabe konfrontiert, eine Flagge aufzustellen. )
Bitte beraten Sie mich, wie man die einmalige Ausführung einer Bedingung in einem EA (z.B. das Öffnen einer Order) zulässt, anstatt sie bei jedem Tick zu wiederholen. In diesem Fall sollte der EA beim Schließen einer Position keine neue Position eröffnen. Ich habe es versucht, aber es funktioniert nicht wie vorgesehen.
Vielen Dank im Voraus.Warum haben Sie die Variable, in der der Bestellschein gespeichert wird, als Fehler bezeichnet?
if (ord=="Buy") error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),Slippage,SL,TP,"",Magic,0){BUY = false;}
Lesen Sie über OrderSend(), ich denke, die Fragen werden verschwinden, ich würde es so schreiben:
Vielleicht haben Sie vorhin gelesen, dass ich mein Problem geäußert habe. Sie scheinen eine Lösung gefunden zu haben, aber ich kann im Buch nicht finden, wie man mit String in mql arbeitet(
Wie entferne ich die Zahlen aus der Zeile für Zeile?
Vielleicht haben Sie vorhin gelesen, dass ich mein Problem geäußert habe. Sie scheinen eine Lösung gefunden zu haben, aber ich kann im Buch nicht finden, wie man mit String in mql arbeitet(
Wie entferne ich die Zahlen aus der Zeile für Zeile?
Erstellen Sie ein Skript, um mit MQL4-Stringfunktionen zu experimentieren - siehe hier https://docs.mql4.com/ru/strings
ZERO
nach welchen Regeln, zum Beispiel?
Erstellen Sie ein Skript, das mit MQL4-Stringfunktionen experimentiert - siehe hier https://docs.mql4.com/ru/strings/StringSubstr
Ich danke Ihnen!
Vielleicht haben Sie gelesen, dass ich mein Problem etwas früher geäußert habe. Es scheint eine Lösung zu sein, aber ich kann in dem Buch keine Möglichkeit finden, mit Strings in mql zu arbeiten (
Wie entnehme ich eine Zahl aus einer Reihe von Zahlen?
um eine Zahl in eine Zeichenkette umzuwandeln https://docs.mql4.com/ru/convert/DoubleToStr
einen Teil der Zeichenkette https://docs.mql4.com/ru/strings/StringSubstr vom Anfang an abschneiden https://docs.mql4.com/ru/strings/StringLen
und konvertieren ihn zurück in den realen Typ https://docs.mql4.com/ru/convert/StrToDouble
das ist alles, was Sie mit Strings tun müssen, vielleicht reicht StrToDouble() für Sie aus.
Eine andere Möglichkeit: Multiplizieren Sie eine reelle Zahl als Potenz von x mit 10, und geben Sie das Ergebnis dem Typ int - wenn ich mich nicht irre, wird nicht gerundet, dann teilen Sie int durch 10 als Potenz von x.
Übersetzen einer Zahl in die Zeichenkette https://docs.mql4.com/ru/convert/DoubleToStr
einen Teil der Zeichenkette https://docs.mql4.com/ru/strings/StringSubstr vom Anfang von https://docs.mql4.com/ru/strings/StringLen abschneiden
und konvertieren alles zurück in einen echten Typ https://docs.mql4.com/ru/convert/StrToDouble
das ist alles, was Sie mit Strings tun müssen, vielleicht ist StrToDouble() genug für Sie.
Eine andere Möglichkeit: Multiplizieren Sie eine reelle Zahl mit 10 hoch x und geben Sie das Ergebnis dem Typ int - wenn ich mich nicht irre, wird nicht gerundet - und dividieren Sie int durch 10 hoch x
zumindest *abgeschnitten*, da die Zahl nur aus dem Indikator in eine Zeichenkette übernommen werden kann... danke für den Rat, ich werde experimentieren)
IgorM:
NameLess :