[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 329
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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 int variable = 0;
extern int shift = 0.0000;
extern int shift2 = 0.0000;
int init()
{
//----
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),15,variable,0,MODE_SMA,PRICE_CLOSE,0),shift,2),Bisque,735,277,0,14);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),15,variable,0,MODE_SMA,PRICE_CLOSE,0),shift2,2),Bisque,680,27 7,0,14)
//----
zurück(0);
}
//+------------------------------------------------------------------+
void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm, tx, fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}
Weitere Tipps, bitte.
kann die vertikale Verschiebung nach oben und shift2 nach unten nicht einrücken.
dieser Parameter sollte für jedes Diagramm anders gesetzt werden.
Ich erhalte einen Kompilierfehler
Tb und Ts wie in TPb und TPs? dann wieder, ging den gleichen Weg, aber die Reihenfolge ist anders
Entladen Sie alle Werte und sehen Sie, was Sie erhalten
Entschuldigen Sie bitte!!!
double pb = Ask+20*Point;
double ps = Bid-20*Point;
double TPb = Ask+50*Point;
double TPs = Bid-50*Point;
ticket=OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask+q*Point,5,0,Ask+50*Point, "Aw",mn,0,CLR_NONE);
ticket=OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid-q*Point,5,0,Bid-50*Point, "Aw",mn,0,CLR_NONE);
if (!ticket) Print(GetLastError());
}
}
ticket=OrderTicket();
for (ii=OrdersTotal(); ii>0; ii--)
{
if (OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)==true)
{
if (Bestellkommentar()=="Aw")
{
wenn (Auftragsart()==OP_BUYSTOP)
{
t=OrderModify(OrderTicket(),pb,0,TPb,0,CLR_NONE);
if (!t) Print("BUY OBUYSTOP = ",GetLastError());
}
wenn (Auftragsart()==OP_SELLSTOP)
{
t=OrderModify(OrderTicket(),ps,0,TPs,0,CLR_NONE);
if (!t) Print("SELL OVERSTOP = ",GetLastError())
}
}
}
}
Dies ist ein Auszug aus dem Protokoll:
13:55:47 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3622 sl: 0.0000 tp: 1.3592 ok
13:55:47 0 EURUSD,M1: LEERVERKAUF = 1
13:55:53 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3623 sl: 0.0000 tp: 1.3593 ok
13:55:53 0 EURUSD,M1: LEERVERKAUF = 1
13:55:54 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3622 sl: 0.0000 tp: 1.3592 ok
13:55:54 0 EURUSD,M1: LEERVERKAUF = 1
13:55:55 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3623 sl: 0.0000 tp: 1.3593 ok
kaufen, nicht ändern
Vielen Dank im Voraus!
Sorry!!!
...for (ii=OrdersTotal(); ii>0; ii--)
...tschüss ändert sich nicht
vielen Dank im Voraus!
Die Nummerierung beginnt bei Null. Verschieben Sie die Schleife auf 1:
for (ii=OrdersTotal()-1; ii>=0; ii--)
Sehen Sie sich die Klammern an, Sie setzen sie in die Funktion DoubleToStr ein, die nicht verschieben kann.
unausgewogene linke Klammer
die Fehlerkoordinaten sind die geschweiften Klammern am Ende.
Aber diese Klammer ist normal.
Was kann das sein?
unausgewogene linke Klammer
die Fehlerkoordinaten sind die geschweiften Klammern am Ende.
Aber diese Klammer ist normal.
Was kann das sein?
Die Nummerierung geht von Null aus. Verschieben Sie die Schleife auf 1:
for (ii=OrdersTotal()-1; ii>=0; ii--)
Vielen Dank!!! Das war das Problem.
--------------------------------------------------------------
Warum wird die Fehlermeldung angezeigt?
15:38:55 0 EURUSD,M1: SOCKE VERKAUFEN = 1
15:38:55 0 EURUSD,M1: LEERVERKAUF = 1
Dies ist nicht Pascal - es gibt keine Prozeduren...:-) Eine Funktion - ein Wert...:-)
Siehe GetMarketInfo f-Datei mit allen Aufträgen, die das Skript schließen - die Verwendung von Arrays ist möglich.
Ich danke Ihnen.
Hallo! Wie kann man die Häufigkeit von abwechselnd "weißen" und "grünen" Balken formalisieren und algorithmisieren?
Hallo! Wie kann man die Häufigkeit von abwechselnd "weißen" und "grünen" Balken formalisieren und algorithmisieren?
Alles ist möglich.
Welche Art von Sägen...