PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Syntax Hilfe benötigt



xarkz
00:12,
Warum gibt mir der andere einen unerwarteten Token-Fehler?

Es sollte sein, wenn Ask gt; MA_Line führt die Reihe von Top-Checks durch, um einen Auftrag zu öffnen
sonst
Führen Sie die Reihe von Bottom-Checks durch, um einen Auftrag zu öffnen ... verstehe nicht, was mit dieser Syntax nicht stimmt

Danke für Ihre Hilfe!


Eingegebener Code void OpenMarketOrders () {double MA_Line = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 0,0); double S_Line1 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 1,0); double S_Line2 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 2,0); double S_Line3 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 3,0); double S_Line4 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 4,0); double U_StopLoss = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0,5,0); double L_StopLoss = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0,5,0); double B_Line1 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 1,0); double B_Line2 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 2,0); double B_Line3 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 3,0); double B_Line4 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 4,0); doppelt StochBuyLine = iStochastic (Symbol (), 0,14,3,3,1,1,0,0); double StochSellLine = iStochastic (Symbol (), 0,14,3,3,1,1,1,0); int line1trades = 0, line2trades = 0, line3trades = 0, line4trades = 0; int Ticket; if (Tradeable == Wahr) {if (Ask lt; MA_Line) {{if (line4tradeslt; 1 StochBuyLinegt; = StochSellLine StochBuyLillt; = 10 ((Öffnen # 91; 0 # 93; lt; B_Line4 Schließen # 91; 0 # 93 ; gt; = B_Line4) || (Öffnen # 91; 0 # 93; gt; B_Line4 Schließen # 91; 0 # 93; lt; = B_Line4))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 6, Fragen, 3, 0, 0, Coach Line4Buy, MagicNumber, 0, Green); line4trades = 1; } if (line3tradeslt; 1 StochBuyLinet; = StochSellLine StochBuyLillt; = 10 ((Öffnen # 91; 0 # 93; lt; B_Line3 Schließen # 91; 0 # 93; gt; = B_Line3) || (Öffnen # 91; 0 # 93 ; gt; B_Line3 Schließen # 91; 0 # 93; lt; = B_Line3))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 3, Fragen, 3, 0, 0, Coach Line3Buy, MagicNumber, 0, Grün ); line3trades = 1; } if (line2tradeslt; 1 StochBuyLinet; = StochSellLine StochBuyLillt; = 10 ((Öffnen # 91; 0 # 93; lt; B_Line2 Schließen # 91; 0 # 93; gt; = B_Line2) || (Öffnen # 91; 0 # 93 ; gt; B_Line2 Schließen # 91; 0 # 93; lt; = B_Line2))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 2, Fragen, 3, 0, 0, Coach Line2Buy, MagicNumber, 0, Grün ); line2trades = 1; } if (line1tradeslt; 1 StochBuyLinegt; = StochSellLine StochBuyLillt; = 10 ((Öffnen Sie # 91; 0 # 93; lt; B_Line1 Schließen Sie # 91; 0 # 93; gt; = B_Line1) || (Öffnen Sie # 91; 0 # 93 ; gt; B_Line1 Schließen # 91; 0 # 93; lt; = B_Line1))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize, Ask, 3, 0, 0, Coach Line1Buy, MagicNumber, 0, Grün); line1trades = 1; }} else {{if (line4tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen Sie # 91; 0 # 93; lt; S_Line4 Schließen Sie # 91; 0 # 93; gt; = S_Line4) || (Öffnen Sie # 91 ; 0 # 93; gt; S_Line4 Schließen # 91; 0 # 93; lt; = S_Line4))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 6, Gebot, 3, 0, 0, Coach Line4Sell, MagicNumber , 0, rot); line4trades = 1; } if (line3tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line3 Schließen # 91; 0 # 93; gt; = S_Line3) || (Öffnen # 91; 0 # 93 ; gt;S_Line3 Schließen # 91; 0 # 93; lt; = S_Line3))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 3, Gebot, 3, 0, 0, Coach Line3Sell, MagicNumber, 0, Red); line3trades = 1; } if (line2tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line2 Schließen # 91; 0 # 93; gt; = S_Line2) || (Öffnen # 91; 0 # 93 ; gt; S_Line2 Schließen # 91; 0 # 93; lt; = S_Line2))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 2, Gebot, 3, 0, 0, Coach Line2Sell, MagicNumber, 0, Red ); line2trades = 1; } if (line1tradeslt; 1 StochSellLegtgt; = StochBuyLine StochBuyLinegt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line1 Schließen # 91; 0 # 93; gt; = S_Line1) || (Öffnen # 91; 0 # 93 ; gt; S_Line1 Schließen # 91; 0 # 93; lt; = S_Line1))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize, Bid, 3, 0, 0, Trainer Line1Sell, MagicNumber, 0, Red); line1trades = 1; }}}}}}

vixxarejoo
15:52,
Zu viele geschweifte Klammern. Eingegebener Code void OpenMarketOrders () {double MA_Line = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 0,0); double S_Line1 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 1,0); double S_Line2 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 2,0); double S_Line3 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 3,0); double S_Line4 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 4,0); double U_StopLoss = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0,5,0); double L_StopLoss = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0,5,0); double B_Line1 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 1,0); double B_Line2 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 2,0); double B_Line3 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 3,0); double B_Line4 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 4,0); doppelt StochBuyLine = iStochastic (Symbol (), 0,14,3,3,1,1,0,0); double StochSellLine = iStochastic (Symbol (), 0,14,3,3,1,1,1,0); int line1trades = 0, line2trades = 0, line3trades = 0, line4trades = 0; int Ticket; if (Tradeable == Wahr) {if (Ask lt; MA_Line) {if (line4tradeslt; 1 StochBuyLinegt; = StochSellLine StochBuyLillt; = 10 ((Öffnen # 91; 0 # 93; lt; B_Line4 Schließen # 91; 0 # 93; gt; = B_Line4) || (Öffnen # 91; 0 # 93; gt; B_Line4 Schließen # 91; 0 # 93; lt; = B_Line4))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 6, Ask , 3, 0, 0, Trainer Line4Buy, MagicNumber, 0, Grün); line4trades = 1; } if (line3tradeslt; 1 StochBuyLinet; = StochSellLine StochBuyLillt; = 10 ((Öffnen # 91; 0 # 93; lt; B_Line3 Schließen # 91; 0 # 93; gt; = B_Line3) || (Öffnen # 91; 0 # 93 ; gt; B_Line3 Schließen # 91; 0 # 93; lt; = B_Line3))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 3, Fragen, 3, 0, 0, Coach Line3Buy, MagicNumber, 0, Grün ); line3trades = 1; } if (line2tradeslt; 1 StochBuyLinet; = StochSellLine StochBuyLillt; = 10 ((Öffnen # 91; 0 # 93; lt; B_Line2 Schließen # 91; 0 # 93; gt; = B_Line2) || (Öffnen # 91; 0 # 93 ; gt; B_Line2 Schließen # 91; 0 # 93; lt; = B_Line2))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 2, Fragen, 3, 0, 0, Coach Line2Buy, MagicNumber, 0, Grün ); line2trades = 1; } if (line1tradeslt; 1 StochBuyLinegt; = StochSellLine StochBuyLillt; = 10 ((Öffnen Sie # 91; 0 # 93; lt; B_Line1 Schließen Sie # 91; 0 # 93; gt; = B_Line1) || (Öffnen Sie # 91; 0 # 93 ; gt; B_Line1 Schließen # 91; 0 # 93; lt; = B_Line1))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize, Ask, 3, 0, 0, Coach Line1Buy, MagicNumber, 0, Grün); line1trades = 1; }} else {if (line4tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line4 Schließen # 91; 0 # 93; gt; = S_Line4) || (Öffnen # 91; 0 # 93; gt; S_Line4 Schließen # 91; 0 # 93; lt; = S_Line4))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 6, Gebot, 3, 0, 0, Coach Line4Sell, MagicNumber, 0, rot); line4trades = 1; } if (line3tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93;lt; S_Line3 Schließen # 91; 0 # 93; gt; = S_Line3) || (Öffnen # 91; 0 # 93; gt; S_Line3 Schließen # 91; 0 # 93; lt; = S_Line3))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 3, Bid , 3, 0, 0, Coach Line3Sell, MagicNumber, 0, Rot); line3trades = 1; } if (line2tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line2 Schließen # 91; 0 # 93; gt; = S_Line2) || (Öffnen # 91; 0 # 93 ; gt; S_Line2 Schließen # 91; 0 # 93; lt; = S_Line2))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 2, Gebot, 3, 0, 0, Coach Line2Sell, MagicNumber, 0, Red ); line2trades = 1; } if (line1tradeslt; 1 StochSellLegtgt; = StochBuyLine StochBuyLinegt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line1 Schließen # 91; 0 # 93; gt; = S_Line1) || (Öffnen # 91; 0 # 93 ; gt; S_Line1 Schließen # 91; 0 # 93; lt; = S_Line1))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize, Bid, 3, 0, 0, Trainer Line1Sell, MagicNumber, 0, Red); line1trades = 1; }}}}

xarkz
17:13,
Ok, mit dieser Funktion oben, muss ich Variablen in diese Funktion übergeben .... Was ist der beste Weg, das zu tun? Was ist der beste Weg, logisch zu wissen, welche Zeile geschlossen ist, damit ich sie wieder auf 0 setzen kann? Wo würde ich die Fehlerbehandlung in jedem setzen? Sobald ich das Schließen und die Fehlerbehandlung habe, denke ich, dass mein EA in der Lage sein sollte zu arbeiten, da ich keine Modify CodeVoid CloseMarketOrders () {wenn ClosingBuys {if (StochBuyLine gt; 50 StochSellLinegt; = StochBuyLine Ask gt; B_Line1 OrderSymbol () = Symbol () OrderMagicNumber () = MagicNumber) während line4tradesgt; 0 || line3tradesgt; 0 || line2tradesgt; 0 || line1tradesgt; 0 OrderClose (Ticket); } if ClosingSells {if (StochSelLine lt; 50 StochBuyLinegt; = StochBuyLine Gebot lt; S_Line1 OrderSymbol () = Symbol () OrderMagicNumber () = MagicNumber) while line4tradesgt; 0 || line3tradesgt; 0 || line2tradesgt; 0 || line1tradesgt; 0 OrderClose (Ticket); }}

xarkz
18:33,
Eigentlich muss ich auch die Stop-Loss-Linie schließen, aber das sollte einfach sein, sobald ich das Gesamtkonzept verstanden habe .... danke

xarkz
19:54,
Ok, ich habe noch ein paar Modifikationen vorgenommen .... bitte hilf mir das aufzuräumen, damit es Best Practices beinhaltet ... * muss Variablen an die CloseOrders Funktion übergeben von OpenOrders Funktion * Label ob ein Ticket ein Kauf oder Verkauf ist * was hinzufügen, damit ein EA Trades überwachen kann, wenn MBT aus irgendeinem Grund neu gestartet wird? * jede andere Empfehlung, um sicherzustellen, dass es irgendwo kein Loch gibt * Der beste Weg, um mit dem Handel umzugehen, ist eine kontinuierliche Schleife, die prüft, ob Orders in der Startfunktion geöffnet oder geschlossen werden, richtig? * Die Antwort auf diese Fragen wird wahrscheinlich dazu beitragen, die Konzepte von Metatrader ProgrammierungHandel zu verstehen. Einfügung Code void CloseMarketOrders () {if ClosingBuys {if (StochBuyLine gt; 50 StochSellLegtgt; = StochBuyLine Ask gt; B_Line1 OrderSymbol () = Symbol () OrderMagicNumber () = MagicNumber) während line4tradesgt; 0 || line3tradesgt; 0 || line2tradesgt; 0 || line1tradesgt; 0 OrderClose (Ticket); if (ticket = line4ticket) line4trades = 0; if (ticket = line3ticket) line3trades = 0; if (ticket = line2ticket) line2trades = 0; if (ticket = line1ticket) line1trades = 0; } if ClosingSells {if (StochSelLine lt; 50 StochBuyLinegt; = StochBuyLine Gebot lt; S_Line1 OrderSymbol () = Symbol () OrderMagicNumber () = MagicNumber) while line4tradesgt; 0 || line3tradesgt; 0 || line2tradesgt; 0 || line1tradesgt; 0 OrderClose (Ticket); if (ticket = line4ticket) line4trades = 0; if (ticket = line3ticket) line3trades = 0; if (ticket = line2ticket) line2trades = 0; if (ticket = line1ticket) line1trades = 0; }} double LotSize () {doppeltes lotMM = MathCeil (AccountFreeMargin () * Risk1000)100; Rückkehr (lotMM); } void OpenMarketOrders () {double MA_Line = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 0,0); double S_Line1 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 1,0); double S_Line2 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 2,0); double S_Line3 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 3,0); double S_Line4 = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0, 4,0); double U_StopLoss = iCustom (NULL, 0, MA StdDev, MA_Period, 1, 6, 0,5,0); double L_StopLoss = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0,5,0); double B_Line1 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 1,0); double B_Line2 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 2,0); double B_Line3 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 3,0); double B_Line4 = iCustom (NULL, 0, MA-StdDev, MA_Period, 1, 6, 0, 4,0); doppelt StochBuyLine = iStochastic (Symbol (), 0,14,3,3,1,1,0,0); double StochSellLine = iStochastic (Symbol (), 0,14,3,3,1,1,1,0); int line1trades = 0, line2trades = 0, line3trades = 0, line4trades = 0; int Ticket; doppelte LotSize = LotSize (); bool Tradeable = wahr; if (LotSize () lt; 0,01 · xecn) LotSize = 0,01 · xecn; if (LotSize () gt; 100) LotSize = 100; if (Tradeable == Wahr) {if (Ask lt; MA_Line) {{if (line4tradeslt; 1 StochBuyLinegt; = StochSellLine StochBuyLillt; = 12 ((Öffnen # 91; 0 # 93;lt; B_Line4 Schließen # 91; 0 # 93; gt; = B_Line4) || (Öffnen # 91; 0 # 93; gt; B_Line4 Schließen # 91; 0 # 93; lt; = B_Line4))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 6, Ask , 3, 0, 0, Trainer Line4Buy, MagicNumber, 0, Grün); line4trades = 1; line4ticket = Ticket; } if (line3tradeslt; 1 StochBuyLinet; = StochSellLine StochBuyLillt; = 12 ((Öffnen # 91; 0 # 93; lt; B_Line3 Schließen # 91; 0 # 93; gt; = B_Line3) || (Öffnen # 91; 0 # 93 ; gt; B_Line3 Schließen # 91; 0 # 93; lt; = B_Line3))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 3, Fragen, 3, 0, 0, Coach Line3Buy, MagicNumber, 0, Grün ); line3trades = 1; line3ticket = Ticket; } if (line2tradeslt; 1 StochBuyLinet; = StochSellLine StochBuyLillt; = 12 ((Öffnen # 91; 0 # 93; lt; B_Line2 Schließen # 91; 0 # 93; gt; = B_Line2) || (Öffnen # 91; 0 # 93 ; gt; B_Line2 Schließen # 91; 0 # 93; lt; = B_Line2))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize * 2, Fragen, 3, 0, 0, Coach Line2Buy, MagicNumber, 0, Grün ); line2trades = 1; line2ticket = Ticket; } if (line1tradeslt; 1 StochBuyLinegt; = StochSellLine StochBuyLillt; = 12 ((Öffnen # 91; 0 # 93; lt; B_Line1 Schließen # 91; 0 # 93; gt; = B_Line1) || (Öffnen # 91; 0 # 93 ; gt; B_Line1 Schließen # 91; 0 # 93; lt; = B_Line1))) {ticket = OrderSend (Symbol (), OP_BUY, LotSize, Ask, 3, 0, 0, Coach Line1Buy, MagicNumber, 0, Grün); line1trades = 1; line1ticket = Ticket; }}} else {{if (line4tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line4 Schließen # 91; 0 # 93; gt; = S_Line4) || 91; 0 # 93; gt; S_Line4 Schließen # 91; 0 # 93; lt; = S_Line4))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 6, Gebot, 3, 0, 0, Coach Line4Sell, MagicNumber, 0, Rot); line4trades = 1; line4ticket = Ticket; } if (line3tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line3 Schließen # 91; 0 # 93; gt; = S_Line3) || (Öffnen # 91; 0 # 93 ; gt; S_Line3 Schließen # 91; 0 # 93; lt; = S_Line3))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 3, Gebot, 3, 0, 0, Coach Line3Sell, MagicNumber, 0, Red ); line3trades = 1; line3ticket = Ticket; } if (line2tradeslt; 1 StochSellLegtgt; = StochBuyLine StochSellLegtgt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line2 Schließen # 91; 0 # 93; gt; = S_Line2) || (Öffnen # 91; 0 # 93 ; gt; S_Line2 Schließen # 91; 0 # 93; lt; = S_Line2))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize * 2, Gebot, 3, 0, 0, Coach Line2Sell, MagicNumber, 0, Red ); line2trades = 1; line2ticket = Ticket; } if (line1tradeslt; 1 StochSellLegtgt; = StochBuyLine StochBuyLinegt; = 90 ((Öffnen # 91; 0 # 93; lt; S_Line1 Schließen # 91; 0 # 93; gt; = S_Line1) || (Öffnen # 91; 0 # 93 ; gt; S_Line1 Schließen # 91; 0 # 93; lt; = S_Line1))) {ticket = OrderSend (Symbol (), OP_SELL, LotSize, Bid, 3, 0, 0, Trainer Line1Sell, MagicNumber, 0, Red); line1trades = 1; line1ticket = Ticket; }}}}

Biokik
21:15,
Ist das der vollständige Code? Wo ist die Startfunktion?

xarkz
22:36,
1 Attachment (s) Ok, das ist der vollständige Code Es ist sehr nah und ich bin mir sicher, innerhalb von zehn Minuten werden Sie in der Lage sein Best Practices Ratschläge zu geben und mir helfen, die letzte Handvoll Dinge zu lösen * Ich habe zwei Fehler, die gleich sind weil es die Ticketvariable nicht erkennt, um die Order zu schließen * Brauche ich im Startabschnitt eine Endlosschleife, da nur zwei Funktionen überprüft werden? * Wo sollte ich Fehlerbehandlung hinzufügen? * Was passiert, wenn MetaTrader neu gestartet wird? Was muss ich tun, um zu wissen, welche Trades offen sind und in welchen Linien? * Ich werde kommen, was ich mit der handelbaren Funktion tun werde (dh nicht freitags handeln, aber Geschäfte verwalten, die am Freitag noch offen sind ... und nicht handeln, wenn nicht genug Geld) * Ich werde in versteckten tp und hinzufügen sl
https://www.tradingintuitive.com/attachments/15189505631230407706.mq4

xarkz
23:57,
1 Attachment (s) Ich glaube, ich habe das Problem mit dem Ticket behoben ... kann jemand das bitte überprüfen und einen Input zu den restlichen Dingen geben? Es sollte weniger als 10 Minuten für jemanden mit Erfahrung sein, um die notwendigen Änderungen zu notieren .... dieser kompiliert sich ohne Fehler, so dass es jetzt viel einfacher sein sollte, damit umzugehen
https://www.tradingintuitive.com/attachments/15189505651425372810.mq4