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)
-   -   Steigung einer MA (http://www.expert-advisor.com/forum/showthread.php?t=6049)

Angel 20.03.18 23:15

Steigung einer MA
 
So, nun habe ich ein Problem: Ich möchte den Steigungswinkel einer MA ermitteln. Nun gibt es im MT4 ja nur die Funktion iMA, anhand derer man den Wert der MA ermitteln kann. Nur: Wie gehe ich n-Baklen zurück? Eigentlich trivial, an der Umsetzung scheitert es mal wieder. Aus dem Timeframe der M15 betrachtet, sieht eine MA im H1 sehr eckig aus. Das bedeutet, es gibt pro Steigung 2 Werte: MA0 (die aktuelle) und MA1(die vorangegangene). Die Richtung der Steigung wollen wir mal nicht betrachten, denn diese zu unterscheiden und programmtechnisch umzusetzen ist in der Tat trivial. Die kleinste Zeiteinheit für die MAs sind die Minuten-Bars. Bei H1 wären dies 60 Bars und H4 240 Bars, bei M15 entsprechend 15 Bars usw.
Also, im H1 sei der Tangens des Winkel alpha die Differenz (MA(Aktuell)-MA(Vorangegangen))/60
PHP-Code:

TangensAlpha=(((iMA(NULL,timeframe,Periode,0,MA-Method,applied_price,1))-(iMA(NULL,timeframe,Periode,0,MA-Method,applied_price,0)))/60); 

Dies wird mittels der Funktion
PHP-Code:

Alpha MathArctan(TangensAlpha); 

in den Winkel bzw. die Seigung umgewandelt. Nur: Das Ergebnis liegt im MT4 in Rad ein. Man benötigt es jedoch als "DEG".

Hat jemand eine Idee?

Angel 21.03.18 01:22

So, nun fand ich heraus, dass im MT4 die Bogenmaße in Rad vorliegen, d.h. in Grad umzuwandeln, dazu muss man den Wert mit 180 multiplizieren und durch PI teilen.
Lange Rede, kurzer Sinn:
Die Funktion zur Berechnung der aktuellen Steigung in H4 lautet bei fallenden MA (denn zur Identifikation einer pos. oder neg. Steigung benötigt es noch eines extra-Schrittes, der aber an diesem Problem hier vorbeigeht und wenig Arbeit bedeutet):
PHP-Code:

 Alpha=(MathArctan((100000*((iMA(NULL,timeframe,Periode,0,MA-Method,applied_price,1))-(iMA(NULL,timeframe,Periode,0,MA-Method,applied_price,0))))/240))*180/PI

Das mit den Klammern nervte unheimlich, weil man schnell durcheinander kommt :-/
Aber ich denke, es hat sich gelohnt :-)

So, nun betrachtete ich nur die AKTUELLE Steigung und konnte mit "Shift" arbeiten. Um weiter zurückliegende Steigungen zu betrachten, kann man "Shift" sicher mit einer Variablen versehen?! Ich werde es ausprobieren und nachberichten!

P.S.: Wer sich wundert, dass die Steigungen doch erheblich von der Darstellung des MT4 abweichen: Die Darstellung gerade in höheren Zeitebenen ist stark verzerrt. Nachvollziehbar wird das Ganze, wenn man eine MA des H4 aus dem Blickwinkel zB von M15 betrachtet...

Angel 21.03.18 01:34

@ Admin / Webmaster
Mit Schrecken stellte ich fest, dass ich hier im Bereich "Programmierung MQL5" gelandet bin.
Könnt ihr den Threat in "Programmierung MQL4" verschieben oder kopieren?
Ich gehe davon aus, dass die Thematik grunsätzlich auch für MQL5 interessant ist, jedoch kann ich nur MQL4 - bzw. mühe mich damit ab... :-/


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