Traders Forex Beilage: ATR Levels
Hallo zusammen,
in der letzten Ausgabe der TRADERS` gab es eine sehr interessante Beilage zum Forex-Handel. In einem Abschnitt geht es da um sog. ATR-Levels. Aus meinem Chartprogramm kenne ich den ATR-Indikator aber von ATR-Levels habe ich zuvor noch nie gehört und habe auch im Internet keine Artikel darüber gefunden.
Die ATR-Levels sollen genau wie die Pivot-Linien in den Chart eingezeichnet werden und bilden genau wie die Pivots Unterstützungen und Widerstände. Das würde ich auch gern probieren, allerdings weiß ich nicht wie diese Levels berechnet werden.
Kann mir da jemand auf die Sprünge helfen?
@ lifra7 [#1]
Vereinfacht gesagt: Man nimmt die durschnittliche Handelsspanne der letzten x Handelstage, dividiert diese Spanne zum Beispiel durch zwei und addiert/subtrahiert auf den heutigen Eröffnungskurs.
Google mal mit dem Namen des Russen. Da findest Du einen Code.
Es meine gehört zu haben, daß es in Deutschland eine kleine Gruppe von Tradern gibt, die dieses Konzept wesentlich verfeinert haben.
Diese Leute sind wahrscheinlich noch verschwiegener und erfolgreicher als es die Turtles je waren. In fünfundzwanzig Jahren kommt das Buch auf den Markt :-)
Leider ist auch unter dem Namen (Mike Ischenko) bei Google nichts zu finden.
Wenn ich die Spanne von x Handelstagen addiere u. subtrahiere, erhalten ich zwei Linien im Chart. Aber auf Seite 26/Bild 4 der Forex-Beilage sind z.B. drei Linien eingezeichnet.
Wenn ich die Beschriftung der Linien betrachte [ ATR(t) sup: 1.3089 ] scheint es so, als wenn das Tool im MetaTrader enthalten ist.
@ lifra7 [#3]
Zum Metatrader gibt es tausende Indikatoren, Systeme etc., meist sind sie irgendwo im Net zu finden yahoo user groups etc, vielleicht auch da: http://www.forexmt4.com/mt_yahoo/
Hier der Code dazu:
#property copyright "Mike Ischenko"
#property link "mishanya_fx@yahoo.com"
#property indicator_chart_window
extern int ATRPeriod = 10;
double rates_d1[][6];
double H1, H2, H3, H4, H4t, H5, L5, L4, L4t, L3, L2, L1, halfatr, fullatr;
int timeshift=0, timeshifts=0, beginner=0;
int periods;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
ObjectDelete("H4atr line");
ObjectDelete("L4atr line");
ObjectDelete("L4atr label");
ObjectDelete("H4atr label");
ObjectDelete("H4tatr line");
ObjectDelete("L4tatr line");
ObjectDelete("L4tatr label");
ObjectDelete("H4tatr label");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//if (counted_bars<1) return(0);
switch (Period())
{
case PERIOD_M1: {timeshifts=60; beginner=Hour()*60;} break;
case PERIOD_M5: {timeshifts=300; beginner=Hour()*12;} break;
case PERIOD_M15: {timeshifts=900; beginner=Hour()*4;} break;
case PERIOD_M30: {timeshifts=1800; beginner=Hour()*2;} break;
case PERIOD_H1: {timeshifts=3600; beginner=Hour()*1;} break;
case PERIOD_H4: {timeshifts=14400; beginner=Hour()*0.25;} break;
case PERIOD_D1: {timeshifts=86400; beginner=Hour()*0;} break;
}
timeshift=timeshifts*24;
if(Period() > 86400)
{
Print("Error - Chart period is greater than 1 day.");
return(-1); // then exit
}
ArrayCopyRates(rates_d1, Symbol(), PERIOD_D1);
//beginner=Hour();
fullatr = iATR(Symbol(), PERIOD_D1, ATRPeriod, 1);
L4 = rates_d1[1][3] - fullatr;
H4 = rates_d1[1][2] + fullatr;
L4t = rates_d1[0][3] - fullatr;
H4t = rates_d1[0][2] + fullatr;
halfatr = fullatr * 0.5;
H1 = H4+1.5*fullatr;
H2 = H4+fullatr;
H3 = H4+halfatr;
L3 = L4-halfatr;
L2 = L4-fullatr;
L1 = L4-1.5*fullatr;
if (ObjectFind("H4atr Line") != 0)
{
ObjectCreate("H4atr line",OBJ_HLINE,0,Time[0],H4);
ObjectSet("H4atr line",OBJPROP_COLOR,Yellow);
ObjectSet("H4atr line",OBJPROP_WIDTH,1);
}
else
{
ObjectMove("H4atr line", 0,Time[0],H4);
}
if (ObjectFind("L4atr Line") != 0)
{
ObjectCreate("L4atr line",OBJ_HLINE,0,Time[0],L4);
ObjectSet("L4atr line",OBJPROP_COLOR,Yellow);
ObjectSet("L4atr line",OBJPROP_WIDTH,1);
}
else
{
ObjectMove("L4atr line", 0,Time[0],L4);
}
if (ObjectFind("H4tatr Line") != 0)
{
ObjectCreate("H4tatr line",OBJ_HLINE,0,Time[0],H4t);
ObjectSet("H4tatr line",OBJPROP_COLOR,Yellow);
ObjectSet("H4tatr line",OBJPROP_WIDTH,1);
}
else
{
ObjectMove("H4tatr line", 0,Time[0],H4t);
}
if (ObjectFind("L4tatr Line") != 0)
{
ObjectCreate("L4tatr line",OBJ_HLINE,0,Time[0],L4t);
ObjectSet("L4tatr line",OBJPROP_COLOR,Yellow);
ObjectSet("L4tatr line",OBJPROP_WIDTH,1);
}
else
{
ObjectMove("L4tatr line", 0,Time[0],L4t);
}
if(ObjectFind("H4atr label") != 0)
{
ObjectCreate("H4atr label", OBJ_TEXT, 0, Time[0]+timeshift, H4);
ObjectSetText("H4atr label", "ATR(y) res: " + DoubleToStr(H4,4), 8, "Verdana", Yellow);
}
else
{
ObjectMove("H4atr label", 0, Time[0]+timeshift, H4);
}
if(ObjectFind("L4atr label") != 0)
{
ObjectCreate("L4atr label", OBJ_TEXT, 0, Time[0]+timeshift, L4);
ObjectSetText("L4atr label", "ATR(y) sup: " + DoubleToStr(L4,4), 8, "Verdana", Yellow);
}
else
{
ObjectMove("L4atr label", 0, Time[0]+timeshift, L4);
}
if(ObjectFind("H4tatr label") != 0)
{
ObjectCreate("H4tatr label", OBJ_TEXT, 0, Time[0]+timeshift, H4t);
ObjectSetText("H4tatr label", "ATR(t) res: " + DoubleToStr(H4t,4), 8, "Verdana", Yellow);
}
else
{
ObjectMove("H4tatr label", 0, Time[0]+timeshift, H4t);
}
if(ObjectFind("L4tatr label") != 0)
{
ObjectCreate("L4tatr label", OBJ_TEXT, 0, Time[0]+timeshift, L4t);
ObjectSetText("L4tatr label", "ATR(t) sup: " + DoubleToStr(L4t,4), 8, "Verdana", Yellow);
}
else
{
ObjectMove("L4tatr label", 0, Time[0]+timeshift, L4t);
}
return(0);
}
//+------------------------------------------------------------------+
Schaut dann so aus:
...Chande und Kroll beschreiben in Ihrem Buch "The new technical trader" (aus dem Jahre 1994) diesen Ansatz ebenfalls (ab S.172). Die Levels beschreiben sie schlichtweg so:
ATR, basierend auf einem 10-Perioden-Durchschnitt
H1 = C + ATR
H2 = C + 2*ATR
L1 = C - ATR
L2 = C - 2*ATR
Den Average für den ATR, wie auch die Levels kann man sich natürlich auch nach eigenem Gusto zusammenbasteln...
ciao,
zentrader
@ goso [#6]
danke fuer den Code und den Screenshot. Support und Resistance orientieren sich in dem Beispiel stark an den ATR-Levels. Ich verwende Metatrader nicht und kann daher nicht selbst pruefen, ob dieses Zusammentreffen eher Zufall ist oder nicht. Waerst du bitte so nett und siehst dir mal ein par Charts diesbezueglich an?
Danke
Bueschl
Ich werde im Laufe des Tages ein paar Charts posten.
Als Vergleich der gestrige Tag im Cable mit Pivot und den daraus resultierenden S und R.
Mal sehen ob man @swingman nochmal kitzeln kann, denn der ist/war Spezialist für "Levels" der verschiedensten und besonderen Art.
Es ist gar komisch, das ATR und Pivot so gut rüberkommen. Wie Wülle schon schrieb, es gibt noch mehr "Levels", nur haben da mache Bezeichnungen/Beschreibungen sagen wir mal "allergische" Reaktionen ausgelöst weslhalb hier wohl auch nix mehr kommt. Und wenn, es zuletzt sehr schwer war, den Sarkasmus vom Inhalt zu trennen...
Wenn @R.E. hier die alten Threads als Linkreferenzen anhängt, dann findet sich dort glaube ich auch schon etwas zur ATR Nutzung.
Pivot und die daraus resultierenden S und R nutze ich für mein Trading, meines Erachtens ist das Ganze zwar eine selbsterfüllende Prophezeiung, selbstverständlich trade ich nicht blind danach - im Sinne eines mechanischen HS - aber als Entscheidungshilfen taugen die Teile auf jeden Fall.
Allerdings gibt es im FX Markt bedingt durch den 24 Stunden Handel immer die Frage um welche Zeit nehme ich den Close an, denn in Wahrheit gibt es so etwas natürlich nicht, ich vergleiche immer London und FFM Uhrzeit, meist sind da die Differenzen nicht wirklich groß, denn in der einen Stunde Zeitunterschied bewegt sich meist nicht viel.
<<Allerdings gibt es im FX Markt bedingt durch den 24 Stunden Handel immer die Frage um welche Zeit nehme ich den Close an, denn in Wahrheit gibt es so etwas natürlich nicht, ich vergleiche immer London und FFM Uhrzeit,..>>
In den MT4 typischen Brettern wird meist für die Daily-Systems als start der neuen Kerze 5 pm NY, also zZ 5pm EST genannt.
MFG
Hittfeld
@ Hittfeld [#13]
Habe ich mir auch schon angesehen, bringt aber speziell im europäischen Vormittagshandel NULL.
@ TimeTrade [#11]
"Mal sehen ob man @swingman nochmal kitzeln kann, denn der ist/war Spezialist für "Levels" der verschiedensten und besonderen Art."
Nein, nein, kitzeln lasse ich mich nicht!
Nur soviel: inzwischen bin auf einer Sonderart von dynamischen Levels gestossen (eine Spezie von Chaos-Attraktoren), die sich mit MT4 ziemlich leicht umsetzen können (bin gerade dabei). Wenn die Theorie mit der Praxis übereinstimmt (lieber umgekehrt), werde kurz darüber berichten.
@ bueschl [#8]
Ich verwende Metatrader nicht und kann daher nicht selbst pruefen, ob dieses Zusammentreffen eher Zufall ist oder nicht.
Das ist die entscheidende Frage. Man muß prüfen, ob die Levels Markov-Eigenschaft besitzen (das Erreichen der Levels ist für die weitere Kursentwicklung unbedeutend) oder nicht.
Beim Nachweis der Markov-Eigenschaft wären die Levels für die zukünftige Kursentwicklung irrelevant und man könnte, auf einem Zufallspfad wandelnd, sobald der Kurs ein ATR-Level erreicht hat, eine Münze werfen, ob man long oder short gehen soll.
Bei einigen Levels konnte ich diese für Markttechniker unangenehme Eigenschaft nachweisen.
@ TimeTrade [#11]
wenn, es zuletzt sehr schwer war, den Sarkasmus vom Inhalt zu trennen...
Man soll die Hoffnung nie aufgeben, dennoch muß man überlegen, ob es sozial opportun ist, hier über Tradingsysteme oder lieber wie Hans über "Gülcans ähh Sebastians Traumhochzeit" zu schreiben. :-)
@ goso [#14]
Habe gerade das erste mal versucht einen Inidkator in MT4 anzulegen. Aber wahrscheinlich hab ich das nicht so ganz richtig gemacht. Jetzt hats mir das Ding abgeschossen. Critical Error. Das heisst alles neu installieren. Mist.
Du könntest mir kurz Erklären wie ich da einen Indikator anlege oder mir einen Link posten. Bis dahin hab ich Metatrader vielleicht auch wieder am laufen.
Besten Dank.
@ goso [#10]
danke, hast du noch ein oder zwei Beispiel(e)?
@ SwingMan [#15]
bin schon gespannt was du da wieder rauszaubern wirst.
Gruss
Bueschl
@ bueschl [#18]
AUDUSD
EURJPY
EURUSD
GBPUSD
USDJPY
@ Juli [#17]
Ich erklär's dir später am Abend
@ goso [#20]
Gut. Bevor ich das ganze noch mal installieren muss warte ich lieber.
Merci
Zum Erklären komme ich heute nicht mehr, daher 2 Links, von wo du dir die beiden Dateien, die du für die ATR Levelsw brauchst, herunterladen kannst.
Beide Dateien ins Verzeichnis >Metatrader>experts>indicators kopieren, Metatrader neu starten, dann findest du den Indikator im Navigator im Ordner "Angepasste Indikatoren" Rechtsklick drauf, auf Chart anwenden anklicken, die Frage nach dem Erlauben des Imports von DLL bejahen, schon siehst du auf dem geöffnetem Chart.
Das Anlegen eines Indikators aus dem Code erkläre ich dir später mal.
http://www.yourfilehost.com/media.php?cat=other&file=atrlevel.mq4
http://www.yourfilehost.com/media.php?cat=other&file=atrlevel.ex4
@ goso [#22]
Danke. Hast du schon mal bemerkt ob sich die Levels während des Tages ändern.
Habe auch Alpari und bei mir sind sie etwas anders. Bei einem anderen Anbieter dann komplett.
Gruss
@ Juli [#23]
Keine Ahnung, ich schau mir die Teile nicht an, denn: "Never touch a running system", ich habe den Indi nur jetzt am Abend auf ein paar Charts angewandt um sie hier im Forum zu posten.
@ wuelle [#16]
die weitere Kursentwicklung nach Erreichen eines ATR-Levels steht bei mir nicht im Fokus. Mich würde nur interessieren, ob an den jeweiligen Levels Widerstände und Unterstützungen signifikant auftreten (z.B. für Kurszielbestimmung, Stopp-Loss im Intraday-Handel). Die Markov-Eigenschaft gilt, soweit ich mich erinnern kann, nur in größeren Zeiteinheiten.
@ bueschl [#25]
Wie würdest Du eine Unterstützung oder Widerstand statistisch überprüfen?
Verweildauer des Marktes (Anzahl der Bars) auf dem Level bzw. in einer engen Kursspanne drum herum?
Müßte doch auch mit dem Test auf Normalverteilung (Markow-Eigenschaft eines ATR-Levels) funktionieren.
Wenn der Markt z. B. von einem bestimmten Level immer wieder abprallen würde, hätten wir keine Normalverteilung auf diesem Kursniveau und man könnte somit die Markow-Eigenschaft widerlegen.
@ bueschl [#8]
Hallooooo bueschl,
das ist aber eine Freude, dass es Dich noch gibt!
Gruß
Williams