Archiv verlassen und diese Seite im Standarddesign anzeigen : Sehen Sie sich dieses Beispiel an und korrigieren Sie es
oxbrico2015
20-03-2025 07:23,
Jungs, bitte leite mich. Ich glaube ich bin im falschen Forum. Bitte sag mir, welches Forum ich einreichen soll !!!!!
oxbrico2015
20-03-2025 07:59,
Einige helfende bitte ich brauche einige Funktionen für: 1- Funktion, um den letzten offenen Kaufpreis zu erhalten und zu halten. 2- Funktion, um den letzten offenen Verkaufspreis zu erhalten und zu halten. 3- Funktion, um die letzte enge Reihenfolge zu erhalten und zu behalten Was auch immer gekauft oder verkauft wurde Ich habe versucht, Threads zu finden, die genau dem entsprechen, wonach ich suche und �“nderungen vornehme, aber immer noch nicht funktioniert. int lastTicket = -1;/Keine geöffnet. int magi.number = 0; for (int pos = OrdersTotal () -1; pos gt; = 0; pos--) if (OrderSelect (pos, SELECT_BY_POS)/Nur meine Bestellungen mit OrderMagicNumber () == magic.number/meine magische Nummer OrderSymbol () == Symbol ()/und mein Paar. OrderType () == OP_BUY) {lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket);} int LastOpenTicketForSell () {datetime lastTime = 0; int lastTicket = -1;/Keine geöffnet. int magi.number = 0; for (int pos = OrdersTotal () -1; pos gt; = 0; pos--) if (OrderSelect (pos, SELECT_BY_POS)/Nur meine Bestellungen mit OrderMagicNumber () == magic.number/meine magische Nummer OrderSymbol () == Symbol ()/und mein Paar. OrderType () == OP_SELL) {lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket);} int lastcloseorder () {datetime lastTime = 0; int lastTicket = -1;/Keine geöffnet. int magi.number = 0; for (int pos = OrdersTotal () - 1; pos gt; = 0; pos--) if (OrderSelect (pos, SELECT_BY_POS)/Nur meine Bestellungen mit OrderMagicNumber () == magic.number/meine magische Nummer OrderSymbol () == Symbol ()/und mein Paar. OrderCloseTime () gt; lastTime OrderType () == OP_BUY || OP_SELL) {lastTime = OrderCloseTime (); lastTicket = OrderTicket (); } return (lastTicket);} dann füge ich if ((LastOpenTicketForBuy () LastOpenTicketForSell ())2) hinzu; MarketInfo (EURUSD, MODE_BID) Die Position schließen
oxbrico2015
20-03-2025 09:02,
Kein Helfen !!!
oxbrico2015
20-03-2025 09:41,
Ich brauche nur ein wenig Hilfe, dann wird alles in Ordnung sein. (Ich muss die letzte Bestellung zum Kauf, die letzte Bestellung zum Verkauf und die vorherige Bestellung zum Kauf oder Verkauf wissen) Vielen Dank für Sie. int LastOpenTicketForBuy () {datetime lastTime = 0; int lastTicket = -1;/Keine geöffnet. int magi.number = 0; for (int pos = OrdersTotal () -1; pos gt; = 0; pos--) if (OrderSelect (pos, SELECT_BY_POS)/Nur meine Bestellungen mit OrderMagicNumber () == magic.number/meine magische Nummer OrderSymbol () == Symbol ()/und mein Paar. OrderOpenTime () gt; lastTime OrderType () == OP_BUY) {lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket); } int LastOpenTicketForSell () {datetime lastTime = 0; int lastTicket = -1;/Keine geöffnet. int magi.number = 0; for (int pos = OrdersTotal () -1; pos gt; = 0; pos--) if (OrderSelect (pos, SELECT_BY_POS)/Nur meine Bestellungen mit OrderMagicNumber () == magic.number/meine magische Nummer OrderSymbol () == Symbol ()/und mein Paar. OrderOpenTime () gt; lastTime OrderType () == OP_SELL) {lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket); } int previousorderforbuy () {datetime lastTime = 0; int lastTicket = -1;/Keine geöffnet. int magi.number = 0; for (int pos--; pos gt; = 0; pos--) if (OrderSelect (pos, SELECT_BY_POS)/Nur meine Bestellungen mit OrderMagicNumber () == magic.number/meine magische Nummer OrderSymbol () == Symbol ()/und mein Paar. OrderOpenTime () gt; lastTime OrderType () == OP_BUY) {lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket); } int previousorderforsell () {datetime lastTime = 0; int lastTicket = -1;/Keine geöffnet. int magi.number = 0; for (int pos--; pos gt; = 0; pos--) if (OrderSelect (pos, SELECT_BY_POS)/Nur meine Bestellungen mit OrderMagicNumber () == magic.number/meine magische Nummer OrderSymbol () == Symbol ()/und mein Paar. OrderOpenTime () gt; lastTime OrderType () == OP_SELL) {lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket); }
oxbrico2015
20-03-2025 10:22,
Keine Antwort, ich muss nur die Bestellung vor der letzten Bestellung erhalten, auch für den Kauf oder Verkauf, auch wenn diese Bestellung offen oder geschlossen ist.
oxbrico2015
20-03-2025 11:03,
Ich möchte nur wissen, wie ich das bekommen kann: Vor der letzten Bestellung (Öffnen oder Schließen) wird der Preis () für (Kaufen oder Verkaufen) hinzugefügt, um sie für einige Berechnungen hinzuzufügen. Danke vielmals.
oxbrico2015
20-03-2025 11:36,
Danke Leute. Ich habe auch andere Fragen: Wie kann ich diese Bedingungen erfüllen: Wenn (letzter OrderClosePrice () für sell gt; vor dem letzten OrderClosePrice für sell) (vor dem letzten OrderClosePrice für sell gt; = bid) die Position geschlossen wird, wird dies in etwa der Fall sein ok sein ((OrderType == OP_SELL) OrderSelect (pos 1, SELECT_BY_POS, MODE_TRADES)) {if (posgt; pos 1 pos 1 gt; MarketInfo (EURUSD, MODE_BID);/Position schließen
oxbrico2015
20-03-2025 12:26,
Hier sind einige Fehler für den folgenden Code. '(' - Funktionsdefinition unerwartet D
https://www.tradingintuitive.com/attachments/1529228536.pngProgrammdateien FXDD Malta - MetaTrader 4 Experten test2.mq4 (343, 18) Diesen Fehler für den String PriceToStr (Doppel-P) für diesen Fehler weiß ich nicht, wie ich es beheben kann 'iBarCurrent' - Variable nicht definiert D
https://www.tradingintuitive.com/attachments/1529228537.pngProgrammdateien FXDD Malta - MetaTrader 4-Experten test2.mq4 (348, 30) diesen Fehler, weil Sie #define iBarCURRENT definieren, dann setzen Sie es als iBarCurrent und ich werde es beheben. 2 Fehler,
perry1147
20-03-2025 13:17,
Eingefügter Code-String PriceToStr (double p) {return (DoubleToStr (p, Digits)); }: datetime OOT = OrderOpenTime ();/Nimmt an, dass OrderSelect () bereits ausgeführt wurde int iOOT = iBarShift (NULL, 0, OOT);/Bar des offenen #define iBarCURRENT 0/uelle Bar einschließen int nSince = iOOT/Nein. Bars seit geöffnet. int iHi = iHighest (NULL, 0, MODE_HIGH, nSince, iBarCURRENT); double HH = High # 91; iHi # 93 ;;/Höchste Höhe Drucken (Hoch seit Bestellung eröffnet am, TimeToStr (OOT), ist PriceToStr (HH));
Die Balkenzählung geht von rechts nach links. . das ist also, der aktuell formende Takt ist Takt 0, der nächste Takt links ist Takt 1, dann Takt 2 usw. Was FXEZ sagte, ist richtig. . . du brauchst das . . double HighestAfterOrder = iHigh (EURUSD, 0, iHighest (EURUSD, 0, PRICE_HIGH, Shift, 0)); dann verwenden Sie das in. . . if (HighestAfterOrder - OrderOpenPrice () gt; 0,0030 HighestAfterOrder (OrderOpenPrice ()2) gt; MarketInfo (EURUSD, MODE_BID)) {Position schließen}
oxbrico2015
20-03-2025 14:48,
Ist dies in Ordnung: int shift = iBarShift (EURUSD, PERIOD_H1, OrderOpenTime ()); iHigh (EURUSD, PERIOD_H1, iHighest (EURUSD, PERIOD_H1, MODE_HIGH, Shift, 0)); ========= Bitte beachten Sie: Ich bin kein Programmierer. was ich will ist: 1- nachdem ich orderopenprice bekommen habe, möchte ich die höchste für einige Bars unabhängig von den unten genannten Bedingungen nicht vor orderopneprice danach berechnen. 2-Ich möchte, dass die Balkenzählung von links nach rechts und nicht von rechts nach links geht. Bitte überprüfen und korrigieren, falls falsch (mit Beispiel wird es sehr gut sein). ====== wenn sie am höchsten sind - orderopenpricegt; 0,0030 (1.3061-1.3030) gt; 0,0030 bedeutet, dass die nächste Bedingung ((0,00312) gt; bid) ist, und die Position wird mit 0,0015 geschlossen. if ((1.3090-1.3030)2) Dies bedeutet, dass wir 30 Pips erhalten haben. iHighest (EURUSD, PERIOD_H1, MODE_HIGH, Shift-5, Shift); if (((iHighest - OrderOpenPrice ()) gt; 0,0030) (((iHighest OrderOpenPrice ())2) gt; MarketInfo (EURUSD, MODE_BID))) {Position schließen}; Ich denke, wenn wir shift-5 durch 0 ersetzen, wird es vielleicht besser sein. Es beginnt mit der Umschaltleiste und endet mit der aktuellen Leiste, die dieselbe Leiste bedeutet. Wenn die Bedingung eingetreten ist, wird nach der zweiten Leiste für die Zustandsverschiebung = 1.3061 und orderopenprice () = 1.3030 gesucht. Dies bedeutet, dass sie möglicherweise in der gleichen Leiste schließt, wenn Preis bis 1.3045 oder niedrig. Wenn dies nicht der Fall ist, wird der Hoch für die Schaltstange beibehalten und in 1,3045 oder tief geschlossen, wenn der nächste Takt, der nach der Schaltstange angezeigt wird, ein neues Hoch wie 1,3091 ergibt, was bedeutet, dass der Kurs bei Erreichen des Kurses schließen wird 1.3060 oder niedrig und so weiter .... bitte helfen Sie mir mit gutem Beispiel.
rkpower9
20-03-2025 15:31,
Du musst das tun. . . iHigh (EURUSD, 0, iHighest (EURUSD, 0, PRICE_HIGH, Shift-1, 0)); Die Balkenanzeige geht von rechts nach links. . . 0 ist der aktuelle Balken, Schicht ist die iBarShift, in der Ihre Bestellung geöffnet wurde
Es sollte shift 1 für das count-Feld sein, da der aktuelle Balken 0 ist und die iHighest-Funktion die shift (und nicht den count) zurückgibt. Wenn der höchste Balken der aktuelle Balken wäre, sollte iHighest 0 zurückgeben. Der Code sollte lauten: Eingefügter Code iHigh (EURUSD, 0, iHighest (EURUSD, 0, PRICE_HIGH, shift 1, 0)); Jedoch, wenn Sie versuchen: Eingefügter Code Print (iHighest (NULL, 0, MODE_HIGH, 0, 0)); Es scheint, die höchste Balkenindexnummer über die gesamte Datenreihe zu geben (vermutlich die Standardeinstellung). Wenn ich es versuche: Eingefügter Code-Druck (iHighest (NULL, 0, MODE_HIGH, 1, 0)); Sie gibt 0 zurück, da der aktuelle Takt (immer) der höchste der letzten 1 Takte ist. Wenn das OP die Höhe der Eingabeleiste nicht einschließen möchte, sollte es nur Shift sein und nicht 1 aus der Hilfedatei: Eingefügter Code double val;/Berechnung des höchsten Wertes für die 20 aufeinanderfolgenden Balken im Bereich/vom 4. bis einschließlich 23. Index einschließlich des aktuellen Diagramms. val = High # 91; iHighest (NULL, 0, MODE_HIGH, 20,4) # 93 ;;
Hallo FXEZ, ich habe andere Frage. Im Moment habe ich den Höchststand für die Bar bekommen, den ich aus dem offenen Preis bekommen habe (). Die nächste Frage wird sein: Wenn ich den höchsten Preis nach der Eröffnung von orderopenprice () erhalten möchte. Ist das der richtige Weg? Bitte geben Sie mir ein Beispiel. iHigh (EURUSD, 0, iHighest (EURUSD, 0, PRICE_HIGH, [//10/Anzahl der Balken], [//Shift/von diesem Takt beginnend])));
Du musst das tun. . . iHigh (EURUSD, 0, iHighest (EURUSD, 0, PRICE_HIGH, Shift-1, 0)); Die Balkenanzeige geht von rechts nach links. . . 0 ist der aktuelle Balken, Schicht ist die iBarShift, in der Ihre Bestellung geöffnet wurde
oxbrico2015
20-03-2025 16:59,
Hallo FXEZ, ich habe andere Frage. Im Moment habe ich den Höchststand für die Bar bekommen, den ich aus dem offenen Preis bekommen habe (). Die nächste Frage wird sein: Wenn ich den höchsten Preis nach der Eröffnung von orderopenprice () erhalten möchte. Ist das der richtige Weg? Bitte geben Sie mir ein Beispiel. iHigh (EURUSD, 0, iHighest (EURUSD, 0, PRICE_HIGH, [//10/Anzahl der Balken], [//Shift/von diesem Takt beginnend]))); dann if (iHigh (EURUSD, 0, iHighest (EURUSD, 0, PRICE_HIGH, [//10/Anzahl der Balken], [//Shift/ab diesem Takt]))) - (OrderOpenPrice () gt; 0,003) ) {//etwas tun} vielen Dank int shift = iBarShift (EURUSD, PERIOD_H1, OrderOpenTime ()); if (iHigh (EURUSD, PERIOD_H1, Shift) - OrderOpenPrice () gt; 0.003) {//etwas tun}
oxbrico2015
20-03-2025 17:39,
Vielen Dank, FIXES, für eure Hilfe. Danke noch einmal
rkpower9
20-03-2025 18:33,
Wenn wir einige Berechnungen wie (iHigh (EURUSD, PERIOD_H1,0) -OrderOpenPrice ()) gt; 0,0030) und den verwendeten Zeitrahmen von einer Stunde durchführen müssen, ist das Problem beim Wechseln zum nächsten Frame möglicherweise nicht verfügbar . Ich muss iHigh für die Bar angeben, die ich OrderOpenPrice davon erhalten habe. Einige Leute raten mir, OrderOpenTime () und shiftbar () zu verwenden, aber ich weiß nicht, wie ich sie verwenden kann, bitte geben Sie mir ein Beispiel und vielen Dank.
Sie könnten Folgendes versuchen: Eingefügter Code int shift = iBarShift (EURUSD, PERIOD_H1, OrderOpenTime ()); if (iHigh (EURUSD, PERIOD_H1, shift) - OrderOpenPrice () gt; 0,003) {//etwas tun} Dokumentation:
http://docs.mql4.com/series/iBarShift
http://docs.mql4.com/series/iHigh
https://sites.google.com/site/marketformula/mql4-trading-functions/mql4-specific-order-information#OrderOpenPrice
https://sites.google.com/site/marketformula/mql4-trading-functions/mql4-specific-order-information#OrderOpenTime
oxbrico2015
20-03-2025 19:24,
kein Programmierer hier oder Programmierer !!!! Wie dem auch sei, einige Leute sagten mir, ich solle das FF-Team kontaktieren, aber ich weiß nicht, wer das FF-Team ist und wie ich mit ihnen Kontakt aufnehmen kann.
oxbrico2015
20-03-2025 20:23,
wenn wir einige Berechnungen machen müssen:
(iHigh (EURUSD, PERIOD_H1,0) -OrderOpenPrice ()) gt; 0,0030) und der verwendete Zeitrahmen eine Stunde. Das Problem, wenn wir zum nächsten Frame wechseln, ist möglicherweise die Bedingung nicht verfügbar. Ich muss iHigh für die Bar angeben, die ich OrderOpenPrice davon erhalten habe.
Einige Leute raten mir, OrderOpenTime () und shiftbar () zu verwenden, aber ich weiß nicht, wie ich sie verwenden kann, bitte geben Sie mir ein Beispiel und vielen Dank.
Powered by vBulletin® Version 4.2.5 Copyright ©2026 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.