Multi-Timeframe-Indikatoren - Seite 108

 

mtf-Piste

siehe hier alpha24seven

https://www.mql5.com/en/forum/173574

 

Danke Lodol2

Tut mir leid, dass ich das übersehen habe. Danke, dass Sie mich darauf aufmerksam gemacht haben.

Ich hatte einige Probleme beim Kompilieren. Ich habe diesen Fehler noch nie gesehen. Irgendwelche Ideen?

Siehe Grafik

Ich danke Ihnen.

Dateien:
 

Ich bin mit allem einverstanden, was Sie gesagt haben, aber ich glaube, ich habe mich nicht klar genug ausgedrückt.

Die Keris-Formel sieht in Echtzeit nicht so aus (ohne die Charts zu aktualisieren!), sie sieht eher wie diese gelbe Linie aus; wenn Sie die Charts aktualisieren, ja, dann sieht alles gut aus - aber warum verwenden wir dann nicht einfach einen zweiten Chart mit dem höheren Zeitrahmen... und bestätigen, dass sich der Indikator nur im höheren Zeitrahmen bewegt?

In dem Moment, in dem Sie einen mtf-Indikator auf einem niedrigeren Zeitrahmen darstellen, haben Sie eine andere Möglichkeit, einige Daten auf diesem Zeitrahmen zu mitteln (und nicht auf einem höheren Zeitrahmen). es wird nie wie das Original aussehen - aber es kann angenähert werden. die Frage ist also, wie man die beste Formel für die beste Annäherung findet? und ich denke, das beantwortet Ihre Frage... richtig?

mladen:
Die rote Linie ist die Annäherung an den MA, den Sie vorschlagen.

Magenta ist die Keris-Formel für MTF MA

Die goldene Linie sind die realen Werte eines höheren Zeitrahmens MA auf einem niedrigeren Zeitrahmen

Wie Sie sehen können, gibt es kaum einen einzigen korrekten Wert des aproximierten Wertes über einen Zeitraum, während die Formel von Keris mindestens einen korrekten Wert pro Zeitraum liefert. Wie auch immer, die Formel für die Approximation in Metatrader würde lauten:

MAperiod=MAperiod*TimeFrame/Period()

Wenn Sie versuchen, diese Näherung auf Indikatoren anzuwenden, die von gleitenden Durchschnitten abgeleitet sind (z.B. MACD), werden Sie große, und ich meine GROSSE Unterschiede feststellen (ich habe einen Unterschied von 7-8% bei einem 4H MACD auf einem 1H Zeitrahmen gesehen)

Eine Gegenfrage: Was denken Sie, wie viele Leute haben verschiedene Ansätze für Multi-Time-Frame-Indikatoren ausprobiert?
 

Fehler im Code

Ich habe es herausgefunden. Dieser zusätzliche Code wurde in der Datei gelassen - am Ende. Einfach löschen, kompilieren und voila'.

Ausgezeichneter Indikator übrigens.

---

/*

void drawLine(double lvl,string name, color Col )

{

ObjectDelete(name);

ObjectCreate(name, OBJ_HLINE, WindowFind(name), Time[0], lvl,Time[0], lvl);

ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);

ObjectSet(name, OBJPROP_COLOR, Col);

ObjectSet(name,OBJPROP_WIDTH,1);

}

---

 

...

Die gelbe Linie ist der "echte MTF" gleitende Durchschnitt

Es besteht keine Notwendigkeit, einen der Indikatoren auf dem Bild zu "aktualisieren".

Was den Rest betrifft, lesen Sie bitte diesen Beitrag noch einmal

Mit freundlichen Grüßen

mladen

Scrat:
Ich bin mit allem einverstanden, was Sie gesagt haben, aber ich glaube, ich habe mich nicht klar genug ausgedrückt.

Die Keris-Formel sieht in Echtzeit nicht so aus (ohne die Charts zu aktualisieren!), sie sieht eher wie diese gelbe Linie aus; wenn Sie die Charts aktualisieren, ja, dann sieht alles gut aus - aber warum verwenden wir dann nicht einfach einen zweiten Chart mit dem höheren Zeitrahmen... und bestätigen, dass sich der Indikator nur auf dem höheren Zeitrahmen bewegt?

In dem Moment, in dem Sie einen mtf-Indikator auf einem niedrigeren Zeitrahmen darstellen, haben Sie eine andere Möglichkeit, den Durchschnitt einiger Daten auf diesem Zeitrahmen (und nicht auf einem höheren Zeitrahmen) zu ermitteln. es wird nie wie das Original aussehen - aber es kann angenähert werden. die Frage ist also, wie man die beste Formel für die beste Annäherung findet? und ich denke, das beantwortet Ihre Frage... richtig?
 

Brauche Mtf für diesen Indi

Hallo zusammen,

Ich wollte schon immer die Möglichkeit haben, Indikatoren aus verschiedenen Zeitrahmen in meinem Chart darzustellen

//+------------------------------------------------------------------+

//| Fisher_m11.mq4 |

//| Copyright ฉ forexjr

//| Index von /cam06/fisher |

//+------------------------------------------------------------------+

#property copyright "Copyright ฉ 23.07.2006 MartinG "

#property link "http://home.arcor.de/cam06/fisher"

#property indicator_separate_window

//#property indicator_minimum -1

//#eigenschaft indicator_maximum 1

#eigenschaft indicator_buffers 3

#eigenschaft indicator_color2 Königsblau

#eigenschaft indicator_color3 Rot

#Eigenschaft indicator_width2 0.5

#property indicator_width3 0.5

int LeftNum1=56;

int LinksZahl2=56;

extern int RangePeriods=35;

extern double PriceSmoothing=0.3; // =0.67 bei Fisher_m10

extern double IndexGlättung=0,3; // =0,50 bei Fisher_m10

string ThisName="Fisher_kuskus";

int DrawStart;

//---- Puffer

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

//+------------------------------------------------------------------+

int init()

{

//---- Indikatoren

IndikatorPuffer(4);

SetIndexLabel(0, "Star");

SetIndexStyle(0,DRAW_NONE);

SetIndexPuffer(0,ExtMapPuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,ExtMapBuffer4);

string Text=ThisName;

Text=Text+" (rPeriods "+RangePeriods;

Text=Text+", pGlättung "+DoubleToStr(PreisGlättung,2);

Text=Text+", iGlättung "+DoubleToStr(IndexGlättung,2);

Text=Text+") ";

IndicatorShortName(Text);

SetIndexLabel(1,NULL);

SetIndexLabel(2,NULL);

DrawStart=2*RangePeriods+4; // DrawStart= BarNumber berechnet von links nach rechts

SetIndexDrawBegin(1,DrawStart);

SetIndexDrawBegin(2,DrawStart);

if (PreisGlättung>=1,0)

{

PreisGlättung=0,9999;

Alert("Fish61: PriceSmothing Faktor muss kleiner 1 sein!");

}

if (Preisglättung<0)

{

PreisGlättung=0;

Alert("Fisch61: Preisglättungsfaktor darf nicht negativ sein!");

}

if (IndexGlättung>=1.0)

{

IndexGlättung=0,9999;

Alert("Fish61: Preisglättungsfaktor muss kleiner 1 sein!");

}

if (IndexGlättung<0)

{

IndexGlättung=0;

Alert("Fish61: Preisglättungsfaktor darf nicht negativ sein!");

}

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Funktion zur Deinitialisierung des Indikators |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

if (Bars<DrawStart)

{

Alert("Fish84: Nicht genügend Bars geladen, um FisherIndicator mit RangePeriods=",RangePeriods) zu berechnen;

return(-1);

}

//----

int counted_bars=IndicatorCounted();

if (gezählte_Balken<0) return(-1);

if (gezählte_Balken>0) gezählte_Balken--;

//----

int Position=Balken-gezählte_Balken; // Position = BalkenPosition von rechts nach links berechnet

int LeftNum1=Balken-Position; // wenn mehr Balken geladen werden, ändert sich die Position eines Balkens, aber nicht seine LeftNum

if (LeftNum1<RangePeriods+1)Position=Bars-RangePeriods-1;

while(Position>=0)

{

CalculateCurrentBar(Position);

Position--;

}

//----

return(0);

}

//+------------------------------------------------------------------+

//| Funktion zur Berechnung eines einzelnen Balkens

//+------------------------------------------------------------------+

int CalculateCurrentBar(int pos)

{

double LowestLow, HighestHigh, GreatestRange, MidPrice;

double PriceLocation, SmoothedLocation, FishIndex, SmoothedFish;

//----

LowestLow = Low[Lowest(NULL,0,MODE_LOW,RangePeriods,pos)];

HighestHigh = Hoch;

if (HighestHigh-LowestLow<0.1*Point)HighestHigh=LowestLow+0.1*Point;

GreatestRange=HighestHigh-LowestLow;

MidPrice = (High[pos]+Low[pos])/2;

// PreisPosition im aktuellen Bereich

if (GreatestRange!=0)

{

PriceLocation=(MidPrice-LowestLow)/GreatestRange;

PreisLage= 2.0*PreisLage - 1.0; // -> -1 < PreisLage < +1

}

// Glättung von PriceLocation

ExtMapBuffer4[pos]=PreisGlättung*ExtMapBuffer4[pos+1]+(1.0-PreisGlättung)*PreisLage;

GeglättetePosition=ExtMapBuffer4[pos];

if (SmoothedLocation> 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird

if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird

// FisherIndex

if(1-GeglätteteOrtung!=0) FishIndex=MathLog((1+GeglätteteOrtung)/(1-GeglätteteOrtung));

else Alert("Fisher129: Unerlaubter Zustand bei Bar Nummer ",Bars-pos);

// Glättung des FisherIndex

ExtMapBuffer1[pos]=IndexGlättung*ExtMapBuffer1[pos+1]+(1.0-IndexGlättung)*FishIndex;

if (Bars-pos<DrawStart)ExtMapBuffer1[pos]=0;

SmoothedFish=ExtMapBuffer1[pos];

if (GeglätteterFisch>0) // Aufwärtstrend

{

ExtMapBuffer2[pos]=GeglätteterFisch;

ExtMapBuffer3[pos]=0;

}

sonst // sonst Abwärtstrend

{

ExtMapBuffer2[pos]=0;

ExtMapBuffer3[pos]=SmoothedFish;

}

//----

return(0);

}

//+------------------------------------------------------------------+

danke

 
mladen:
Leute, lasst uns ernst machen

Ich bin ernst mladen...

Ich bin ein Neuling und kein Programmierer, vielleicht ist der Weg von Scrat nicht perfekt, aber vielleicht kann ich ihn nutzen. Ich werde es ausprobieren. Wenn es nützlich ist, werde ich es benutzen. Wenn nicht, werde ich wieder nach einem anderen tollen Weg oder einem anderen Indikator suchen.

Ich habe schon einmal Codersguru über eine ähnliche Sache gefragt.

Meine Frage an ihn war, wenn ich 1 EMA in 30M TF verwende, dann in 1M TF muss es 30 EMA sein.

Und er sagte, es sei nicht so. Aber ich war nicht zufrieden, vielleicht gibt es einen anderen Weg, so finde ich es hier. Aber wenn es nicht nützlich ist, ist es in Ordnung für mich... . Wenigstens weiß ich, dass das Ergebnis stimmt.

BTW, danke für den neuesten RSIOMA mladen, ich mag es sehr, und danke an fxbs und Kalenzo auch, für diesen tollen Indikator.

Mit freundlichen Grüßen,

IIN

 

Das Problem ist folgendes:

Die Idee mit den MAs ist wahrscheinlich die älteste Idee der technischen Analyse.

Ich stimme zu, dass Orte wie TSD Orte für den Austausch von Ideen und Wissen sind.

Aber bitte niemand sollte versuchen, es auf diese Weise zu tun:

Ich habe mich nur gefragt, ob jemand von euch jemals daran gedacht hat, eine Korrespondenz zwischen demselben Indikator auf einem höheren und einem kleineren tf zur gleichen Zeit zu erstellen....

Komm schon, was zur Hölle versuchen wir hier überhaupt zu tun?

Ich hoffe, dass ich mich jetzt klar ausgedrückt habe.

viele Grüße

mladen

iinzall:
Ich bin ernst mladen...

Ich bin ein Neuling und kein Programmierer, vielleicht ist der Weg von Scrat nicht perfekt, aber vielleicht kann ich ihn nutzen. Ich werde es ausprobieren. Wenn es nützlich ist, werde ich es benutzen. Wenn nicht, werde ich wieder nach einem anderen tollen Weg oder einem anderen Indikator suchen.

Ich habe schon einmal Codersguru über eine ähnliche Sache gefragt.

Meine Frage an ihn war, wenn ich 1 EMA in 30M TF verwende, dann in 1M TF muss es 30 EMA sein.

Und er sagte, es sei nicht so. Aber ich war nicht zufrieden, vielleicht gibt es einen anderen Weg, so finde ich es hier. Aber wenn es nicht nützlich ist, ist es in Ordnung für mich... . Wenigstens weiß ich, dass das Ergebnis stimmt.

BTW, danke für den neuesten RSIOMA mladen, ich mag es sehr, und danke an fxbs und Kalenzo auch, für diesen tollen Indikator.

Mit freundlichen Grüßen,

IIN
 

Also gut, ich bin offiziell dumm und habe gerade jeden in diesem Thread beleidigt. habe ich dieses Mal alles richtig gemacht?

Ich bitte um Entschuldigung.

mladen:
Das Problem ist folgendes:

Die Idee mit den MAs ist wahrscheinlich die älteste Idee der technischen Analyse.

Ich stimme zu, dass Orte wie TSD Orte für den Austausch von Ideen und Wissen sind.

Aber bitte niemand sollte versuchen, es auf diese Weise zu tun:

Kommt schon, was zur Hölle versuchen wir hier überhaupt zu tun?

Ich hoffe, dass ich mich jetzt klar ausgedrückt habe

Mit freundlichen Grüßen

mladen
 

Weiß jemand, wo diese MTF-Indizes sind?

Ich habe überall nach MTF-Versionen von ihnen gesucht. Weiß jemand Bescheid oder hat er sie gesehen?

Ich danke Ihnen.

Dateien: