Samstag, 20. April 2024, 06:45 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

tebi

unregistriert

1

Dienstag, 7. März 2006, 18:30

ADX kombiniert mit GD und z.B. Momentum

Hallo liebe User,

ich möchte folgendes kreieren:

Wenn der ADX z.B. über 20 steht, dann soll das Trendfolgemodell greifen (Kreuzung zweier GD´s)

Wenn er unter 20 steht, dann soll ein Oszillator angewendet werden.

Vorgehensweise:

Über den Formelassistenten habe ich mittels "Wenn dann ansonsten Auswertung" die Parameter eingegeben. Folgendes erscheint dann:

(If(ADX(14)>20,
calc Enter_Long:
GD(Close, 30, S)>GD(Close, 153, S);

calc Exit_Long:
GD(Close, 30, S)<GD(Close, 153, S);

, calc Enter_Long:
(Cross(MOM(Close, 37), 118, 1) = 1);


calc Exit_Long:
(Cross(MOM(Close, 37), 80, 1) = -1);
))

Einzeln funktionieren die Anwendungen, jedoch nicht über den Versuch der Kombination.
-Warum erscheint die Fehlermeldung: "Indikator "EnterLong" wird bereits für eine andere Variable benutzt"

- hat jemand einen anderen Vorschlag für mein Vorhaben?

Vielen Dank!

Snoopy

unregistriert

2

Dienstag, 7. März 2006, 19:12

RE: ADX kombiniert mit GD und z.B. Momentum

Hallo tebi,
du hast zweimal Variablen mit den gleichen Namen benutzt (Enter_Long). In der Wenn Dann Regel dürfen nur die Namen der Variablen stehen z.B. Enter_Long1, Enter_Long2 oder anstatt der Variable direkt die Formeln.

Gruß Snoopy

tebi

unregistriert

3

Dienstag, 7. März 2006, 20:42

RE: ADX kombiniert mit GD und z.B. Momentum

Danke Snoopy. Ich probiere im Moment ne Menge rum, komme aber nicht zu der Erstellung des o.a. Handelssystems.

Im Moment bin ich hier:

(If(Proc ADX über Grenzwert:
const Perioden: 1+days([15, 5, 200, 10, 50, 2, 3, I]);
const Grenze: [25, 10, 50, 20, 35, 1, 3, I];

ADX(Perioden)>Grenze
End;, GD(Close, 38, S)>GD(Close, 200, S), (Cross(MOM(Close, 20), 100, 1) = 1)))

(Für Exit_Long entsprechend umgekehrt)

Aber das scheint nicht das abzubilden, was ich mir wünsche:

ADX>20: Kauf und Verkaufssignale für Kreuzen zweier GD´s beachten

ADX<20: Kauf und Verkaufssignale für Momentum (z.B. Kauf bei Kreuzen der 100 Linie) verfolgen

Hat das schon mal jemand gemacht oder kann mir weitere Tipps geben?

Snoopy

unregistriert

4

Dienstag, 7. März 2006, 20:49

Hallo tebi,
ich stelle Morgen dazu etwas rein.
Gruß Snoopy

Snoopy

unregistriert

5

Dienstag, 7. März 2006, 22:09

tebi,
hier eine Möglichkeit

Enter Basis:
calc Enter_Long1: GD(Close, 30, S) > GD(Close, 153, S) and ADX(14) > 20;
calc Enter_Long2: Cross(MOM(Close, 37), 0, 118) = 1 and ADX(14) < 20;
Enter_Long1 or Enter_Long2


Exit Basis:
calc Exit_Long1: GD(Close, 30, S)<GD(Close, 153, S) and ADX(14) > 20;
calc Exit_Long2: Cross(MOM(Close, 37), 80, 1) = -1 and ADX(14) < 20;
Exit_Long1 or Exit_Long2

Gruß Snoopy

tebi

unregistriert

6

Mittwoch, 8. März 2006, 12:13

Vielen Dank Snoopy!!

Zwecks Optimierung der Parameter hier eine Erweiterung, die dann unter Definitionen eingetragen wird:

Const GD1:[GD38:38,20,50,21,49,2,1];
Const GD2:[GD200:200,150,240,150,240,3,1];
Const ADXLinie:[ADXLinie:20,15,25,16,24,1,1];
Const ADX:[ADX:14,10,30,11,29,1,1];
Const Moben:[Moben:100,100,120,100,119,2,1];
Const Munten:[Munten:100,80,100,81,100,2,1];
Const MPerioden:[MPerio:20,15,40,16,39,2,1];

calc Enter_Long1: GD(Close, GD1, S) > GD(Close, GD2, S) and ADX(ADX) > ADXLinie;

calc Enter_Long2: Cross(MOM(Close, MPerioden), 0, Moben) = 1 and ADX(ADX) < ADXLinie;

calc Exit_Long1: GD(Close, GD1, S)<GD(Close, GD2, S) and ADX(ADX) > ADXLinie;

calc Exit_Long2: Cross(MOM(Close, MPerioden), Munten, 1) = -1 and ADX(ADX) < ADXLinie;

tebi

unregistriert

7

Mittwoch, 8. März 2006, 13:01

Bei näherer Betrachtung der Signale ist leider zu erkennen, dass das System noch nicht funktioniert. Irgendwas passt mit der Logik noch nicht, da keine Long-Positionen auf Basis der Momentumstrategie eingegangen werden.

Ist der ADX<20 und schneidet das Momentum die Signallinie, erfolgt kein Kaufsignal (auch nicht, wenn das System nicht investiert ist).

Schade, da muss ich noch weiter dran rumtüfteln.

tebi

unregistriert

8

Mittwoch, 8. März 2006, 13:08

Zumindest habe ich schonmal die Möglichkeit gefunden, den ADX mit einem 2-GD-Modell zu kombinieren(Eingehen von Long-Positionen nur wenn ADX>20):

Const GD1:[GD1:38\fix,10,30,11,29,1,1];
Const GD2:[GD1:200\fix,10,30,11,29,1,1];
Const ADXPer:[ADX:10,5,25,6,24,1,1];
Const ADXLinie:[ADX:20,5,25,6,24,1,1];


calc Enter_Long:
GD(Close, GD1, S) > GD(Close, GD2, S) and ADX(ADXPer) > ADXLinie;

calc Exit_Long:
GD(Close, GD1, S)<GD(Close, GD2, S) or ADX(ADXPer) < ADXLinie;

Das funktioniert so einwandfrei.

Hat noch jemand eine Idee, wie das Momentum (bei ADX kleiner 20) noch hinzugefügt werden könnte?

Snoopy

unregistriert

9

Mittwoch, 8. März 2006, 15:17

Hallo tebi,
prüfe einmal die Momentum Regel alleine.

calc Enter_Long2: Cross(MOM(Close, MPerioden), 0, Moben) = 1 and ADX(ADX) < ADXLinie;

Am Besten diese Regel noch in Momentum und ADX trennen und als Chart darstellen lassen.
Wird für das Monentum und für den ADX jeweils eine 1 zum selben Zeitpunkt im Chart ausgegeben, sollte die Regel auch im Handelssystem funktionieren.

Snoopy

unregistriert

10

Mittwoch, 8. März 2006, 19:12

Hallo tebi,
ich habe mir das angeschaut. Du hast ein Fehler in der Formel
calc Enter_Long2: Cross(MOM(Close, MPerioden), 0, Moben) = 1 and ADX(ADX) < ADXLinie;
Als Signallinie steht dort 0 und als Periodeneinstellung 100 (Variable Moben).

Mit der folgende Formel funktioniert es.

Calc Enter_Long2: Cross(MOM(Close, MPerioden),Moben, 1) = 1 and ADX(ADX) < ADXLinie;

Gruß Snoopy

tebi

unregistriert

11

Mittwoch, 8. März 2006, 19:22

Danke Snoopy!!

Ich komme leider erst morgen dazu, es erneut zu testen.

tebi

unregistriert

12

Sonntag, 12. März 2006, 09:11

Hallo Snoopy,

einwandfrei, das System funktioniert!

Hier nochmal eine Kombination: ADX-2 GD-RSI:

Const GD1:[GD38:38,20,50,21,49,2,1];
Const GD2:[GD200:200,150,240,150,240,3,1];
Const ADXLinie:[ADXLinie:20,15,25,16,24,1,1];
Const ADX:[ADX:20,10,30,11,29,1,1];
Const oben:[oben:70,60,80,60,80,2,1];
Const unten:[unten:40,25,40,25,40,1,1];
Const RSIPerioden:[Perioden:14,12,20,12,20,1,1];

calc GDKauf:(GD(Close, GD1, S) > GD(Close, GD2, S)
and ADX(ADX) > ADXLinie);

calc Enter_Long1: (GD(Close, GD1, S) > GD(Close, GD2, S)
and ADX(ADX) > ADXLinie) or
((Cross(RSI(Close, RSIPerioden), unten, 1) = 1 )
and ADX(ADX) < ADXLinie);


calc Exit_Long1: (GDKauf and (GD(Close, GD1, S)<GD(Close, GD2, S)
or ADX(ADX) < ADXLinie))
or
(NOT GDKauf and (ADX(ADX) > ADXLinie or (Cross(RSI(Close, RSIPerioden), oben, 1) = -1)));

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tebi« (12. März 2006, 09:11)