Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   ATR graphisch abbilden (http://www.expert-advisor.com/forum/showthread.php?t=6166)

MA-EA 08.08.18 00:58

Was soll das Ganze bringen? :confused:

https://admiralmarkets.de/wissen/art...den-markten-an

Wie willst Du die Vola mit nem Kanal darstellen?

Ansonsten nimm einfach nen MA auf High und einen auf Low und rechne die Abstände dazwischen aus, wenn die Vola angezeigt werden soll.

Angel 08.08.18 05:12

JA, genau, das wollte ich mal probieren. Ob es Sinn macht, sei dahingestellt, ich will es nur optisch dastellen und nicht in einer einfachen Kurve - die der mitgelieferte Indikator darstellt.

Nochmal, es geht mir vorwiegend darum, zu erlernen, wie einzelne Kerzen miteinander mittels einer Linie verbunden werden, d.h. zB die Closes. So trivial ist das nicht, MetaTrader liefert von Haus aus nicht einfach eine Funktion "Verbinde Close[85] mit Close[84]" mit einer folgenden Linie : Farbe = Rot, Dicke = x, Linienart=y usw. Das macht das Ganze unheimlich schwer. Stattdessen muss man X- (Zeit) und Y-(Preis) Koordinaten kennen und die muss man erst mühsam ausrechnen, und zwar über Sekunden seit 01.01.1970 (?) und da frage ich mich, ob es nicht einen anderen Weg gibt... Ich bin davon überzeugt, denn es gibt ja die unglaublichsten Indikatoren und die werden graphisch dargestellt und eine Raketenwissenschaft sollte dieses Russending (MT4) ja wohl nicht darstellen... :confused:;) Es geht, aber ich frage mich nur wie :confused:
Mit anderen Worten: Wenn ich mit ATR schon eine Range habe, die ich auch handeln kann indem ich den SL darauf setze, so muss ich die doch anders abbilden können als in einer Kurve... die letzten Endes ja genau so funktioniert, wie ich es haben will, nur eben nicht als Kanal sondern als Kurve....

MA-EA 08.08.18 10:41

Kannst Du Dein Gerät mal hoch laden? Von mir aus in ner PN.

Aber das Prinzip des ATR scheint eigentlich nicht für nen Kanal gedacht zu sein...

Angel 08.08.18 11:24

.... Mein Gerät...? Was für ein Gerät....?

FatSpiderman 08.08.18 11:36

Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von MA-EA (Beitrag 41351)
Kannst Du Dein Gerät mal hoch laden? Von mir aus in ner PN.

Aber das Prinzip des ATR scheint eigentlich nicht für nen Kanal gedacht zu sein...

Das Prinzip der ATR Kanäle kann sich schon für einige Bereiche eignen, z.B. setzen von TP oder nachziehen von SL, man findet auch Tradingsysteme die auf einem Breakout basieren...

FatSpiderman 08.08.18 11:53

Zitat:

Zitat von Angel (Beitrag 41350)
... "Verbinde Close[85] mit Close[84]" mit einer folgenden Linie : Farbe = Rot, Dicke = x, Linienart=y usw. Das macht das Ganze unheimlich schwer. Stattdessen muss man X- (Zeit) und Y-(Preis) Koordinaten kennen und die muss man erst mühsam ausrechnen, und zwar über Sekunden seit 01.01.1970 (?) und da frage ich mich, ob es nicht einen anderen Weg gibt...

Da muss man gar nichts rechnen.
Du solltest dich mit den Indikator-Buffer auseinandersetzten und die Funktionen SetIndexStyle() und SetIndexBuffer() machen nach der Übergabe der Werte an den Inikator-Buffer genau das, was du oben willst.

Code:


//---- buffers

double ATR_upper_1[];    //Buffer 0
double ATR_lower_1[];    //Buffer 1

//---- Input Variables

...

//+------------------------------------------------------------------+
//| Custom indicator initialization function                        |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

  SetIndexStyle(0,DRAW_LINE,ATR_1_style,ATR_1_width,ATR_1_COLOR);  //Buffer 0 (ATR_upper_1[])
  SetIndexBuffer(0,ATR_upper_1);
 
  SetIndexStyle(1,DRAW_LINE,ATR_1_style,ATR_1_width,ATR_1_COLOR);  //Buffer 1 (ATR_lower_1[])
  SetIndexBuffer(1,ATR_lower_1);
 
//---
  return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

//Code zur Berechnung des ATR (über iATR) und Übergabe der Werte an ATR_upper_1[] und ATR_lower_1[]

return(rates_total);
  }


Angel 08.08.18 12:16

Zitat:

Zitat von FatSpiderman (Beitrag 41353)
Das Prinzip der ATR Kanäle kann sich schon für einige Bereiche eignen, z.B. setzen von TP oder nachziehen von SL, man findet auch Tradingsysteme die auf einem Breakout basieren...

Jaaaaa!!! Genau so meinte ich es...!

Zitat:

Mit anderen Worten: Wenn ich mit ATR schon eine Range habe, die ich auch handeln kann indem ich den SL darauf setze, so muss ich die doch anders abbilden können als in einer Kurve... die letzten Endes ja genau so funktioniert, wie ich es haben will, nur eben nicht als Kanal sondern als Kurve....

MA-EA 08.08.18 14:19

Zitat:

Zitat von Angel (Beitrag 41352)
.... Mein Gerät...? Was für ein Gerät....?

Deinen selbstgebauten ATR-Indikator. ;) Lad mal bitte hoch.

Angel 08.08.18 14:34

Ähm... ich glaube, wir habe da aneinander vorbeigeredet...
Den gibt es noch gar nicht... sonst würde ich ja gar nicht die Frage stellen, wie es funktioniert.. :rolleyes:
.. nämlich wie ich die Closes der Kerzen miteinander verbinden kann oder noch genauer: Wie ich die ATR-Werte der jeweiligen Kerzen miteinander verbinden kann, so dass ein Kanal entsteht / abgebildet wird.... Problem ist: Ich habe die Kerze 85 und 84 und die dazugehörigen ATR-Werte. Wie verbinde ich die dann, von mir aus mit wie folgt schematisch dargestellt:

PHP-Code:

for(int i=0i<100i++) ;
ObjectCreate(0,i,OBJ_TREND,0,X-Wert der Kerze i,Y-Wert der Kerze i (nämlich der ATR-Wert), X-Wert der Kerze i-1,Y-Wert der Kerze i-1);
ObjectSetInteger(0,i,OBJPROP_RAYfalse); 
ObjectSetInteger.... blablabla.... 

Ist es nun verständlich, was ich meine? :o

MA-EA 08.08.18 15:38

Liste der Anhänge anzeigen (Anzahl: 1)
Ähm... nö. :rolleyes:

Könntest vielleicht höchstens die ATR-Formeln auf Highs und Lows berechnen...

Nen Breakout mit dem ATR? Wie soll das aussehen? Der misst doch nur, ob die Vola, genauer gesagt die Range zulegt... Scheint auch gar nicht für Signale gemacht zu sein, sondern nur um eben die Vola darzustellen... Wo soll die denn aus- oder einbrechen?

Um klare Signale für nen EA zu bekommen, könnte man vielleicht einen ATR auf 7 und einen Weiteren auf 14 stellen. Wenn dann der Schnelle den Langsamen kreuzt... Siehe MAs :D oder MACD oder Stochastik und was es Alles gibt...

Aber ich versuch zur Zeit selber nebenher nen eigenen Indi zu proggen. Versteh aber nur Bahnhof. :(


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:15 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum