Beispiele von Handelssytemen EMA1Der Preis schneidet den exponentiellen gleitenden Durchschnitt und generiert eine Kaufs- bzw. Verkaufsorder.
strategy sample_ema1; input period = 10, lots = 1; vars ma(series); begin ma := ema(close, period); if crossup (close, ma) then buy(lots); if crossdown(close, ma) then sell(lots); end. EMA2Zwei exponentiell gleitende Durchschnitte kreuzen sich und generieren eine Kaufs- bzw. Verkaufsorder. strategy sample_ema2; input period1 = 18, period2 = 30 , lots = 1; vars ma1(series), ma2(series); begin ma1 := ema(close, period1); ma2 := ema(close, period2); if crossup (ma1, ma2) then buy(lots); if crossdown(ma1, ma2) then sell(lots); end. Crossing MADiese Strategie kauft beim Kreuzen der gleitenden Durchschnitte (Moving Averages). Zusätzlich können der maximale Verlust und Gewinn bestimmt werden. strategy crossing_ma; input lots=1,period1=5,period2=10, maxloss=100,maxprofit=100;
vars currentbar(number),ma1(series),ma2(series);
begin
currentbar := back(close); ma1 := ema(close,period1); ma2 := ema(close,period2);
if currentbar <= front(close) + 25 then return; {exit if not enough data}
if crossup(ma1,ma2) then begin if short()then exitshort(); buy(lots); end;
if crossdown(ma1,ma2) then begin if long()then exitlong(); sell(lots); end; if (fpl()<=-maxloss) then begin if long()then exitlong(); if short()then exitshort(); end; if (fpl()>=maxprofit) then begin if long()then exitlong(); if short()then exitshort(); end; end. DMI ADXR Diese Strategie erzeugt Signale nach dem DMI ADXR Indikator
strategy sample_dmi_adxr; input period = 14, lots = 1; vars pdi(series), mdi(series), adxr(series), p1(number), p2(number), m1(number), m2(number); begin if (back(close) < 100) or (period <= 0) then return;
Directional_Movement(period); Directional_Movement_ADXR(period); pdi := Directional_Movement.line_plus; mdi := Directional_Movement.line_minus; adxr := Directional_Movement_ADXR.line;
p1 := pdi[back(pdi) - 1]; p2 := pdi[back(pdi)];
m1 := mdi[back(mdi) - 1]; m2 := mdi[back(mdi)];
if (adxr[back(mdi)] >= 25) then begin if (p1 >= m1) and (p2 < m2) then sell(lots); if (p1 <= m1) and (p2 > m2) then buy(lots); end; end.
|
|