drew2323 / v2trading

V2Trading platform - live trading engine, backtesting and research tool.
https://trading.mujdenik.eu
9 stars 3 forks source link

Martingale sizing optimalization #166

Closed drew2323 closed 8 months ago

drew2323 commented 8 months ago

Vytvořit optimalizační seizing mechanismus, který půjde zapojit do libovolné strategie.

vytvořeno na základě martingale.

Mechanismus: Automatický sizing, base 10, multiplier x2, standardně je to exponenciála, ale teoreticky můžeme defionovat custom křívku - interpolovanou pár boduz. V případě profitu se neděje nic, v případě ztráty se v příštím obchodě upraví sizing.

Tento mechanismus dát do stratvars jako optimalizace s danými parametry.

drew2323 commented 8 months ago

zatím implementováno v direktivě sizing. Pokud je martingale_enabled true, systém počítá proměnou konsekutivní ztrátové obchody(KZO) a podle nich nastavuje sizing dalšího obchodu. Dle počtu KZO se nastaví multiplikátor 2 ** KZO. Multiplikátorem se násobí standardní chunk. Pozor zatím je KZO počítáno každý den od začátku - dokud nebude implementováno #163

#DEFAULT SIZING
[stratvars.sizing]
    #PROBE
    probe_enabled = false
    #probe_number = 1 #zatim jen 1
    probe_size = 0.01

    #PATTERN
    pattern_enabled = false
    pattern_source = "minutes" #or any series - indicators, bars or state etc. (index[-1], np.sum(state.rel_profit_cum)...)
    pattern_source_axis = [0,30,90, 200, 300, 390]
    pattern_size_axis = [0.1,0.5, 0.8, 1, 0.6, 0.1]

    #MARTINGALE_ENABLED - zatim jen inside a day
    #pocet ztrátových obchodů v řadě mi udává multiplikátor (0 - 1, 1 ztráta 2x, 3 v řadě - 4x atp.)
    martingale_enabled = true

fyi @kral888

drew2323 commented 8 months ago

V #172 nasazena úprava pro transfer KZO parametru z předchozího dne na následující.