Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Freqtrade 'Low_BB' ni berlinguyinca (Thorsten), tapat na port: long-only na 1m buy kapag close <= 0.98 x lower Bollinger(20,2), mga exit ONLY sa talahanayan ng ROI {0:90%,1:5%,10:4%,15:50%} at nakapirming -1.5% stoploss; tumatakbo bawat pair sa basket na 6 alt ng Binance Spot. Backtest trading strategy.

Resulta: Backtesting

LowBbFreqtradeSpotBasket

Freqtrade 'Low_BB' ni berlinguyinca (Thorsten), tapat na port: long-only na 1m buy kapag close <= 0.98 x lower Bollinger(20,2), mga exit ONLY sa talahanayan ng ROI {0:90%,1:5%,10:4%,15:50%} at nakapirming -1.5%…

Hypothesis

Tapat na salin bawat linya ng estratehiyang Freqtrade na GPL-3.0 na 'Low_BB' ni berlinguyinca (may-akda si Thorsten), https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/Low_BB.py. Kinikilala ang may-akda. Hindi beripikado ang anumang performance na inaangkin ng orihinal; ang aming backtest na may totoong bayarin ang magpapasya. Tunay at maaaring i-trade ang estratehiya sa source, hindi ito utility. INDICATORS: unang kinukuwenta ng……Magpakita ng higit paMagpakita ng mas kaunti

Tapat na salin bawat linya ng estratehiyang Freqtrade na GPL-3.0 na 'Low_BB' ni berlinguyinca (may-akda si Thorsten), https://github.com/freqtrade/freqtrade-strategies/blob/f3340ce11f5bdf62f598522e64d1f5638eaa13f5/user_data/strategies/berlinguyinca/Low_BB.py. Kinikilala ang may-akda. Hindi beripikado ang anumang performance na inaangkin ng orihinal; ang aming backtest na may totoong bayarin ang magpapasya. Tunay at maaaring i-trade ang estratehiya sa source, hindi ito utility. INDICATORS: unang kinukuwenta ng populate_indicators ang Bollinger(20, 2) sa tipikal na presyo at ang MACD(12,26,9). Pagkatapos, OVERWRITTEN ang dalawa o hindi kailanman ginagamit: muling kinukuwenta ng bloke na 'required for graphing' ang bb_lowerband/bb_middleband/bb_upperband mula sa Bollinger(window=20, stds=2) sa CLOSE, at hindi kailanman tinutukoy ang MACD sa entry o exit. Kaya dapat gamitin ng developer ang bandang batay sa CLOSE, ayon sa pagkakapatupad nito sa qtpylib: mid = rolling mean(close, 20), std = pandas rolling std(close, 20) na may ddof=1 (sample std), lower = mid - 2*std. Patay na code ang MACD at ang bandang batay sa tipikal na presyo; hindi dapat ipatupad ang mga ito bilang mga signal. ENTRY: ang enter_long = 1 kapag close <= 0.98 * bb_lowerband sa saradong 1m bar; wala nang ibang kondisyon. Pinupunan ng Freqtrade sa open ng kandilang NEXT, kaya nagsusumite ang port ng market buy sa pagsasara ng signal bar (katumbas sa loob ng isang bar). EXIT SIGNAL: isinasagawa ng populate_exit_trend ang dataframe.loc[(), 'exit_long'] = 1. Naberipika sa pandas 2.3.3 na ginagawa ng pahayag na iyon ang kolum na exit_long ngunit nananatili itong puro NaN, kaya walang signal exit ang estratehiya sa NO. Tugma ito sa docstring na 'sell if (trailing) stop loss is hit'. Hindi nakatakda ang trailing_stop, kaya FIXED stop ito, hindi trailing stop. Nagsasara lang ang mga posisyon sa pamamagitan ng: (1) minimal_roi = {"0": 0.9, "1": 0.05, "10": 0.04, "15": 0.5}, na naka-key sa minutong lumipas mula nang pumasok. Ipinatutupad ang tuntuning may pinakamalaking key na <= sa edad ng trade: sa edad na 0 hanggang <1 minuto, kunin ang +90%; 1 hanggang <10 minuto, kunin ang +5%; 10 hanggang <15 minuto, kunin ang +4%; at mula 15+ minuto, kunin ang +50%, na sa praktika ay walang hangganan. (2) stoploss = -0.015, isang nakapirming -1.5% mula sa entry price na laging aktibo. Walang time stop o iba pang exit. VENUE/INSTRUMENTS: long-only at walang leverage ang mga tuntunin, kaya angkop ang mga ito sa BINANCE_SPOT (CASH), na pasok din sa quota nito sa venue na >=15% sa 10.7%. Nagpapatakbo ang Freqtrade ng estratehiya sa isang pairlist, isang trade bawat pair, kaya ang tapat na katumbas sa platform ay nagpapatakbo ng magkakaparehong tuntunin nang magkakahiwalay sa 6 likido at pabagu-bagong Binance Spot alt. May 1m na kasaysayan ang bawat isa mula 2018-2020 sa catalog (nasuri): DOGE, SOL, AVAX, ADA, XRP, LINK. Sadyang hindi isinama ang BTC. Bihira ang pagsasara ng 1m na bar 2% sa ibaba ng lower band nito sa BTC, kaya halos walang trade, at ang BTC ang seryeng labis nang namina. SIZING: pinapalitan nito ang stake_amount/max_open_trades ng Freqtrade. Nakapirming 1/6 ng equity ng account ang inilalagay sa bawat trade ng bawat pair (≈16.7% notional, ang pinakamataas na exposure sa bawat posisyon), hanggang isang bukas na posisyon bawat pair, leverage na 1.0. Kaya nanganganib ang -1.5% stop ng ≈0.25% ng equity sa bawat trade. FEES: Binance Spot 0.10% taker sa bawat panig, 0.20% sa round trip.

Tapat na port, kaya mula sa source ang mga parameter: BB(20,2) sa close, multiplier na 0.98, ROI {0:0.9,1:0.05,10:0.04,15:0.5}, stoploss na -0.015. BINANCE_SPOT ang venue dahil long-only at walang leverage ang estratehiya. Mas mababa ang Spot sa quota nitong 15%, at ang bayad sa spot (0.20% RT) ang tamang gastos para sa disenyo. Magdaragdag ng pagkakaiba-iba ng venue ang OKX_SPOT at BYBIT_SPOT, pero halos isang linggo lang ang kasaysayan sa kanilang 1m catalog (nasuri), kaya hindi magagamit ang mga ito. Hindi isinama ang BTC (over-mined at halos hindi nagti-trigger). Ginagaya ng basket na 6 alt ang pairlist ng Freqtrade bawat pair at itinataas ang dami ng trade lampas sa humigit-kumulang 10/taon/pair na dalas ng pag-trigger. Walang tunable ang plano dahil dapat subukan ang tapat na port ayon sa pagkakasulat nito.

Implementasyon

Tapat na port ng Freqtrade Low_BB ni berlinguyinca (Thorsten). Tumatakbo nang hiwalay ang parehong mga panuntunan sa bawat isa sa 6 Binance Spot alt (DOGE, SOL, AVAX, ADA, XRP, LINK). Entry: market buy sa saradong 1m bar kapag close <= 0.98 x ng lower Bollinger band (20, 2, sample std) sa close. Sa bracket ng venue lang nagmumula ang mga exit: nakapirming -1.5% stop, at resting limit take-profit na muling itinatakda sa antas na minimal_roi ayon sa edad ng trade {0:90%,1:5%,10:4%,15:50%}. Tumatanggap ang bawat pair ng 1/6 ng equity, leverage na 1.0, long-only. Backtest trading strategy.

Itinatama ng Iteration 3 ang kabiguan sa Layer 1.5: “Itinatakda ng optimization_plan ang leverage sa 1.0”. Nawawala sa mga parameter ang nakapirming parameter `leverage` ng plano (float 1.0). Idinagdag na ito at binabasa sa self.leverage, gaya ng config.leverage. Pinaparami nito ang notional bawat pair, na walang binabago sa 1.0. Nasa listahan na ang lahat ng iba pang nakapirming parameter ng plano na may katugmang mga uri (bb_window ay int 20, float ang iba). Hindi nagbago ang lohika sa trading, signal, sizing at mga pagbabago sa performance ng iteration-2, kaya hindi nagbago ang inaasahang dami ng trade.

Mga Resulta ng Beripikasyon

Kung mag-timeout ang buong backtest, sukatin muna ang natitirang gastos bawat bar bago galawin ang mga panuntunan; magsimula sa mga query ng cache.positions_open/orders_open sa bawat dagdag na leg bar. Huwag magtanggal ng pair o magpalit ng timeframe; parehong sisira sa pagiging tapat ng port.

Badyet sa compute (L176). Naglo-load ang run ng 6 instrumento sa 1m bar sa loob ng humigit-kumulang 2,616 araw, mga 3.77M bar bawat instrumento at humigit-kumulang 22.6M bar lahat. O(1) ang trabaho bawat bar: muling sinasama ang running-sum Bollinger band kada 500 bar, nagaganap lang ang muling pagtatakda ng presyo ng ROI kapag nagbago ang antas na ROI, at walang inaangkop o niraranggo kada bar. Umabot pa rin ng 290s ang sandbox para sa 30 araw. Humigit-kumulang 25,000s ang inaasahang baseline, malapit sa badyet sa optimization na 36,000s. Umaayon ang gastos sa haba ng saklaw at hindi ito depektong lumalaki kasabay ng kasaysayan. Panganib pa rin ang timeout para sa buong backtest at walk-forward.

Opsyonal na muling iangkla ang stop sa avg_px_open sa unang bar pagkatapos ng fill, gaya ng muling pagtatakda ng take-profit.

Nakaangkla ang stop at paunang take-profit ng bracket sa close ng signal bar, hindi sa aktuwal na fill price. Ginagamit ng susunod na muling pagtatakda ng presyo ng ROI ang avg_px_open. Maaaring lumayo nang ilang basis point ang stop mula sa entry*(1-0.015) ng Freqtrade. Maliit ang epekto sa 1m.

Saklaw ng sandbox ang 30 araw at nagsara ng 16 posisyon. 0.177% ng notional ang karaniwang return, mas mababa sa 0.25% minimum para maging praktikal ang spot, na may PF 1.14 at win rate na 31%. Kumain ang modeled impact ng 43% ng gross dahil market buy ang bawat entry sa 1m na pagbagsak. Kapag 15 minuto na ang trade, ROI ang target na 50%, na hindi napupunan; kaya halos lahat ng trade na lampas 15 minuto ay nagtatapos sa -1.5% stop. Humigit-kumulang 3 oras ang karaniwang tagal ng hawak. Kaya nakasalalay ang edge sa bahagdan ng mga rebound na umaabot sa +4-5% sa loob ng 15 minuto. Sa buong backtest, suriin ang return bawat trade matapos ibawas ang impact laban sa round trip na 0.20%, at ang bahagdan ng mga exit sa stop kumpara sa ROI.

Kasaysayan ng Iterasyon

sandbox_timeout: Nabigo ang beripikasyon (Layer 3 — sandbox backtest): lumampas ang smoke test sa limit na 300s na wall-clock sa saklaw na humigit-kumulang 20000 bar (30 araw ng DOGEUSDT.BINANCE_SPOT-1-MINUTE-LAST-EXTERNAL). Karaniwang nangangahulugan ito ng trabahong bawat bar na lumalaki kasabay ng kasaysayan — hal., muling pag-scan sa buong funding/supplementary series, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() kada bar. I-precompute sa __init__ ang mga nakaayos na timestamp array ONCE at gumamit ng bisect, o mag-cache ng mga lookup ayon sa timestamp, para O(log n) at hindi O(n) ang gastos bawat bar.

Nabigo ang beripikasyon (Layer 1.5 — pagkakatugma ng hypothesis/config) [class=hypothesis_mismatch]: - Itinatakda ng optimization_plan ang leverage sa 1.0

Pagsusuri

Low_BB

Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.