![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Hallo Mladen,
Ich möchte eine Ähnlichkeitsanalyse in Forex-Daten durchführen.
Ich meine, ich möchte herausfinden, welcher 1-Stunden-Balken (gleicher oder ähnlicher Wert im OHLC) am meisten mit dem LETZTEN 1-Stunden-Balken (OHLC) in der 20.000-Balken-Historie korreliert.
Ist der Pearson-Korrelationskoeffizient ausreichend, um die Ähnlichkeit des letzten Bar-Wertes in der 20.000-Bar-Historie herauszufinden?Ist es möglich, diese Analyse in metatradervith ein Skript (oder EA) zu tun?
liebe mlade:
ich mache meinen ersten MTF-Indikator
aber die Farbe ist schwarz
wie kann ich das beheben?
Vielen Dank
liebe mlade:
ich mache meinen ersten MTF-Indikator
aber die Farbe ist schwarz
wie kann ich das beheben?
Vielen Dank
Hallo Mladen,
Ich möchte eine Ähnlichkeitsanalyse in Forex-Daten durchführen.
Ich meine, ich möchte herausfinden, welcher 1-Stunden-Balken (gleicher oder ähnlicher Wert im OHLC) am meisten mit dem LETZTEN 1-Stunden-Balken (OHLC) in der 20.000-Balken-Historie korreliert.
Reicht der Pearson Korrelationskoeffizient aus, um die Ähnlichkeit des letzten Balkenwerts in der 20.000-Balken-Historie herauszufinden?ist es möglich, diese Analyse in metatradervith ein Skript (oder EA) zu tun?danke.
Mladen,
Irgendein Kommentar dazu?
Mladen,
Haben Sie einen Kommentar dazu?
Setzen Sie die #property indicator_color1 auf die gewünschte Farbe (sie ist jetzt auf Schwarz gesetzt)
mr mladen:
ich mache es, habe aber nur eine Farbe
ich brauche zwei Farben für Bullen- und Bärenmarkt
mr mladen:
ich mache es, habe aber nur eine Farbe
ich brauche zwei Farben für den Bullen- und Bärenmarkt
Dann müssen Sie es anders codieren (Sie müssen zwei Puffer verwenden, nicht nur einen für ein zweifarbiges Histogramm)
Ist das richtig?
//+------------------------------------------------------------------+
//| MTF_xb4d.mq4 |
//|------------------------------------------------------------------+
#Eigenschaft indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Limonengrün
#eigenschaft indicator_width1 2
#property indicator_color2 BlassViolettRot
#Eigenschaft indicator_width2 2
//---- Eingabeparameter
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
ZEITRAUM_W1 10080
ZEITRAUM_MN1 43200
Sie müssen den numerischen Wert des Zeitrahmens verwenden, den Sie verwenden möchten
Sie müssen den numerischen Wert des Zeitrahmens verwenden, den Sie verwenden möchten, wenn Sie den Wert TimeFrame' mit den Indikatoreingaben festlegen.
---------------------------------------*/
extern int TimeFrame=0;
extern int Zeitraum = 10;
extern int AppliedPrice=0;
extern bool SoundAlerts=false;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//---- Indikatorzeile
SetIndexStyle(0, DRAW_HISTOGRAM);
SetIndexStyle(1, DRAW_HISTOGRAM);
SetIndexBuffer(0, ExtMapBuffer1);
SetIndexBuffer(1, ExtMapBuffer1);
//---- Name für das Datenfenster und die Beschriftung des Unterfensters des Indikators
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Zeitraum_M1"; break;
case 5 : TimeFrameStr="Zeitraum_M5"; break;
case 15 : TimeFrameStr="Zeitraum_M15"; break;
case 30 : TimeFrameStr="Zeitraum_M30"; break;
case 60 : TimeFrameStr="Zeitraum_H1"; break;
case 240 : TimeFrameStr="Zeitraum_H4"; break;
case 1440 : TimeFrameStr="Zeitraum_D1"; break;
case 10080 : TimeFrameStr="Zeitraum_W1"; break;
case 43200 : TimeFrameStr="Zeitraum_MN1"; break;
default : TimeFrameStr="Aktueller Zeitrahmen";
}
IndicatorShortName(" MTF_xb4d ("+TimeFrameStr+" ) ");
return(0);
}
//----
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plotten des definierten Zeitrahmens auf den aktuellen Zeitrahmen
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= Bars-1;
for(i=0,y=0;i<limit;i++)
{
if (Time[i]<TimeArray[y]) y++;
/***********************************************************
Fügen Sie unten Ihre Hauptindikatorschleife ein. Sie können auf einen bestehenden
Indikator mit seinem iName oder iCustom verweisen.
Regel 1: Fügen Sie oben externe Eingaben für alle erforderlichen Werte hinzu.
Regel 2: Verwenden Sie 'TimeFrame' für den Zeitrahmen des Indikators
Regel 3: Verwenden Sie 'y' für den Shift-Wert Ihres Indikators
**********************************************************/
ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "xb4d",period,0,y);//iRSI(Symbol(),TimeFrame,period,AppliedPrice,y);
}
if(GlobalVariableGet(Symbol()+"previndicator")<0 && ExtMapBuffer1[0]>=0)
if(SoundAlerts){Alert("Kaufalarm " + Symbol() + " [" + Zeitraum() + "] ");PlaySound("alert.wav");}
if(GlobalVariableGet(Symbol()+"previndicator")>=0 && ExtMapBuffer1[0]<0)
if(SoundAlerts){Alert("Verkaufsalarm " + Symbol() + " [" + Zeitraum() + "] ");PlaySound("alert.wav");}
GlobalVariableSet(Symbol()+"previndicator",ExtMapBuffer1[0]);
return(0);
}
//+------------------------------------------------------------------+
Ist das richtig?
//+------------------------------------------------------------------+
//| MTF_xb4d.mq4 |
//|------------------------------------------------------------------+
#Eigenschaft indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Limonengrün
#eigenschaft indicator_width1 2
#property indicator_color2 BlassViolettRot
#Eigenschaft indicator_width2 2
//---- Eingabeparameter
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
ZEITRAUM_W1 10080
ZEITRAUM_MN1 43200
Sie müssen den numerischen Wert des Zeitrahmens verwenden, den Sie verwenden möchten
Sie müssen den numerischen Wert des Zeitrahmens verwenden, den Sie verwenden möchten, wenn Sie den Wert TimeFrame' mit den Indikatoreingaben festlegen.
---------------------------------------*/
extern int TimeFrame=0;
extern int Zeitraum = 10;
extern int AppliedPrice=0;
extern bool SoundAlerts=false;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//---- Indikatorzeile
SetIndexStyle(0, DRAW_HISTOGRAM);
SetIndexStyle(1, DRAW_HISTOGRAM);
SetIndexBuffer(0, ExtMapBuffer1);
SetIndexBuffer(1, ExtMapBuffer1);
//---- Name für das Datenfenster und die Beschriftung des Unterfensters des Indikators
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Zeitraum_M1"; break;
case 5 : TimeFrameStr="Zeitraum_M5"; break;
case 15 : TimeFrameStr="Zeitraum_M15"; break;
case 30 : TimeFrameStr="Zeitraum_M30"; break;
case 60 : TimeFrameStr="Zeitraum_H1"; break;
case 240 : TimeFrameStr="Zeitraum_H4"; break;
case 1440 : TimeFrameStr="Zeitraum_D1"; break;
case 10080 : TimeFrameStr="Zeitraum_W1"; break;
case 43200 : TimeFrameStr="Zeitraum_MN1"; break;
default : TimeFrameStr="Aktueller Zeitrahmen";
}
IndicatorShortName(" MTF_xb4d ("+TimeFrameStr+" ) ");
return(0);
}
//----
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plotten des definierten Zeitrahmens auf den aktuellen Zeitrahmen
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= Bars-1;
for(i=0,y=0;i<limit;i++)
{
if (Time[i]<TimeArray[y]) y++;
/***********************************************************
Fügen Sie unten Ihre Hauptindikatorschleife ein. Sie können auf einen bestehenden
Indikator mit seinem iName oder iCustom verweisen.
Regel 1: Fügen Sie oben externe Eingaben für alle erforderlichen Werte hinzu.
Regel 2: Verwenden Sie 'TimeFrame' für den Zeitrahmen des Indikators
Regel 3: Verwenden Sie 'y' für den Shift-Wert Ihres Indikators
**********************************************************/
ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "xb4d",period,0,y);//iRSI(Symbol(),TimeFrame,period,AppliedPrice,y);
}
if(GlobalVariableGet(Symbol()+"previndicator")<0 && ExtMapBuffer1[0]>=0)
if(SoundAlerts){Alert("Kaufalarm " + Symbol() + " [" + Zeitraum() + "] ");PlaySound("alert.wav");}
if(GlobalVariableGet(Symbol()+"previndicator")>=0 && ExtMapBuffer1[0]<0)
if(SoundAlerts){Alert("Verkaufsalarm " + Symbol() + " [" + Zeitraum() + "] ");PlaySound("alert.wav");}
GlobalVariableSet(Symbol()+"previndicator",ExtMapBuffer1[0]);
return(0);
}
//+------------------------------------------------------------------+
Zeigt es die Farben so, wie Sie es wollten?
liebe mladen:
ich finde mtf davon unter https://www.forex-tsd.com/forum/debates-discussions/1131-multi-timeframe-indicators/page762#comment_1831838
vielen dank für deine hilfe an alle mitglieder
Gott segne euer Leben