De Kleur Dag indicator helpt je om de bullish en bearish dagen visueel te maken.
Als de dagelijkse slotkoers hoger is dan de openingskoers, wordt deze blauw gekleurd (dit is aanpasbaar in de instellingen).
input color UP = Blue; // kleur van de bullish dag
Als de dagelijkse slotkoers lager is dan de openingskoers, wordt deze rood gekleurd (ook aanpasbaar in de instellingen).
input color DN = Red; // kleur van de bearish dag
Gebruik de indicator om de Open, Close prijzen en openingstijd voor het opgegeven aantal dagen Days te kopiëren:
CopyTime(NULL,PERIOD_D1,0,Days+1,tm); CopyOpen(NULL,PERIOD_D1,0,Days+1,op); CopyClose(NULL,PERIOD_D1,0,Days+1,cl);
Deze waarden worden opgeslagen in de bijbehorende arrays:
datetime tm[]; double op[]; double cl[];
Voordat je de indicator op de grafiek plaatst, stel je de afmetingen van de arrays in:
int OnInit() { //--- mapping van indicatorbuffers Comment(""); ArrayResize(tm,Days); ArrayResize(op,Days); ArrayResize(cl,Days); //--- return(INIT_SUCCEEDED); }
Wijs de waarden van de arraycellen toe aan variabelen en bepaal de dagelijkse sluitingstijd time1:
datetime time0=tm[i]; datetime time1=time0+3600*24; double dopen=op[i]; double dclose=cl[i];
Gebruik de PutRect() functie:
void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr) { ObjectDelete(0,name); //--- maak een rechthoek met de gegeven coördinaten ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2); //--- stel de kleur van de rechthoek in ObjectSetInteger(0,name,OBJPROP_COLOR,clr); //--- schakel (true) of schakel (false) de vulmodus van de rechthoek in ObjectSetInteger(0,name,OBJPROP_FILL,true); }
Kleur de dag op basis van de prijsbeweging:
if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,DN); if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,UP);
Itereer over alle dagen die zijn opgegeven in de Days parameter in een loop:
for(int i=0;i<=Days;i++) { CopyTime(NULL,PERIOD_D1,0,Days+1,tm); CopyOpen(NULL,PERIOD_D1,0,Days+1,op); CopyClose(NULL,PERIOD_D1,0,Days+1,cl); datetime time0=tm[i]; datetime time1=time0+3600*24; double dopen=op[i]; double dclose=cl[i]; if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,DN); if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,UP);
Wanneer je de indicator van de grafiek verwijdert, gebruik je de DeleteObjects() functie:
void DeleteObjects() { for(int i=ObjectsTotal(0,0,OBJ_RECTANGLE)-1;i>=0;i--) { string name=ObjectName(0,i,0,OBJ_RECTANGLE); if(StringFind(name,"Rect",0)>=0) ObjectDelete(0,name); } }
Verwijder de gemaakte objecten van de grafiek:
void OnDeinit(const int reason) { Comment(""); DeleteObjects(); }
Instellingen:
input int Days = 11; // dagen voor berekening input color UP = Blue; // kleur van de bullish dag input color DN = Red; // kleur van de bearish dag

Fig. 1. De indicator op de grafiek
Tips:
- De Kleur Dag indicator is een visuele handelsassistent.
Reactie 0