Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 30.04.17
ping ping ist offline
Mitglied
 
Registriert seit: Feb 2017
Beiträge: 31
ping befindet sich auf einem aufstrebenden Ast
Standard Stundenvolatilität

Hi,

Wer wissen möchte, bei welchem Instrument, zu welcher Tageszeit, in welchem Timeframe, welche Durchschnittsvolatilität sich aus der Charthistorie ergibt, der findet diese in diesem Indikator.

--- Freeware ---

Zeigt die Durchschnittsvolatilität (der gesamten Charthistorie) für den ausgewählten Zeitraum (M1 bis MN)
aufgeschlüsselt auf die Tagesstunden an.


PHP-Code:
#property version "1.00"
#property copyright "copyright © 2017  tggits"
#property description "e-mail: tggits@web.de           homepage: tggits.weebly.com"
#property description "\n\n---  Freeware  ---\n"
#property description "Zeigt die Durchschnittsvolatilität (der gesamten Charthistorie) für den"
#property description "ausgewählten Zeitraum (M1 bis MN) aufgeschlüsselt auf die Tagesstunden an."
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_minimum 0
#property strict
extern int   Bz=0;            // Brokerzeitoffset [Stunden] [z.B -1 oder 2]
extern color Fa=C'50,90,200'// Farbe des Indikator
string       Tx="Std ";
double       P1[],Std[24][2];
int          i;
void init()
ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS,ChartWindowFind(),310);
  
ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS,ChartWindowFind(),0);
  
SetIndexBuffer(0,P1);
  
SetIndexEmptyValue(0,0.0);
  
SetIndexStyle(0,DRAW_HISTOGRAM,0,0,Fa);
  
SetIndexLabel(0,NULL); 
  for(
i=0;i<Bars;i++)
  { 
Std[TimeHour(Time[i]-Bz*3600)][0]+=High[i]-Low[i];
    
Std[TimeHour(Time[i]-Bz*3600)][1]++;
  }
  
i=0;
}
void start()
{ if(
i==0)
    for(
i=0;i<24;i++)
    { if(
Std[i][1]<1)
        
Std[i][1]=1;
      
P1[23-i]=Std[i][0]/Std[i][1];
      
ObjectCreate(0,Tx+(string)i,OBJ_LABEL,ChartWindowFind(),0,0);
      
ObjectSet(Tx+(string)i,OBJPROP_CORNER,4);
      
ObjectSet(Tx+(string)i,OBJPROP_XDISTANCE,5);
      
ObjectSet(Tx+(string)i,OBJPROP_YDISTANCE,16+i*12);
      
ObjectSet(Tx+(string)i,OBJPROP_HIDDEN,true);
      
ObjectSet(Tx+(string)i,OBJPROP_SELECTABLE,false);
      
ObjectSetString(0,Tx+(string)i,OBJPROP_TOOLTIP,"\n");
      if(
i<10)
        
ObjectSetText(Tx+(string)i,"Stunde 0"+(string)i+":   "+DoubleToStr(Std[i][0]/Std[i][1],Digits),8,"Tahoma",Fa);
      else
        
ObjectSetText(Tx+(string)i,"Stunde "+(string)i+":   "+DoubleToStr(Std[i][0]/Std[i][1],Digits),8,"Tahoma",Fa);
    }

Die Software wurde mit der Version 4.00 Build 1065 erstellt. Eine Abwärtskompatibilität ist bis Version 4.00 Build 970 gegeben.
Stundenvolatilität ist als Indikator programmiert und somit in den Ordner ...MQL4\Indicators zu verschieben.

ciao ping - tggits
Angehängte Grafiken
Dateityp: png Stundenvolatilität.png (98,6 KB, 22x aufgerufen)
Angehängte Dateien
Dateityp: ex4 Stundenvolatilität.ex4 (11,6 KB, 7x aufgerufen)
Dateityp: mq4 Stundenvolatilität.mq4 (3,8 KB, 15x aufgerufen)