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
Vielen Dank für Ihre Antwort!
Aber wie kann ich einen Winkel Linien der MA auf dem allgemeinen Diagramm wie in diesem indi Hystogramm-Code zu bekommen?
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 FireBrick
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//---- indicator parameters
extern int TimeFrame = 60;
extern int MAMode = 0;
extern int MAPeriod = 50;
extern int Price = 4;
extern double AngleTreshold = 0.25;
extern int StartMAShift = 2;
extern int EndMAShift = 0;
extern int MaxBars = 500;
string TF1;
//---- indicator buffers
double UpBuffer[];
double DownBuffer[];
double ZeroBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2 );
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,UpBuffer) &&
!SetIndexBuffer(1,DownBuffer) &&
!SetIndexBuffer(2,ZeroBuffer))
Print("cannot set indicator buffers!");
SetIndexLabel(0,"");
SetIndexLabel(1,"");
SetIndexLabel(2,"");
switch(TimeFrame)
{
case 1: TF1="M1"; break;
case 5: TF1="M5"; break;
case 15: TF1="M15"; break;
case 30: TF1="M30"; break;
case 60: TF1="H1"; break;
case 240: TF1="H4"; break;
case 1440: TF1="D1"; break;
case 10080: TF1="W1"; break;
case 43200: TF1="MN1"; break;
default: {TimeFrame = Period(); init(); return(0);}
}
IndicatorShortName("MAAngle MTF * "+TF1+" *");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| The angle for EMA |
//+------------------------------------------------------------------+
int start()
{
double fEndMA, fStartMA;
double fAngle, mFactor, dFactor;
int nLimit, i;
int nCountedBars;
double angle;
int ShiftDif;
string Sym;
if (MAMode >= 4) MAMode = 0;
if(EndMAShift >= StartMAShift)
{
Print("Error: EndMAShift >= StartMAShift");
StartMAShift = 6;
EndMAShift = 0;
}
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;
Sym = StringSubstr(Symbol(),3,3);
if (Sym == "JPY") mFactor = 100.0;
ShiftDif = StartMAShift-EndMAShift;
mFactor /= ShiftDif;
//---- check for possible errors
if(nCountedBars<0) return(-1);
//---- last counted bar will be recounted
if(nCountedBars>0) nCountedBars--;
nLimit=Bars-nCountedBars;
nLimit=MathMax(nLimit,TimeFrame/Period());
nLimit=MathMin(nLimit,MaxBars );
//---- main loop
for(i=0; i<nLimit; i++)
{
int y = iBarShift(NULL,TimeFrame,Time);
if (TimeFrame<Period()) TimeFrame=Period();
fEndMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+EndMAShift);
fStartMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+StartMAShift);
// 10000.0 : Multiply by 10000 so that the fAngle is not too small
// for the indicator Window.
fAngle = mFactor * (fEndMA - fStartMA)/2.0;
//fAngle = MathArctan(fAngle)/dFactor;
DownBuffer = 0.0;
UpBuffer = 0.0;
ZeroBuffer = 0.0;
if(fAngle > AngleTreshold)
UpBuffer = fAngle;
else if (fAngle < -AngleTreshold)
DownBuffer = fAngle;
else ZeroBuffer = fAngle;
}
return(0);
}
//+------------------------------------------------------------------+
Dieser Indikator berechnet etwas ähnliches wie die Steigung (nicht der Winkel, da der Winkel nie genau auf dem Zeitreihenchart berechnet werden kann, noch eine exakte Steigung, da der Indikator versucht, eine andere Mathematik als die für eine Steigung benötigte zu verwenden) für jeden einzelnen Balken des MA. Wenn Sie es invertieren wollen (ich vermute nur, was genau Sie wollen), werden Sie diesen Ausgangs-MA als Ergebnis erhalten (also werden Sie einen gleitenden Durchschnitt auf dem Chart erhalten).
Wenn Sie die Steigung des letzten Balkens verlängern möchten, dann können Sie etwas Ähnliches wie diesen Indikator https://www.mql5.com/en/forum/173235/page36 verwenden, der den gleitenden Durchschnitt anhand der Steigung des letzten Balkens verlängert
Dieser Indikator berechnet etwas ähnliches wie die Steigung (nicht den Winkel, da der Winkel im Zeitserien-Chart nie genau berechnet werden kann, und auch keine exakte Steigung, da der Indikator versucht, eine andere Mathematik als die für die Steigung benötigte zu verwenden) für jeden einzelnen Balken des ma. Wenn Sie ihn invertieren möchten (ich vermute nur, was genau Sie wollen), erhalten Sie als Ergebnis den Start-Ma (also einen gleitenden Durchschnitt im Chart). Wenn Sie die Steigung des letzten Balkens verlängern möchten, können Sie etwas Ähnliches wie diesen Indikator https://www.mql5.com/en/forum/173235/page36 verwenden, der den gleitenden Durchschnitt anhand der Steigung des letzten Balkens verlängert
Danke, mladen! Es ist sehr ähnlich zu dem, was ich will.
Haben Sie dasselbe mit dem MTF-Modus?
mladen..
Ich brauche Ihre Hilfe, um diesen Indikator zu ändern https://www.mql5.com/en/forum/general
Mladen,
Berechnen Sie BBands mit Daten aus einem gleitenden Durchschnitt.
Als Beispiel für die Anwendung auf Nicht-Standard-MT4-Strümpfe.
Als Beispiel für eine der Arten von gleitenden Durchschnitt von AllAverages.
Ist ein BBands, die realen Daten von durchschnittlichen verwendet.
Keine BBands SMA, mit einer anderen Art gleitender Durchschnitt.
Mladen,
Berechnung von BBands anhand von Daten aus einem gleitenden Durchschnitt.
Als Beispiel für die Anwendung auf Nicht-Standard-MT4-Strümpfe.
Als Beispiel für einen der Typen des gleitenden Durchschnitts von AllAverages.
Ist ein BBands, die realen Daten von Durchschnitt verwendet.
Kein BBands SMA, mit einem anderen Typ gleitender Durchschnitt.Antonsan
Sie können Bollinger Bands auf jeden Wert zu berechnen, wenn Sie iStdDevOnArry() Funktion verwenden.
Füllen Sie ein Array mit den Werten, die Sie verwenden möchten (z.B. die Werte eines beliebigen Durchschnitts), berechnen Sie dessen Abweichung mit iStdDevOnArray() und berechnen Sie eine Mittellinie für die Bollinger-Bänder mit iMaOnArray() (unter Verwendung desselben Arrays, das iStrDevOnArry() verwendet) und dann sind die Bänder einfach: Mittellinie + Abweichung*Multiplikator für das obere, und Mittellinie - Abweichung*Multiplikator für das untere Band
Antonsan
Hier ist ein sehr einfacher Beispielcode, den Sie als Vorlage verwenden können, um Bollinger-Bänder mit beliebigen Werten zu erstellen. Alles, was Sie tun müssen, ist, den Aufruf von iRsi() in dieser Zeile zu ersetzen:
for(i=limit; i >= 0; i--) value = iRSI(NULL,0,RsiLength,RsiPrice,i);
mit der gewünschten Funktion oder einem iCustom()-Aufruf für einen beliebigen benutzerdefinierten Indikator, der die Bollinger-Bänder für diesen Wert berechnet
person77 Eine weitere Option hinzugefügt: AllowCloseEqualOpen. damit kann man es jetzt mit dieser Option steuern
Großartige Arbeit, mlanden! Nochmals vielen Dank.
Guter Indikator für EA
Hallo,
Dieser Indikator hat 5 Linien.(Pivot+R1+R2+S1+S2)
Ich möchte ein EA machen, das auf diesen Linien basiert. Leider haben diese Linie nicht buffer.I brauchen jemanden zuweisen einen Puffer zu jeder Zeile.
Bitte um Hilfe
Mit besten Grüßen;
Bamik
Hallo,
Dieser Indikator hat 5 Linien.(Pivot+R1+R2+S1+S2)
Ich möchte ein ea machen, dass diese Linien basiert. Leider haben diese Linie nicht buffer.I brauchen jemanden zuweisen einen Puffer zu jeder Zeile.
Bitte um Hilfe
Mit freundlichen Grüßen;
Bamikbarnik
Haben Sie diesen Thread gelesen: https: //www.mql5.com/en/forum/172894
Es gibt eine Menge Pivot-Indikatoren, die Puffer in diesem Thread verwenden.
barnik
Haben Sie diesen Thread gelesen: https: //www.mql5.com/en/forum/172894
Es gibt eine Menge Pivot-Indikatoren, die Puffer verwenden, in diesem ThreadDanke Hirsch mladen für deine Hilfe,
Ich habe die meisten dieser Indikatoren heruntergeladen und getestet, nur der " AutoPivotIndicator_ver5" Indikator war genau wie "TARGETS-LINES".
Leider verwendet dieser Indikator auch nicht den Puffer und verwendet das Objekt.
Würden Sie bitte meine einfache Indikator ändern.(einen Puffer zu jeder Zeile zuweisen).es ist ein kleiner Indikator.
Danke