Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
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.
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?
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
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
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:
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
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,
IINAlso gut, ich bin offiziell dumm und habe gerade jeden in diesem Thread beleidigt. habe ich dieses Mal alles richtig gemacht?
Ich bitte um Entschuldigung.
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
mladenWeiß 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.