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
Guten Tag.
Ich bin noch neu in der Programmierung, falls mir jemand einen Tipp geben kann.
Frage. Wir haben einen oder mehrere offene Aufträge, von denen wir wissen, dass sie mit einem Gewinn von $20 schließen werden.
Wir müssen wissen, zu welchem Preis die Aufträge mit einem Gewinn von 20 $ schließen werden.
Wir berechnen das Gesamtvolumen der offenen Lose, und dann!
Bitte beraten Sie mich, wie ich das machen kann.
Vielleicht gibt es eine fertige Funktion?
Vielen Dank im Voraus.
Beispiele für die Verwendung von DistMarketAndPos().
Wozu braucht man eine Funktion, die feststellt, wie weit der Markt von der nächstgelegenen Position entfernt ist? Ich sehe mindestens vier grundlegende Optionen:
Wenn Sie eine spezielle Implementierung einer dieser Optionen wünschen, schreiben Sie Ihre Wünsche hier. Ich werde alle Anfragen im Rahmen dessen, was ich oben aufgeführt habe, erfüllen.
SZY-SZY: Im Anhang finden Sie eine Vorlage zum Experimentieren mit der Funktion DistMarketAndPos().
HalloKimIV, die Funktion ist sehr gut, sie funktioniert, wenn ich sie umdrehe, funktioniert sie auch, aber ich kann die beiden Hälften nicht verbinden.
int start()
{
if (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,Ask+150*Point);
}
return(0);
}
int DistMarketAndPos(string sy="", int op=OP_BUY, int mn=-1) {
double d, p;
int i, k=OrdersTotal(), r=1000000;
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0.00001; else p=0.01;
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) {
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeDouble(d, 0);
}
if (OrderType()==OP_SELL) {
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
return (r);
}
Neue Version der Funktion Message().
Zu den Ausgaberichtungen Alert und Print (Felder 1 und 3) ist anzumerken, dass sie die Meldung zeilenweise ausgeben können. Das heißt, wenn es einen Zeilenumbruch im Nachrichtentext gibt - Steuerzeichen "\n", dann wird jede Zeile unabhängig gedruckt. Probieren Sie das Testskript im Anhang aus, ich denke, es wird Ihnen gefallen :-)
Neue Version der Funktion Message().
Zu den Ausgaberichtungen Alert und Print (Felder 1 und 3) ist anzumerken, dass sie die Meldung zeilenweise ausgeben können. Das heißt, wenn es einen Zeilenumbruch im Nachrichtentext gibt - Steuerzeichen "\n", dann wird jede Zeile unabhängig gedruckt. Probieren Sie das Testskript im Anhang aus, ich denke, es wird Ihnen gefallen :-)
Haben Sie Ihre OpenPosition-Funktion um eine Prüfung auf Stopp-Nivellierung erweitert?
Nein... auf welche Art von Überprüfung beziehen Sie sich? Nun, nehmen wir an, die Kontrolle wurde nicht bestanden, was ist dann zu tun? Es gibt verschiedene Möglichkeiten:
nein... auf welche Art von Überprüfung beziehen Sie sich? Nun, nehmen wir an, dass die Anhaltung und die Mitnahme die Prüfung nicht bestanden haben, was tun Sie dann? Es gibt Optionen:
Neue Version der FunktionOpenPosition() im Testskript.
Was gibt es Neues?
1. Wenn der Fehler 130 Ungültige Stops und der Wert der Variable NumberOfTry>1 gesetzt ist, wird die Funktion versuchen, die StopLoss- und TakeProfit-Kursebenen an die Werte von MODE_STOPLEVEL+MODE_SPREAD relativ zu Bid für OP_SELL und Ask für OP_BUY anzupassen.
Anmerkung:
Die globale VariableNumberOfTry mussgrößer als 1 sein, um die Korrektur der Kursniveaus auszulösen, dader erste Versuch, eine Position zu eröffnen, den Fehler 130 aufdeckt und die Kursniveaus korrigiert, während der zweite und die folgenden Versuche, eine Position zu eröffnen, mit korrigierten Niveaus erfolgen.
Guten Tag.
Ist es möglich, die Bibliothek der nützlichen Funktionen von KimIV durch einige einfache Funktionen wie :
1.offener Preis, ausgewählt nach bestimmten Kriterien (Symbol, Typ, Losgröße, magische Zahl). Dieser Preis kann in globalen Variablen gespeichert und als ein bestimmtes Preisniveau verwendet werden, aus dem der Algorithmus des Expert Advisors aufgebaut werden kann.
Gibt ein Ticket zurück, das nach bestimmten Kriterien einer Position oder eines Auftrags (Symbol, Typ, Losgröße, magische Zahl) ausgewählt wurde. Das Ticket ist ein wichtiges Erkennungszeichen, es kann überall und sogar als Existenzkennzeichen verwendet werden.
Je mehr solcher einfachen Funktionen es gibt, desto einfacher ist es, die besten für Sie auszuwählen, ohne Angst haben zu müssen, bei der Änderung bestehender Funktionen Fehler zu machen.
Ich danke Ihnen für Ihre Arbeit.