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 06.08.18 22:22

ATR graphisch abbilden
 
Hi,

wie so oft versuche ich mich in Grundlagen, um darauf aufzubauen. Auch wenn es sich manchmal unsinnig anhört / liest, aber der Lerneffekt ist vorhanden.

Ich versuche gerade, die ATR als Channel bzw. Aquidistante im EUR-USD abzubilden. Normalerweise wird der ATR ja im Subwindow als Kurve angezeigt, ich will ihn jedoch als Channel sehen.
Nun sollte zu jeder Kerze der ATR-Wert vorhanden sein bzw. berechnet werden können, was nicht mein Problem ist.
ABER: Die Indexierung der Kerzen ist mein Problem, weil ich es nicht kann.

Meine Idee ist, die Koordinaten der ATR-Werte mit OBJ_TREND miteinander zu verbinden, so dass es ein Channel gibt.

Hat jemand hierfür bitte eine Lösung?

Leopold 06.08.18 22:48

Warum machst du keinen Indikator, damit bekommst du auch einen Channel. Soll dieser Channel so ähnlich sein wie die Bollinger Bands?

---Leopold---

Angel 06.08.18 23:15

Hi, ja ein Indikator schwebt mir ja vor.
Ja, wie die Bollinger Bands soll er aussehen. Nur die programmiertechnische Umsetzung hinsichtlich der X-Koordinaten (mein altes Problem) fällt mir schwer.

Leopold 07.08.18 08:13

Hallo,

schau mal da nach, vielleicht hilft dir das weiter:
Indikatorentwicklung, Basics am praktischen Beispiel | tradimo

---Leopold---

Leopold 07.08.18 08:15

... oder du nimmst mal den Code vom Moving Average und baust diesen um.

Aktuelle Kerze ist 0 vorige Kerze ist 1 usw.

---Leopold---

Angel 07.08.18 09:02

Meinst Du den Code des MA , der beim MT4 mitgeliefert wird?

Leopold 07.08.18 09:03

Ja genau.

---Leopold---

Angel 07.08.18 09:05

Ok, Danke, leider ruft jetzt die Arbeit, ich sehe mir die Infos zwischendrinn mal an, vorab mal vielen Dank...!

Angel 07.08.18 23:13

So, ich habe mir den Code des bei MT4 mitgelieferten "Moving Average" angesehen.
Die Indizierung leuchtet ein, die im Code taugt jedoch nicht für die Darstellung einer Kurve / Trendlinie.
Mit anderen Worten: Ich weiß wohl, wie das Open / High / Close etc. der 85ten und 84ten Kerze aussieht und wie man es ausliest, jedoch kann ich dann noch lange nicht zB das Close der 85ten mit dem der 84ten verbinden.

Mal das andere (Den Link) noch lesen...

FatSpiderman 08.08.18 00:16

Code:


//---- buffers

double ATR_upper_1[];              //Buffer der oberen Kanalgrenze
double ATR_lower_1[];              //Buffer der unteren Kanalgrenze

//---- Input Variables

...

//+------------------------------------------------------------------+
//| Custom indicator initialization function                        |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
  SetIndexStyle(0, DRAW_LINE, ATR_1_style, ATR_1_width, ATR_1_COLOR);    // ATR_upper_1[]
  SetIndexBuffer(0, ATR_upper_1);                                    // ATR_upper_1[]
 
  SetIndexStyle(1, DRAW_LINE, ATR_1_style, ATR_1_width, ATR_1_COLOR);    // ATR_lower_1[]
  SetIndexBuffer(1, ATR_lower_1);                                    // ATR_upper_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[])
  { 
....

Schau dir mal die Bedeutung der Buffer und die Funktionen SetIndexStyle und SetIndexBuffer an. Das Verbinden der Indikatorwerte wird nach der Übergabe der entsprechenden Werte an den Indikator Buffer automatisch übernommen.


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