Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Paracorp

Rookie
  • Benutzer seit

  • Letzter Besuch

  1. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    @Mythos Für komplexe Vorlagen geb ich Dir Recht mit dem was Du sagst. Da gehört mehr zu.. Aber für meine bisherige kleine Vorlage haben meine mini Kenntnisse auch gerreicht die einen oder anderen Einstiegskriterien was verschiedene Indikatoren rein und raus zu nehmen aus der Vorlage. Thema ist ja jetzt auch eigentlich durch. Bedank mich aber nochmals für die Mühe und Hilfestellung gestern nacht noch von Dir. Man liesst sich ja sicherlich noch das ein oder andere mal. ;-)
  2. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    Gibt keine blöden Fragen. Wenn die Grundvorraussetzungen in der Vorlage stehen zb MM oder wie gesagt nur eine Order pro Signal dann kann man anfangen und die Bedingungen sprich kreuzende MAs oder was auch immer für Kauf und Verkauf ja ganz einfach im Editor verändern oder neue einfügen. So hatte ich mir das eigentlich gedacht.
  3. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    Da gabs kein Unterton, das sagt man so. Ich will ja kein EA produziert bekommen sondern versuche mir lediglich eine Art einfache Vorlage zu erstellen.
  4. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    War ja keine böse absicht von mir das ich den Code nochmal dran gehängt habe und das mit dem Support stimmt. Klar, mir fehlen die Programmierkenntnisse, aber eine Lösung wäre für mich trotzdem hilfreich gewesen vielleicht das ein oder andere kleine dann nachzuvollziehen zu können. Aber nun gut, dann geh ich nicht über LOS und bekomm keine 2000 und führe mir den Sticky Einstieg zu MT4 Programmierung zu gemüte und das ganze drum herum. Trotzdem danke.
  5. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    Hätte man mir vor 20 Jahren gesagt das ich mich heute mal für EAs interessiere hätte ich ja vielleicht studiert ;-) Ich weiss imemr noch nicht was Dieser "Wert von lastOrder" sein soll sprich "lastOrder" richtig setzen (also "lastOrder= Order" einfügen.
  6. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    thx ;-)
  7. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    Danke für Deine geopferte Zeit bisher ;-) Und Deine Empfehlung mit dem Thread für Einsteiger werd ich mir zu gemüte führen. Ja, das XTB Handbuch ist bisher nicht die Welt, aber bei dem ein oder anderen hat es mir genützt. Hab die codes so eingefügt wie Du es mir gesagt hast aber bekomme jede Menge Fehlermeldungen beim kompilieren. //+------------------------------------------------------------------+ //| This MQL is generated by Expert Advisor Builder | //| http://sufx.core.t3-...AdvisorBuilder/ | //| | //| In no event will author be liable for any damages whatsoever. | //| Use at your own risk. | //| | //+------------------- DO NOT REMOVE THIS HEADER --------------------+ #define SIGNAL_NONE 0 #define SIGNAL_BUY 1 #define SIGNAL_SELL -1 #define SIGNAL_CLOSEBUY 3 #define SIGNAL_CLOSESELL 4 #property copyright "Expert Advisor Builder" #property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/" extern int MagicNumber = 0; extern bool SignalMail = False; extern bool EachTickMode = True; extern double Lots = 1.0; extern int Slippage = 3; extern bool UseStopLoss = True; extern int StopLoss = 10; extern bool UseTakeProfit = True; extern int TakeProfit = 10; extern bool UseTrailingStop = False; extern int TrailingStop = 30; int BarCount; int Current; bool TickCheck = False; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { BarCount = Bars; if (EachTickMode) Current = 0; else Current = 1; return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { static int lastOrder= 0 int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; if (EachTickMode && Bars != BarCount) TickCheck = False; Total = OrdersTotal(); Order = SIGNAL_NONE; //+------------------------------------------------------------------+ //| Variable Begin | //+------------------------------------------------------------------+ double Buy1_1 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, Current + 0); double Buy1_2 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, Current + 0); double Sell1_1 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, Current + 0); double Sell1_2 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, Current + 0); //+------------------------------------------------------------------+ //| Variable End | //+------------------------------------------------------------------+ //Check position bool IsTrade = False; for (int i = 0; i < Total; i ++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) { IsTrade = True; if(OrderType() == OP_BUY) { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Buy) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Buy) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if(Bid - OrderOpenPrice() > Point * TrailingStop) { if(OrderStopLoss() < Bid - Point * TrailingStop) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); if (!EachTickMode) BarCount = Bars; continue; } } } } else { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Sell) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Sell) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) { if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange); if (!EachTickMode) BarCount = Bars; continue; } } } } } } //+------------------------------------------------------------------+ //| Signal Begin(Entry) | //+------------------------------------------------------------------+ if (Buy1_1 >= Buy1_2) Order = SIGNAL_BUY; if (Sell1_1 <= Sell1_2) Order = SIGNAL_SELL; //+------------------------------------------------------------------+ //| Signal End | //+------------------------------------------------------------------+ //Buy if (Order*lastOrder <= 0 && Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { if(!IsTrade) { //Check free margin if (AccountFreeMargin() < (1000 * Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0; if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0; Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue); if(Ticket > 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy"); } else { Print("Error opening BUY order : ", GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; return(0); } } //Sell if (Order*lastOrder <= 0 && Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { if(!IsTrade) { //Check free margin if (AccountFreeMargin() < (1000 * Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0; if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0; Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink); if(Ticket > 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print("SELL order opened : ", OrderOpenPrice()); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell"); } else { Print("Error opening SELL order : ", GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; return(0); } } if (!EachTickMode) BarCount = Bars; return(0); } //+------------------------------------------------------------------+
  8. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    Soweit so gut und nochmals danke fürs schnelle Antworten, aber "Und nicht vergessen nach dem erfolgreichen senden der Order den Wert von "lastOrder" richtig setzen (also "lastOrder= Order" einfügen" Genau da schmeisst er mir die Fehler: 'lastOrder' - variable not defined E:\Programme\XTB-Trader 4\experts\rsi test.mq4 (188, 14) 'lastOrder' - variable not defined E:\Programme\XTB-Trader 4\experts\rsi test.mq4 (217, 14) Hab nach lastOrder dann jeweils 1 und -1 eingefügt. Aber trotzdem Fehler beim kompilieren. PS: Was den Code erlenen angeht, so versuch ich erstmal rauszufinden in welche Teile solch ein Code unterteilt ist. Variablen, Buy Logik etc. Hab auch das übersetzte Programmier Handbuch von xtb, aber die 300 Seiten gehören erstmal durchgelesen ;-)
  9. Paracorp antwortete auf Paracorp's Thema in MQL Einsteiger
    Erstmal vielen Dank für die echt schnelle Antwort. Ja es sollen keine 2 Long oders bzw 2 Short Orders hintereinander erfolgen. Wo füg ich Deine Funktion aber ein? Bin der ganzen Programmiersache noch nicht wirklich mächtig und taste mich da erst ran und nutz deswegen einen EA Builder um den ganzen Code dann beim durchgehen zu verstehen. Hier mal ein Code schnelles Code Beispiel. Wo müsste ich Deine Funktion dann einfügen? //+------------------------------------------------------------------+ //| This MQL is generated by Expert Advisor Builder | //| [url="http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"]http://sufx.core.t3-...AdvisorBuilder/[/url] | //| | //| In no event will author be liable for any damages whatsoever. | //| Use at your own risk. | //| | //+------------------- DO NOT REMOVE THIS HEADER --------------------+ #define SIGNAL_NONE 0 #define SIGNAL_BUY 1 #define SIGNAL_SELL 2 #define SIGNAL_CLOSEBUY 3 #define SIGNAL_CLOSESELL 4 #property copyright "Expert Advisor Builder" #property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/" extern int MagicNumber = 0; extern bool SignalMail = False; extern bool EachTickMode = True; extern double Lots = 1.0; extern int Slippage = 2; extern bool UseStopLoss = True; extern int StopLoss = 10; extern bool UseTakeProfit = True; extern int TakeProfit = 10; extern bool UseTrailingStop = False; extern int TrailingStop = 10; int BarCount; int Current; bool TickCheck = False; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { BarCount = Bars; if (EachTickMode) Current = 0; else Current = 1; return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; if (EachTickMode && Bars != BarCount) TickCheck = False; Total = OrdersTotal(); Order = SIGNAL_NONE; //+------------------------------------------------------------------+ //| Variable Begin | //+------------------------------------------------------------------+ double Buy1_1 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, Current + 0); double Buy1_2 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, Current + 0); double Sell1_1 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, Current + 0); double Sell1_2 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, Current + 0); //+------------------------------------------------------------------+ //| Variable End | //+------------------------------------------------------------------+ //Check position bool IsTrade = False; for (int i = 0; i < Total; i ++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) { IsTrade = True; if(OrderType() == OP_BUY) { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Buy) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Buy) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if(Bid - OrderOpenPrice() > Point * TrailingStop) { if(OrderStopLoss() < Bid - Point * TrailingStop) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); if (!EachTickMode) BarCount = Bars; continue; } } } } else { //Close //+------------------------------------------------------------------+ //| Signal Begin(Exit Sell) | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Signal End(Exit Sell) | //+------------------------------------------------------------------+ if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell"); if (!EachTickMode) BarCount = Bars; IsTrade = False; continue; } //Trailing stop if(UseTrailingStop && TrailingStop > 0) { if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) { if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange); if (!EachTickMode) BarCount = Bars; continue; } } } } } } //+------------------------------------------------------------------+ //| Signal Begin(Entry) | //+------------------------------------------------------------------+ if (Buy1_1 >= Buy1_2) Order = SIGNAL_BUY; if (Sell1_1 <= Sell1_2) Order = SIGNAL_SELL; //+------------------------------------------------------------------+ //| Signal End | //+------------------------------------------------------------------+ //Buy if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { if(!IsTrade) { //Check free margin if (AccountFreeMargin() < (1000 * Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0; if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0; Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue); if(Ticket > 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy"); } else { Print("Error opening BUY order : ", GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; return(0); } } //Sell if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) { if(!IsTrade) { //Check free margin if (AccountFreeMargin() < (1000 * Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0; if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0; Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink); if(Ticket > 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print("SELL order opened : ", OrderOpenPrice()); if (SignalMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell"); } else { Print("Error opening SELL order : ", GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; return(0); } } if (!EachTickMode) BarCount = Bars; return(0); } //+------------------------------------------------------------------+
  10. Paracorp erstellte Thema in MQL Einsteiger
    Bin neu hier im Forum, Hallo erstmal alle.. Habe auch gleich eine Frage bzw folgendes Problem. Versuche seid Tagen den Code zu finden der dem EA sagen soll das er nach einem S/L oder T/P das gegen Signal abwarten soll bevor er einen neuen Trade eingeht und nicht weiter in die aktuelle Richtung Traden soll. Bin bisher nur auf Variablen wie Varsell=1 und Varbuy=1 gestossen, aber wirklich hilfreich wars bisher nicht. Wie definiert man diese. Vielleicht kann es mir hier jemand erklären wie man das am besten anstellt sofern verstanden wurde was ich meine. Danke schon mal im vorraus. Gruss
  11. Göttlich

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.