Forex programozás › Fórum › Kérdések az MQL4 programozási nyelvvel kapcsolatban › Teszter model beállítás lekérdezése
Címkézve: model lekérdezése
-
SzerzőBejegyzés
-
Szia Radu!
A teszterben szinte minden minden lekérdezhető a IsTesting(), IsOptimization(), IsVisualMode(), stb.
Csak a gyertya kidolgozást model beállítását nem találom (minden tick, kontrol pontok, egész gyertya)Nem tudod az milyen függvény név alatt érhető el?
Nincs olyan függvény az MQL4-ben, amivel ezt le tudnád kérdezni.
Én azt csinálnám, hogy megszámolnám két egymás utáni gyertya között hányszor fut le a start függvény. Vagy egyszer, vagy 12-szer, vagy 12-nél többször. Így két-három gyertya elmegy ennek megállapítására, utána mehet a teszt.
Ez jó workaround lehet, majd írd meg hogy mennyire vált be!
Megírtam egy minta kódot. Ebből az is kiderült, hogy a 12 kontroll pontból generált tick nem 12, hanem kb.: háromszor 12 ticket jelent. De így is működik. A TICK_TESZT konstansban lehet beállítani, hogy hány gyertyán teszteljen. Én EURUSD kereszten teszteltem, Más devizapáron esetleg a 100-as küszöb értéket változtatni kell.
ui: A „kisebb-egyenlő” relációt csak negálva tudtam bemásolni, a html miatt.
//--- Globális változók int Ticks; int Gyertya; int MaxTick; int Model; datetime elozo; int init() { Gyertya = 0; elozo = -1; MaxTick = 0; return(0); } #define TICK_TESZT 5 int start() { if( !(Gyertya > TICK_TESZT )) { if( Time[0] == elozo ) Ticks++; else { if( elozo > 0 ) Gyertya++; if( Gyertya == TICK_TESZT ) { if( Ticks > MaxTick ) MaxTick = Ticks; if ( MaxTick == 1 ) Model = 0; // egész gyertya else if( MaxTick < 100 ) Model = 1; // kontrol pontok else Model = 2; // minden tick Comment( "MaxTick = ", MaxTick, " Model = ", Model ); } Ticks = 1; elozo = Time[0]; } return(0); } // --- Itt jöhet a tesztelés return(0); }
A *** al megjelölt sort feljebb kell tenni egy sorral, mert csak így lesz a maximális érték benne. Ahogy az előbb írtam az utolsó gyertya előtti tickek száma lenne benne.
if( elozo > 0 ) Gyertya++;
if( Ticks > MaxTick ) MaxTick = Ticks; // ***
if( Gyertya == TICK_TESZT )Nem rossz, működik a megoldásod!
Ez miért lehet hasznos, ha ismerjük ezeket az adatokat?
Nem hasznos!
Csak ha letesztelsz 100,000 db backtest-et és elmeneted magadnak, akkor fél év múlva igencsak jól jön hogy mi volt milyen beállításokkal, milyen kidolgozással (gyertyamodell), stb -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.