|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Fragen zu MA Crossover EA
Hallo liebe Community,
zurzeit programmiere ich einen "einfachen" MA Crossover Expert Advisor (für mich als Nicht-ITler gar nicht mal so einfach) in MQL4. Ich verwende den 50er und 200er SMA, bei einem Kreuzen nach unten sollte sich eine Short Position ergeben, bei einem Kreuzen nach oben ein Long Signal. Nun habe ich konkrete Fragen bzw. Problemstellungen, auf die ich bisher leider keine Antworten finden konnte: - der EA eröffnet teilweise innerhalb weniger Sekunden bis zu 3 Positionen bei ein und demselben Signal. Eigentlich möchte ich pro Markt aber nur eine Position eröffnet haben (je EINEM Einstiegssignal). - während der Take Profit soweit ganz gut funktioniert bzw. immer greift (wann er soll), tut sich bei meinem Stopp Loss leider gar nichts. (TP greift bereits bei einigen Cent, der SL nicht mal bei Verlusten > 10 Euro). Woran kann das liegen? - da ich bisher v.a. im M1 gehandelt habe (was natürlich deutlich öfters (Fehl-)Signale auslöst), möchte ich zusätzlich zum SL bzw. TP (falls diese nicht greifen sollten) einen Code, damit die Position spätestens beim gegensätzlichen Schneiden der MA`s geschlossen wird. Es wäre super, wenn mir jemand den passenden "Code" bzw. Befehl parat hat. Da ich mich, wie gesagt, leider noch nicht gut auskenne (das ist mein erster EA), wäre es mega hilfreich, wenn ihr mir passend zum Code auch die Position des Codes im "Großen und Ganzen" verraten könntet (oder ist das egal?). Anbei ist der derzeitige Stand meines SMA EA. input int SmallSMA=50; input int BigSMA=200; void OnTick() { // We create a string variable for the signal string signal =""; // We calculate the small moving average double SmallMovingAverage1 = iMA(_Symbol, _Period, SmallSMA, 0, MODE_SMA, PRICE_CLOSE, 1); // We calculate the big moving average double BigMovingAverage1 = iMA(_Symbol, _Period, BigSMA, 0, MODE_SMA, PRICE_CLOSE, 1); // We calculate the small moving average double SmallMovingAverage2 = iMA(_Symbol, _Period, SmallSMA, 0, MODE_SMA, PRICE_CLOSE, 2); // We calculate the big moving average double BigMovingAverage2 = iMA(_Symbol, _Period, BigSMA, 0, MODE_SMA, PRICE_CLOSE, 2); // If BigMovingAverage > SmallMovingAverage if (BigMovingAverage1 > SmallMovingAverage1) // If BigMovingAverage < SmallMovingAverage before if (BigMovingAverage2 < SmallMovingAverage2) { // Set the signal variable to sell signal="sell"; } // If BigMovingAverage < SmallMovingAverage if (BigMovingAverage1 < SmallMovingAverage1) // If BigMovingAverage > SmallMovingAverage before if (BigMovingAverage2 > SmallMovingAverage2) { // Set the signal variable to buy signal="buy"; } // Buy 10 Microlot if (signal=="buy" && OrdersTotal()==0) OrderSend (_Symbol,OP_BUY,0.10,Ask,3,0,Ask+150*_Point,NULL,0 ,0,Green); // Sell 10 Microlot if (signal=="sell" && OrdersTotal()==0) OrderSend (_Symbol,OP_SELL,0.10,Bid,3,0,Bid-150*_Point,NULL,0,0,Red); // Chart output for the signal Comment ("The current signal is: ",signal); } Ich danke euch für die Hilfe und bin auch gern für anderweitige Tipps & Tricks offen! |
|
|||
Hi,
ich danke dir für dein Feedback! Soweit ich das gesehen und richtig verstanden habe, ist der vorinstallierte EA (für den MA) für nur einen MA, richtig? Gibt es denn wirklich so viele unterschiedliche Möglichkeiten einen SL, TP und alles andere zu definieren (habe den aktuellen Code aus Beispielen anderer Programmierer zusammen geschnipselt)? Habe immer gedacht, dass es quasi eine "Vorlage" geben könnte, bei der man immer nach dem gleichen Prinzip seine EA`s aufbauen kann. Für weiteres Feedback bin ich weiterhin jederzeit froh |
|
||||
https://www.eabuilder.com/
Benutze und brauche ich auch nicht, dürfte aber das sein was du suchst |
|
|||
Danke dir für den Link! Das kannte ich bisher noch nicht.
Hatte zwar schon vor, mir das ganze selbst beizubringen, aber hört sich natürlich sehr verlockend an. Hat irgendwer in diesem Forum schon Erfahrungen mit diesem Anbieter/ dieser Website machen können? |
|
|||
Ja, 97$ kann man dafür ausgeben, muss man aber nicht.
Das hängt von der Qualität und dem Umfang des EAs ab und von der Programmierfähigkeit des Anwenders. Liegt die Qualität höher als die nackige Verwendung von Indikatoren und das biedere Setzen von Orders und ggf. deren Verwaltung auf einfachem Niveau dann kann man das und ähnliche Programme benutzen. Besitzt man zudem keine oder nahezu keine Programmierkenntnisse, dann geht wirklich nur für Basic-Programme die o.g. Variante oder man lässt den EA programmieren, wenn nicht ausreichend eigene Fertigkeiten und Erfahrungen vorliegen. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
|
|