eigene Zeitskala
Hi,
da auch hier im Forum des Öfteren nach dem Ändern der Zeitskala gefragt wurde, hier eine Möglichkeit eine eigene Zeitskala zusätzlich einzublenden.
Leider ist in dem Befehl ChartSetInteger(0,CHART_SHOW_DATE_SCALE,0,false); ein Bug drin, sonst könnte man die originale Zeitskala noch ausblenden. Aber das will Metaquotes wohl unterbinden.
ChartSetInteger(0,CHART_SHOW_DATE_SCALE,0,false); funktioniert nur mit gleichzeitiger Verwendung von ChartSetInteger(0,CHART_SHOW_PRICE_SCALE,0,false); richtig. Sei's drum, wer es dennoch haben möchte (halt eben nur mit zwei Leisten):
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 "Blendet eine eigene Zeit-Skala ein."
#property indicator_separate_window
#property strict
extern int Bz=-1; // Brokerzeitoffset [Stunden] [z.B -1 oder 2]
string Tx="Zeitskala ",Me[]={" Jan "," Feb "," Mar "," Apr "," May "," Jun "," Jul "," Aug "," Sep "," Oct "," Nov "," Dec "};
int i,x,y;
double D;
datetime Z;
void init()
{ IndicatorShortName("");
ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS,ChartWindowFind(),20);
}
void start(){}
void OnChartEvent(const int Id,const long &X,const double &Y,const string &S)
{ ObjectsDeleteAll(ChartWindowFind(),EMPTY);
// ChartSetInteger(0,CHART_SHOW_DATE_SCALE,0,false);
for(i=0;i<ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0);i+=64)
{ ChartXYToTimePrice(0,i,0,x,Z,D);
ChartTimePriceToXY(0,0,Time[0],0,x,y);
if(i<=x)
{ ObjectCreate(0,Tx+"L "+(string)i,OBJ_LABEL,ChartWindowFind(),0,0);
ObjectSet(Tx+"L "+(string)i,OBJPROP_CORNER,4);
ObjectSet(Tx+"L "+(string)i,OBJPROP_XDISTANCE,i);
ObjectSet(Tx+"L "+(string)i,OBJPROP_YDISTANCE,0);
ObjectSet(Tx+"L "+(string)i,OBJPROP_HIDDEN,true);
ObjectSet(Tx+"L "+(string)i,OBJPROP_SELECTABLE,false);
ObjectSetString(0,Tx+"L "+(string)i,OBJPROP_TOOLTIP,"\n");
ObjectSetText(Tx+"L "+(string)i,"|",1,"Script",(color)ChartGetInteger(0,CHART_COLOR_FOREGROUND));
ObjectCreate(0,Tx+"Z "+(string)i,OBJ_LABEL,ChartWindowFind(),0,0);
ObjectSet(Tx+"Z "+(string)i,OBJPROP_CORNER,4);
ObjectSet(Tx+"Z "+(string)i,OBJPROP_XDISTANCE,i-1);
ObjectSet(Tx+"Z "+(string)i,OBJPROP_YDISTANCE,5);
ObjectSet(Tx+"Z "+(string)i,OBJPROP_HIDDEN,true);
ObjectSet(Tx+"Z "+(string)i,OBJPROP_SELECTABLE,false);
ObjectSetString(0,Tx+"Z "+(string)i,OBJPROP_TOOLTIP,"\n");
if(i==0||Period()>=1440)
ObjectSetText(Tx+"Z "+(string)i,(string)TimeDay(Z)+Me[TimeMonth(Z)-1]+(string)TimeYear(Z-Bz*3600),7,"Tahoma",(color)ChartGetInteger(0,CHART_COLOR_FOREGROUND));
else
ObjectSetText(Tx+"Z "+(string)i,(string)TimeDay(Z)+Me[TimeMonth(Z)-1]+TimeToStr(Z-Bz*3600,TIME_MINUTES),7,"Tahoma",(color)ChartGetInteger(0,CHART_COLOR_FOREGROUND));
}
}
}
ciao ping
|