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)
-   -   Kurs-Verhältnisse glätten mit Prozent (http://www.expert-advisor.com/forum/showthread.php?t=7215)

MA-EA 16.07.22 20:29

Kurs-Verhältnisse glätten mit Prozent
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo.


Hoffe mal, der Titel ist einigermaßen gut gewählt. :rolleyes:


Bin ein bisschen am Experimentieren.


Ein Ergebnis davon ist der PRdMA_OPZ_SEP_v1.mq4 Indi ( Anhang ). Kurz gesagt berechnet er das Verhältnis von PR und MA und multipliziert das dann mit dem jeweils anderen Wert. Er zeigt Trend-Beginn und -Ende an, aber anders als übliche MA-Cross-Systeme meistens mit nur 1 oder 2 Kerzen Verzögerung. :cool:


Da er in Seitwärtsphasen aber buchstäblich wie im Zick-Zack ausschlägt, würde ich gerne die Anzeigen sozusagen etwas abdämpfen. Ein Weg wär vielleicht, man rechnet die Verhältnisse in eine Art 100%-Skala um. Dann sollen die Verhältnisse aber z.B. mit 95% oder 65% oder so multipliziert werden. Oder mit 133% oder 166% oder was auch immer. Im MT4 gibts soweit ich weiß eine Art Oscillator-of-Moving-Average oder sowas in der Art. Aber ich glaube, der reagiert auch erst spät wie übliche MA-Systeme.


Bekanntlich bin ich Alles andere als nen Mathe-Experte. Also wie könnte man sowas berechnen / proggen ? :confused:


Hier der bisherige Versuch ( Anhang ). Scheint zwar im Grunde keine Fehler zu haben, aber die Werte im MT4 sind viel zu hoch oder zu klein.
Code:

//=============================================================================================================
// D E K L A R A T I O N  P R I C E
//=============================================================================================================

Pr_Hi=iHigh (NULL,NULL,i);
Pr_Op=iOpen (NULL,NULL,i);
Pr_Cl=iClose(NULL,NULL,i);
Pr_Lo=iLow  (NULL,NULL,i);

Pr_ME = ( Pr_Hi + Pr_Lo ) / 2.0;

Pr_TY = ( Pr_Hi + Pr_Cl + Pr_Lo ) / 3.0;

Pr_WE = ( Pr_Hi + Pr_Cl + Pr_Cl + Pr_Lo ) / 4.0;

// Zuweisung Price
if(Price==PRICE_HIGH    )PR=Pr_Hi;
if(Price==PRICE_CLOSE  )PR=Pr_Cl;
if(Price==PRICE_OPEN    )PR=Pr_Op;
if(Price==PRICE_LOW    )PR=Pr_Lo;
if(Price==PRICE_MEDIAN  )PR=Pr_ME;
if(Price==PRICE_TYPICAL )PR=Pr_TY;
if(Price==PRICE_WEIGHTED)PR=Pr_WE;

//=============================================================================================================
// D E K L A R A T I O N  M A
//=============================================================================================================

MA=iMA(Symbol(),Period(),MA_Period,MA_ChartShift,MA_Method,MA_Price,i);

//=============================================================================================================
// H P  D I V
//=============================================================================================================

HPdPR = ODIV(100.0// Soll dividiert werden
            ,
            PR// Wert, durch den dividiert werden soll
            );

HPdMA = ODIV(100.0// Soll dividiert werden
            ,
            MA// Wert, durch den dividiert werden soll
            );

//=============================================================================================================
// ?
//=============================================================================================================


HPPRdHPMA = ODIV(HPdPR// Soll dividiert werden
                ,
                HPdMA// Wert, durch den dividiert werden soll
                );


HPMAdHPPR = ODIV(HPdMA// Soll dividiert werden
                ,
                HPdPR// Wert, durch den dividiert werden soll
                );
               

//=============================================================================================================
// ?
//=============================================================================================================




//=============================================================================================================
// B U F F E R
//=============================================================================================================


BUF_HPdPdM_fa[i] = OMUL(HPPRdHPMA// Soll multipliziert werden
                        ,
                        Perc_Fast// Wert, der kleiner als 1.0 ist
                      );


//-------------------------------------------------------------------------------------------------------------


BUF_HPdPdM_sl[i] = OMUL(HPMAdHPPR// Soll multipliziert werden
                        ,
                        Perc_Slow//
                      );


MA-EA 19.07.22 01:28

Liste der Anhänge anzeigen (Anzahl: 2)
Hallo.


Sieht aus, als wenns nicht wirklich brauchbare Anzeigen gibt, wenn man einfach nur ( Price / MA ) * das-jeweils-nicht-Geteilte rechnet. Im OPZ-Indi wird erst 1.0 / Price und 1.0 / MA geteilt. Das wird dann * das-jeweils-nicht-Geteilte gerechnet. Aber wenn man z.B. 100% durch die Beiden teilt, sollte das doch eigentlich reichen. Oder muss vorher doch erst 1.0 / Price und MA geteilt werden?

:confused:


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