eigene Zeitskala
Liste der Anhänge anzeigen (Anzahl: 2)
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. :rolleyes:
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
|