Hey Trader-Kollegen! Heute möchte ich euch meinen einfachsten Expert Advisor (EA) vorstellen, den ich je entwickelt habe. Ich habe lange darüber nachgedacht, einen EA für mein Trading zu nutzen, und jetzt ist es endlich soweit! Ich freue mich auf euer Feedback, nachdem ihr alles gelesen habt.
Dieser EA funktioniert für ein einzelnes Währungspaar. Alle Einstellungen wie Zeitrahmen, Lot-Größe, Stop-Loss und Take-Profit könnt ihr ganz einfach im Menü konfigurieren.

extern ENUM_TIMEFRAMES TF = PERIOD_CURRENT;// Wählt den Zeitrahmen extern int period = 8;// DeMarker-Periode extern double lt = 0.01;// Lots extern int sl = 100;// Stop-Loss extern int tp = 100;// Take-Profit extern double OB = 0.7;// Überverkauft extern double OS = 0.3;// Überkauft extern bool OPENBAR = false;// Trading beim Öffnen der neuen Kerze
Hier ist der Clou: Ich teile die Variablen in drei Teile auf:
1. Daten | Zeitrahmen
2. Order
3. Paar
//+------------------------------------------------------------------+ //-- Zeitrahmen | Indikator double dmrk[5]; int signal =-1;//-- 0.kaufen 1.verkaufen int hold = 0; //-- Order int ticket =0; double lot =0.0; int typ =-1; //-- Paar datetime t1=0; bool newbar=false; bool entry =false; //+------------------------------------------------------------------+
In der Funktion OnInit() initialisiere ich das DeMarker-Indikator-Array und überprüfe die minimale Lot-Größe, die je nach Broker-Anforderungen erforderlich ist.
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnInit() { ArrayInitialize(dmrk,0.0); //--- const double test_lot = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN); if(lt<test_lot) lt = test_lot; }
In der Funktion OnTick() berechne ich den Indikator und bestimme die Kauf- und Verkaufssignale.
//--------------------------------------------------------------------------- signal = -1; //--------------------------------------------------------------------------- //--- Berechnung for(int i=0; i<ArraySize(dmrk); i++) { dmrk[i] = iDeMarker(Symbol(),TF,period,i); } //--- if(dmrk[1] > OB) { hold = 1;//set } else if(dmrk[1] < OS) { hold = -1;//set } else { hold = 0;//reset } if(hold == 1) { if(dmrk[0]<OB && dmrk[1]>OB) { signal = OP_SELL; } } if(hold == -1) { if(dmrk[0]>OS && dmrk[1]<OS) { signal = OP_BUY; } }
Um ein Kauf- oder Verkaufssignal zu eröffnen...
//--------------------------------------------------------------------------- if(signal != -1) if(newbar==true) if(entry==false)//Tür offen { //--- entry =true;//set //--- if(signal == OP_BUY) { ticket = OrderSend(Symbol(),OP_BUY,lt,Ask,(int)((Ask-Bid)/Point, sl>0?Bid-sl*Point:0.0, tp>0?Bid+tp*Point:0.0, EAName+":signal= "+IntegerToString(signal)+":hold= "+IntegerToString(hold), EANumber, 0, clrBlue); signal=-1; //hold =0; }//reset }//reset signal }
Und für das Schließen...
if(entry == true) // Schließen { if(OrderSelect(ticket,SELECT_BY_TICKET)) { if(OrderCloseTime() == 0)//-- Order aktiv { /* todo Bedingung zum Schließen */ //entry = false; } //else if(OrderCloseTime() != 0)//-- geschlossen durch 1. manuell 2. sl/tp 3. ea { entry = false;//reset entry } } }


연관 포스트
- So integrierst du hochkarätige Wirtschaftsdaten in deinen EA für MetaTrader 4
- Währungsstärke: Der perfekte Expert Advisor für MetaTrader 4
- RRS Impulse – Dein Trading-Partner für MetaTrader 4
- Visuelle Auftragsbearbeitung: Ihr EA für MetaTrader 4
- Der perfekte Expert Advisor für präzises Trading: Orders zu festgelegten Zeiten öffnen und schließen