Előfordul , hogy Backtestelés közben észre vesszük , hogy különböző nagyságú lyukak vannak az adatsorunkban , ez számos kellemetlenséget okozhat , főleg ha sok terméken szeretnénk tesztelni.
Ezen a hibán próbálunk segíteni a következő programunkkal.:

                A hisztorikus adatokat : c:\Users\userneve\Documents\NinjaTrader 7\db\ - mappában tárolja el a Ninajtrader. Számunka a db\minute\ mappa lesz érdekes , ugyanis ide mentődnek le a backtesteléshez szükséges adatok (Backtestelésnél érdemes a napos adatokat is perces adatokból kinyernünk : 1440 perc) . Amint megnézzük a mappában található fileokat láthatjuk , hogy naponként tárolódnak el a gyertyaadatok.
Szükségünk van egy programra , ami észreveszi a fileokat egy adott mappában és egymáshoz viszonyítva végigellenőrzi , hogy melyik két nap között van hiány a mappában található adatok  között.

A program nagyjából így néz ki:

  private void button1_Click(object sender, EventArgs e)
{ if (adatok.Text == "" || adatok.Text == null) { MessageBox.Show("Nem írtál be mappát hogy hol keressem!"); return; }
         var Files = new DirectoryInfo(adat).GetFiles().OrderBy(f => f.Name).ToList();
           DateTime datum = Convert.ToDateTime("1900-01-01"); ;
           DateTime datumelozo=Convert.ToDateTime("1900-01-01");
           string ev, ho, nap;
           foreach (var item in Files) //for ciklus végigszalad a filokon
           {
               ev = Left(item.Name, 4);
               ho = Mid(item.Name, 4, 2);
               nap = Mid(item.Name, 6, 2);
               try { datum = Convert.ToDateTime(ev + "-" + ho + "-" + nap);
              }
               catch { MessageBox.Show("A mappában van olyan adat ami nem Ninjatrader idő adat !!");return;}
               if(datum != datumelozo.AddDays(1) && datumelozo != Convert.ToDateTime("1900-01-01") && datum.DayOfWeek != DayOfWeek.Sunday && datum.AddDays(-1).DayOfWeek != DayOfWeek.Sunday)  
               {
                   Listbox(Convert.ToString("Adathiba :" + datum));
               }
               datumelozo = datum;  
           }
        }
Program nem foglalkozik a hétvégékkel , az ünnepnapokat hibaként fogja értékelni.

Egy rövid videót is készítettem a progi használatáról:




A programot letölthetjük innen (ha a vírusírtó jelezne valamit [mint pl a példavideóban is] , akkor a forrás alapján ellenőrizhető , hogy mit tartalmaz a kód (semmi kártékonyat)

A bejegyzés trackback címe:

https://algotrader.blog.hu/api/trackback/id/tr415072650

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása