|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
@FatSpiderman Danke für Deinen Post. Er ist zwar nicht mehr sichtbar, aber ich bekam ihn per Email.
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
Zitat:
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. |
|
|||
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.
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
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--; } } //######################################### |
|
|||
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?!
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
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 |
|
|||
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!
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
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... |
|
|||
@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.
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
Lesezeichen |
|
|