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)

Angel 09.08.18 13:55

@FatSpiderman Danke für Deinen Post. Er ist zwar nicht mehr sichtbar, aber ich bekam ihn per Email.

MA-EA 09.08.18 15:45

Zitat:

Zitat von Angel (Beitrag 41381)
@MA-EA: Man nehme zB einen gleitenden Durchschnitt, zB 50er eines beliebigen Timeframe und trage die zu der jeweiligen Kerze zugehörige ATR mit Faktor x in positiver und negativer Richtung auf, was als Einstieg oder Ausstieg dienen mag. Diese Werte x*ATR verbinde man zu einem Kanal.
So , jetzt bin ich von A-Backen auf Kuchenbacken gekommen :confused:
Ich hätte sollen schreiben, dass ich den zu jeder Kerze gehörigen gleitenden Durchschnitt berechnen und die jeweiligen Punkte miteinander verbinden möchte. Aber dann wäre wohl der Hinweis gekommen "Dann nimm doch gleich den EA, der mitgeliefert wird" oder die Frage, ob es sich um EMA, SMA handeln soll oder sich der GD auf Close, High, Low oder elfundachtzig mal das Open oder sonstwas beziehen soll. Nun gut.

Also willst Du ATR und MA in einem Indi kombinieren oder wie? :confused:

Wenn der ATR steigt soll der Wert zur oberen Kanal-Linie dazu? Wenn er sinkt, zur Unteren oder wie? Dann berechne ihn auf High und Low.

Angel 09.08.18 15:54

Guck mal, ATR wird auch oft benutzt, um SL zu setzen. Im Prinzip ist es ja nix anderes, wenn man den SL als Trailing-Stopp auf den ATR setzt und dies graphisch darstellt: Es entsteht? Ein Kanal.
Der ATR steigt und fällt zwar, aber dies würde sich äußern in einem breiten und engen Kanal.
Aber mach es doch nicht am ATR fest, war vielleicht nur blöd gewählt. Nimm eine andere sich verändernde Größe, deren Werte ich verbinden kann.

Aber auch hier: Ich würde sagen: Schließen wir diese Diskussion.
Ich habe meine Antwort und besser wird sie wohl nicht: Arrays.

RetepM 15.08.18 17:05

ATR graphisch abbilden
 
Hi,

um einen Kanal zu bauen, braucht man Werte, an denen sich die oberen bzw. unteren Kanallinien "orientieren" können.

Für diesen Ausgangswert nehme ich einen EMA und füge hinzu oder ziehe ab den jeweilgen Wert für ATR.

Der Kanal läuft anders als die ATR-Kurve. Es sieht trotzdem spannend aus... Hier ist das Beispiel, vielleicht hilft es Dir weiter :-)

//#########################################

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrRed
#property indicator_width1 2
#property indicator_color2 clrDodgerBlue
#property indicator_width2 2
//+------------------------------------------------------------------+
string LF = "\n";
int ObjCount = 0;
int current = 0;
//+------------------------------------------------------------------+
extern int CandlePeriod = 14;
double Buffer1[];
double Buffer2[];
//+------------------------------------------------------------------+
int init()
{
if (false) ObjectsDeleteAll(); // clear the chart
IndicatorShortName("Test ATR Channel");
IndicatorDigits(0);
IndicatorBuffers(2);
SetIndexBuffer(0, Buffer1);
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID);
SetIndexBuffer(1, Buffer2);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID);
return(0);
}

int deinit()
{
if (false) ObjectsDeleteAll();
return(0);
}
//+------------------------------------------------------------------+
int start()
{
OnEveryTick();
return(0);
}
//+------------------------------------------------------------------+
void OnEveryTick()
{
int i;
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
i = Bars - counted_bars;
while (i >= 0)
{
current = i;
Buffer1[current]= iMA(NULL, PERIOD_CURRENT,CandlePeriod,0,MODE_EMA,PRICE_TYPIC AL,current) + iATR(NULL, PERIOD_CURRENT,CandlePeriod,current);
Buffer2[current]= iMA(NULL, PERIOD_CURRENT,CandlePeriod,0,MODE_EMA,PRICE_TYPIC AL,current) - iATR(NULL, PERIOD_CURRENT,CandlePeriod,current);
i--;
}
}

//#########################################

Angel 16.08.18 01:50

Hm.. ok... ich kann herauslesen, dass zu jeder Kerze i (Sozusagen die X-Koordinate) ein oberer und unterer Buffer-Wert (Also die obere und untere Y-Koordinate) errechnet wird.. nur: Wie verbinde ich die Y-Werte miteinander? Wie könnte denn solch ein Code aussehen? Ich muss ja eine Linie von i,Y(i) nach (i-1), Y(i-1) und dann von (i-1),Y(i-1) nach (i-2), Y(i-2)ziehen?!

RetepM 16.08.18 07:58

Hi,

es gäbe noch die Möglichkeit, den Code in den MetaEditor zu kopieren, als Indikator zu sichern und dann zu schauen, was er tut. Du wirst sehen, er verbindet die Linien... und zeichnet einen Kanal...

Anscheinend hast Du wenig theoretische Erfahrung mit MT4, es scheint also die Praxis ist gefragt. Der Code läuft als Indikator, glaubs mir!

Grüße

Angel 16.08.18 11:22

Hi, ja vielen Dank, in der Tat habe ich zwar schon viel Erfahrung mit MT4, nur mangelt es an der Programmierfertigkeit. Nun - wie soll man sie auch bekommen, es geht vieles sehr zäh und es fliegt einem nichts zu... Vieles muss man sich erlesen, noch mehr erfragen (Mit wenig zielführenden Antworten), da das gelesene oft nicht schlüssig oder in anderen Sprachen noch schwieriger zu verstehen ist. Aber ich will.... und ich bleibe dran.
Ja, ich werde mal versuchen, das war auch schon meine Idee, den Code in den Editor zu kopieren und zu studieren. Bisher kam ich nicht dazu - ich muss meiner Schichtarbeit nachgehen :-/ Danke erstmal!!! Bin immer gerne zu lernen und lesen bereit!

MA-EA 16.08.18 12:49

Ich kapier eines immer noch nicht:

Wie willst z.B. Bar 1 mit Bar 2 zusammenrechnen, verbinden, was das auch immer werden soll? Wenn da irgendwas mit 2 nebeneinander liegenden Kerzen gerechnet werden soll, wirst Du das wohl mit ner extra Funktion und/oder Formel machen müssen. Aber was soll das überhaupt?

Aber ich bin natürlich selber noch Anfänger... :rolleyes:

Angel 16.08.18 18:18

@MA-EA wie funktioniert denn eine EMA ? Oder sonstige Kurve? Mir geht es nicht um das was, sondern das wie, wie die Kurve programmiertechnisch umgesetzt wird.

FatSpiderman 17.08.18 00:00

Liste der Anhänge anzeigen (Anzahl: 1)
Siehe Bild

http://www.expert-advisor.com/forum/...1&d=1534456750

Angel 17.08.18 00:13

@FatSpiderman Genau so meine ich es: Vorbildliche Erläuterung - Danke!!!

Leopold 17.08.18 09:14

Das hättest du aber ab dem Beitrag #5 kennen sollen wenn du dir den Code angesehen hättest.

---Leopold---


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:14 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