Teken een vline op de eerste handelsdag van de maand
Results 1 to 7 of 7

Thread: Teken een vline op de eerste handelsdag van de maand

  1. #1
    1 Bijlage(n) Ik probeer een indior te coderen die een vline kan tonen op de eerste handelsdag van de maand (in sommige maanden is de eerste handelsdag de 1. andere maand is de eerste handelsdag de 2. of 3. )

    Dit is wat ik heb geprobeerd

    Code ingevoegd #property copyright #property link #property indior_chart_window/ ------------------------------------ ------------------------------ /| Initialisatiefunctie voor aangepaste indioren |/ ----------------------------------------------- ------------------- int init() { return (0); }/ ---------------------------------------------- -------------------- /| Custor indior de�nitialisatie functie |/ ----------------------------------------------- ------------------- int deinit() { ObjectsDeleteAll(); retour(0); }/ ---------------------------------------------- -------------------- /| Aangepaste indior iteratiefunctie |/ ----------------------------------------------- ------------------- int start() { int Dag1Bestaan, Dag2Bestaan, Dag3Bestaan ??????= 0; int Terugblik = 1000;/aantal dagen waarop je terug wilt kijken (int i=0;ilt;=LookBack;i ) { datetime dailyTime=iTime(Symbol(),1440,i); string naam=Time_Vertical_Line i; if(TimeDay(dailyTime)==1) { if(!ObjectCreate(0,name,OBJ_VLINE,0,dailyTime,0)) Print(Kan de lijn niet tekenen FOUTCODE: ,GetLastError()); ObjectSet(naam,OBJPROP_WIDTH,3); ObjectSet(naam,OBJPROP_COLOR,Rood); ObjectSet (naam, OBJPROP_BACK, waar); Dag1Bestaan ??????= Dag1Bestaan ?????? 1; } else if(TimeDay(dailyTime)==2 Day1Exist lt; 1) { if(!ObjectCreate(0,name,OBJ_VLINE,0,dailyTime,0)) Print(Kan de lijn niet tekenen FOUTCODE : ,GetLastError()) ; ObjectSet(naam,OBJPROP_WIDTH,3); ObjectSet(naam,OBJPROP_COLOR,Groen); ObjectSet (naam, OBJPROP_BACK, waar); Dag2Bestaan ??????= Dag2Bestaan ?????? 1; } else if(TimeDay(dailyTime)==3 (Day1Exist lt; 1) || (Day2Exist lt; 1)) { if(!ObjectCreate(0,name,OBJ_VLINE,0,dailyTime,0)) Print(Kan niet tekenen de regel FOUTCODE : ,GetLastError()); ObjectSet(naam,OBJPROP_WIDTH,3); ObjectSet(naam,OBJPROP_COLOR,Blauw); ObjectSet (naam, OBJPROP_BACK, waar); Dag1Bestaan ??????= 0; Dag2Bestaan ??????= 0; } }/Voor }/Start
    Probleem: er wordt geen lijn getrokken op dagen waarop de dag de tweede of derde dag is




    Ik heb een paar andere indies geprobeerd, maar ze tekenen de vline op de laatste dag van de maand en ik wil het op de eerste dag van de maand.

  2. #2

    Quote Originally Posted by ;
    er zouden veel manieren moeten zijn om dit te doen. Hier is er een: int j=TimeMonth(Time[Bars-1]); tekenreeksnaam; datumtijd d; for (int i=Bars-1;igt;0;i--){ d = Tijd[i]; if (TimeMonth(d) !=j) { j=TimeMonth(d); naam=vline IntegerToString(i); ObjectVerwijderen(naam); ObjectCreate(naam,OBJ_VLINE,0,d,0); } }
    Verdorie, soms is het zo simpel. Bedankt!

  3. #3
    U hoeft alleen maar een vLine te tekenen op het moment dat overeenkomt met de opening van de maandbalk. Code ingevoegd #define PREFIX __vline_month_start_ #include lt;arrays/list.mqhgt; #include lt;chartobjects/chartobjectslines.mqhgt; int OnInit(){ return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime time#91;#93;, const double open#91;#93;, const double high#91;#93;, const double low#91;#93 ;, const double close#91;#93;, const long tick_volume#91;#93;, const long volume#91;#93;, const int spread#91;#93 { static CList gc; statische datetime recent_calc = 0; datetime check_delta = recent_calc PeriodSeconds(PERIOD_MN1); if (TimeCurrent() gt; check_delta) { datetime times#91;#93;; ArraySetAsSeries(tijden, waar); int aantal_bars = 0; do { num_bars = Bars(_Symbol, PERIOD_MN1); } while(aantal_bars lt;= 0); int x = CopyTime(_Symbol, PERIOD_MN1,0, gc.Total() ? 1 : num_bars, times); for (int i=0; ilt;x; i ) { CChartObjectVLine *line = new CChartObjectVLine(); gc.Toevoegen (regel); stringnaam = PREFIX string(times#91;i#93; line.Create(ChartID(), naam, 0, times#91;i#93; } recent_calc = times#91;0#93;; } retour (rates_total); }

  4. #4
    er zouden veel manieren moeten zijn om dit te doen. Hier is er een: Code ingevoegd int j=TimeMonth(Time#91;Bars-1#93; tekenreeksnaam; datumtijd d; for (int i=Bars-1;igt;0;i--){ d = Tijd#91;i#93;; if (TimeMonth(d) !=j) { j=TimeMonth(d); naam=vline IntegerToString(i); ObjectVerwijderen(naam); ObjectCreate(naam,OBJ_VLINE,0,d,0); } }

  5. #5

    Quote Originally Posted by ;
    Ik probeer een indior te coderen die een vline kan tonen op de eerste handelsdag van de maand (in sommige maanden is de eerste handelsdag de 1. andere maand is de eerste handelsdag de 2. of 3.) Dit is wat ik heb geprobeerd #property copyright #property link #property indior_chart_window/ ------------------------------------ ------------------------------ /| Initialisatiefunctie voor aangepaste indioren |/ ----------------------------------------------- ------------------- int init() { return (0); }/ ---------------------------------------------- -------------------- ...
    Doe het handmatig.

  6. #6

    Quote Originally Posted by ;
    {quote} Doe het handmatig.
    Dit is slechts een deel van wat ik wil dat de indi doet. Als het alleen de vlines waren, zou het gemakkelijker zijn om het handmatig te doen.

  7. #7

    Quote Originally Posted by ;
    U hoeft alleen maar een vLine te tekenen op het moment dat overeenkomt met de opening van de maandbalk. #define PREFIX __vline_month_start_ #include lt;arrays/list.mqhgt; #include lt;chartobjects/chartobjectslines.mqhgt; int OnInit(){ return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime time[], const double open[], const double high[], const double low[], const double close[], const long tick_volume[], const long volume[], const int spread[]) { statische CList gc; statische datetime recent_calc = 0; datetime check_delta...
    Dank u!

Similar Threads

  1. Replies: 12
    Last Post: 18:22,
  2. h2's handelsdag
    By oxtedoka in forum Forex Strategie
    Replies: 40
    Last Post: 10:14,

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.