[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 360
![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
Guten Abend zusammen!
Ich muss den folgenden Algorithmus kodieren.
Setzen Sie einen SELLSTOP-Auftrag bei der Eröffnung einer Nullkerze
NUR, wenn auf dieser Kerze nicht bereits ein SELLSTOP platziert wurde.
Das heißt, auf eine Nullkerze einen SELLSTOP zu setzen ... und nicht mehr.
Ich habe diese Idee einer SELL-Order erfolgreich in diesem Code umgesetzt
===========================================================
int last_order_bar = 0;
int ot = OrdersTotal();
if (ot>0) //wenn es Aufträge auf dem Markt gibt (sowohl Markt als auch TARGET)
if (OrderSelect (ot-1,SELECT_BY_POS)) //wählt die letzte Bestellung aus
if ( OrderType ()==OP_SELL) //wenn es sich um eine offene SELL-Marktorder handelt
last_order_bar = iBarShift (Symbol (),0,OrderOpenTime ())//Die Sequenz N der Kerze, in der diese Marktorder SELL eröffnet wurde, merken
(ot==0 || last_order_bar>0) //wenn keine Order eröffnet wurde oder wenn die letzte Order nicht auf dem aktuellen Bar liegt
if( Bid ==iOpen (Symbol (),0,0))//if price = open price der Bar
//Offener Auftrag
Ich kann diesen Algorithmus nicht auf schwebende Aufträge anwenden, da OrderOpenTime () als iBarShift ( ) Parameter, wenn ich mich nicht irre, nur die Öffnungszeit eines Marktauftrags zurückgibt,
kein schwebendes Verfahren.
Könnten Sie bitte den Zeitpunkt der Platzierung einer Pending Order als Parameter an iBarShift ( ) übergeben?
Oder wie kann ich das, was ich will, anders umsetzen?
Ich danke Ihnen.
Könnten Sie bitte den Zeitpunkt der Eröffnung der Pending Order als Parameter an iBarShift ( ) übergeben?
Speichern Sie nach dem Öffnen eines schwebenden Auftrags den Zeitpunkt des Öffnens in einer globalen Variablen,
ein Ticket in den Variablennamen einfügen, um eine Variable von einer anderen zu unterscheiden
+ Kontrolle geschlossener/gelöschter schwebender Aufträge, um Variablen aus dem Speicher zu löschen.nach dem Öffnen eines schwebenden Auftrags dessen Öffnungszeit in einer globalen Variablen speichern,
ein Ticket in den Variablennamen einfügen, um eine Variable für einen schwebenden Auftrag von einer anderen zu unterscheiden
+ Überwachung geschlossener/gelöschter ausstehender Aufträge, um Variablen aus dem Speicher zu löschen.Und welche Funktion liefert die Eröffnungszeit des letzten schwebenden Auftrags?
Bei einer Marktorder ist es zum Beispiel klar, dass OrderOpenTime () den Zeitpunkt der letzten Öffnung einer Marktorder zurückgibt.
Oder kann der Zeitpunkt der Eröffnung eines schwebenden Auftrags gespeichert werden, ohne die Funktion zu verwenden?
Wenn dem so ist, wäre ich Ihnen sehr dankbar, wenn Sie mir im Code zeigen könnten, wie es gemacht wird?
Vielen Dank für Ihre prompte Antwort.
Welche Funktion liefert die Eröffnungszeit des letzten schwebenden Auftrags?
in Ihrem Fall - müssen Sie Time[0] speichern
Hallo zusammen!
Ich schreibe eine Art von Anzeige, die Signale von RSIOMA verwenden würde, aber ich kann nicht die notwendigen Werte von marsiomaXupSig und marsiomaXdnSig Puffern erhalten. Der RSIOMA-Code enthält die folgenden Zeilen SetIndexBuffer(6,marsiomaXupSig); SetIndexBuffer(7,marsiomaXdnSig);"...." if(RSIBuffer[i+1]<=marsioma[i+1]&&RSIBuffer[i]>marsioma[i]) marsiomaXupSig[i] = -11; if(RSIBuffer[i+1]>=marsioma[i+1]&&RSIBuffer[i]<marsioma[i]) marsiomaXdnSig[i] = 11; Ich versuche, Daten in meinem Indikator wie folgt zu erhalten
double marsiomaXupSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE,BuyTrigger,SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,6,0);
double marsiomaXdnSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE,BuyTrigger,SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,7,0);
Logischerweise hätte ich die Werte 11 und -11 bekommen müssen, aber wenn ich die Werte protokolliere, bekomme ich nur 2013.05.28 09:05:52 2013.01.04 11:29 my EA XAUUSD,H1: marsiomaXdnSig - 2147483647 2013.05.28 09:05:52 2013.01.04 11:29 my EA XAUUSD,H1: marsiomaXupSig - 2147483647 Was mache ich falsch?
Guten Tag! Aus irgendeinem Grund habe ich angefangen, mir eine Funktion auszudenken, und hier, ein Haufen Fehler... Es scheint korrekt zu sein, ich habe es mir 15-20 Minuten lang angeschaut.
RasstawimOrdera(int Raz,double Dist_pervaya,double Dist_dalshaya,double TP, double SL,double Lot) ................
'RasstawimOrdera' - Ausdruck im globalen Bereich nicht zulässig C:\Dokumente und Einstellungen\Benutzer\Meine Dokumente\FxClub\TeleTRADE\experts\Square.mq4 (73, 1)
'Raz' - Variable bereits definiert C:\Dokumente und Einstellungen\Benutzer\Meine Dokumente\FxClub\TeleTRADE\experts\Square.mq4 (73, 21)
'double' - Variable erwartet C:\Dokumente und Einstellungen\Benutzer\FxClub\FieldClub\eleTrade\experts\Speaker.mq4 (73, 25)
'Dist_pervaya' - Ausdruck im globalen Bereich nicht zulässig C:\Dokumente und Einstellungen\Benutzer\Meine Dokumente\FxClub\TeleTRADE\experts\Spline.mq4 (73, 32)
'Dist_pervaya' - Variable nicht definiert C:\Dokumente und Einstellungen\Benutzer\Meine Dokumente\FxClub\TeleTRADE\Experten\Square.mq4 (73, 32)
Und so weiter,
Sie ist fehlerhaft. Forum. Wenn ich die Leertaste drücke, zittert der Cursor, läuft einen Schritt vor und zurück und springt spontan in die linke obere Ecke. Ich drücke das linke Touchpad an die Stelle, an der ich weiterschreiben möchte - nein, der Cursor blinkt immer wieder am Anfang des Textes und malt ihn blau und zurück. Es dauerte weitere 10 Minuten, um mich zu schelten.
Ich habe es in den Notizblock geschrieben und kopiert.
Also, ich verstehe, dass da vielleicht ein Punkt fehlt, zum Beispiel bei mir, oder so ein Quatsch, aber ich verstehe es nicht. Bitte geben Sie mir einen Hinweis!
Nein... Natürlich habe ich die Funktion jetzt als int deklariert... Aber jetzt...
'errorcomment' - Ausdruck im globalen Bereich nicht zulässig C:\Dokumente und Einstellungen\Benutzer\Meine Dokumente\FxClub\TeleTRADE\experts\Contructor.mq4 (80, 11)
Was ist es, wo muss ich suchen?