Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Tools (http://www.expert-advisor.com/forum/forumdisplay.php?f=109)
-   -   eigene Zeitskala (http://www.expert-advisor.com/forum/showthread.php?t=5653)

ping 06.05.17 15:31

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum