Hallo zusammen,
als Anfänger ist es mir mithilfe eines Videotutorials endlich gelungen einen EA zu schreiben. Dieser nutzt zum Einstieg 2 Gleitende Durschnitte die sich kreuzen.
Gerne würde ich aber noch einen 3. gleitenden Durchschnitt mit einbeziehen.
Hier stehe ich dann aber vor dem Problem dass der EA gar nicht oder ab nur sehr selten handelt, obwohl sich die Gleitenden Durchschnitte mehrmals schneiden.
Anbei der Code:
Code:
if(timestamp == iTime(Symbol(),Timeframe,0)) return;
timestamp = iTime(Symbol(),Timeframe,0);
double maFast = iMA(Symbol(),Timeframe,PeriodsMAFast,0,MethodMAFast,PRICE_CLOSE,1);
double maSlow = iMA(Symbol(),Timeframe,PeriodsMASlow,0,MethodMASlow,PRICE_CLOSE,1);
double maSlower = iMA(Symbol(),Timeframe,PeriodsMASlower,0,MethodMASlower,PRICE_CLOSE,1);
double maFastLast = iMA(Symbol(),Timeframe,PeriodsMAFast,0,MethodMAFast,PRICE_CLOSE,2);
double maSlowLast = iMA(Symbol(),Timeframe,PeriodsMASlow,0,MethodMASlow,PRICE_CLOSE,2);
double maSlowerLast = iMA(Symbol(),Timeframe,PeriodsMASlower,0,MethodMASlower,PRICE_CLOSE,2);
if(maFast > maSlow && maFast > maSlower && maSlow > maSlower && maFastLast < maSlowLast && maFastLast < maSlowerLast && maSlowLast < maSlowerLast){
Print("Long");
int ticket = executeLong();
Print(IntegerToString(ticket));
}else if (maFast < maSlow && maFast < maSlower && maSlow < maSlower && maFastLast > maSlowLast && maFastLast > maSlowerLast && maSlowLast > maSlowerLast){
Print("Short");
int ticket = executeShort();
Print(IntegerToString(ticket));
}
}
Danke für Eure Hilfe!