Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

51bitquant MartingleSpotStrategyV2: Tapat na ETC Spot na Pag-iipon Batay sa Drawdown at Pag-angat

Resulta: Inabandona

EtcMartingleSpotStrategyV2

Buod ng Resulta

Pagkatapos ng dalawang ulit na pag-iterate, nakagawa ang EtcMartingleSpotStrategyV2 ng 805 saradong ETC spot basket at pumasa sa pagsusuri ng backtest para sa ebalwasyong nakapirmi. Nagbalik ang pinal na replay ng 36.298% na may Sharpe na 0.355 at pinakamataas na drawdown na 19.497%, habang nanatiling bukas nang 921 araw ang isang basket na bumabawi. Tinalikuran ng analyst ang tapat na port dahil 4 lang sa 9 nakikitang taon ang kumita, mas mababa sa ipinapatupad na rekisitong 60%, at nakonsentra ang mga kita sa 2021. Babaguhin ng pagpalit sa mga nakapirming parameter o pagdaragdag ng mga pananggalang na tuntunin ang hiniling na estratehiya.

Hypothesis

Tapat na port ng MartingleSpotStrategyV2 ni 51bitquant, gamit ang ETCUSDT.BINANCE_SPOT at mga bar na tig-1 minuto. Panatilihin ang mga maisasagawang default sa halip na ang mga salungat na komento: 0.04 ang dalawang threshold ng drawdown, hindi 0.05; 0.02 ang threshold ng take-profit. Panatilihin ang mga nakabinbing order na LIMIT ang presyong batay sa pagsasara, hindi mga market order o mga intrabar na bracket ng take-profit. Hindi maaaring mapunan nang pabalik sa naunang saklaw ng bar ang mga order na isinumite……Magpakita ng higit paMagpakita ng mas kaunti

Tapat na port ng MartingleSpotStrategyV2 ni 51bitquant, gamit ang ETCUSDT.BINANCE_SPOT at mga bar na tig-1 minuto. Panatilihin ang mga maisasagawang default sa halip na ang mga salungat na komento: 0.04 ang dalawang threshold ng drawdown, hindi 0.05; 0.02 ang threshold ng take-profit. Panatilihin ang mga nakabinbing order na LIMIT ang presyong batay sa pagsasara, hindi mga market order o mga intrabar na bracket ng take-profit. Hindi maaaring mapunan nang pabalik sa naunang saklaw ng bar ang mga order na isinumite pagkatapos makumpleto ang isang bar. Iniangkop ang 1000 USDT initial_trading_value ng source bilang 1% ng equity na naitala sa simula ng bawat siklo ng akumulasyon, alinsunod sa paunang account ng platform na 1000 USDT na 100000 USDT. Panatilihing nakapirmi ang batayang iyon sa buong siklo. Panatilihin ang multiplier at semantika ng counter na 1.3, upang mapahintulutan ang isang paunang pagbili at hanggang pitong dagdag. Walang idinadagdag na stop-loss, time exit, trend filter o funding filter. Nananatiling default para sa diagnostic bookkeeping ang source na trading_fee=0.00075; ang aktuwal na komisyon ng platform ang nagtatakda ng mga resultang pang-ekonomiya. Hindi gumana ang promotional link at wala itong ibinigay na karagdagang tuntunin ng estratehiya.

Kumpleto at masusubok ang isinumiteng strategy gamit ang suportadong spot limit order at netted inventory. Panatilihin ang mekanismo nito sa halip na magdagdag ng filter batay sa mga dating kabiguan. Iniiwasan ng ETC ang pag-uulit sa pinangalanang DOT na pagbalanse ng inventory at mga port ng Supertrend na LINK; bumibili lang ang strategy na ito matapos ang drawdown at nagdaragdag matapos ang pagbaba at pag-angat, sa halip na magpanatili ng grid ng cash/coin o sumunod sa mga trend indicator. Kulang sa corpus ang spot sa 11.1% kumpara sa target nitong 15%. Dahil hiniling ang tapat na port, nananatili itong single-symbol at long-only kahit sobra ang representasyon ng mga dimensyong iyon. Walang laman ang konsentrasyon ng corpus, kaya walang pahayag na hindi ginagamit ang ETC o mas mababa ito sa bahaging 15%.

Tanggihan ang tapat na ETC na port na ito para sa promosyon: hindi nito natutugunan ang ipinapatupad na kahingian na positibo ang bilang ng mga taon dahil pumalya ito sa 4/9 taon, at nakapokus ang mga kita sa 2021 kasabay ng matagal na pananatiling lugi. Positibo ang balik sa bawat kalakalan sa 1.802% kumpara sa ibinigay na pamantayan sa ekonomiya na 0.40%, kaya hindi ito kabiguan dahil sa agwat sa bayarin. Walang napatunayang natitirang depekto sa implementasyon; ang pagdaragdag ng mga pananggalang na tuntunin o pagbabago sa mga nakapirming halaga ay magbabago sa hiniling na tapat na estratehiya. Hindi batayan ng pag-abandona ang hindi tiyak na kabuluhan sa estadistika. Walang sinasabing output artifact ng engine, at hindi tinatanggihan ng hatol na ito ang iba pang baryante ng akumulasyon o ang kaugnay na bersyong na-promote na may ibang espesipikasyon.

Implementasyon

Tapat na port ng 51bitquant MartingleSpotStrategyV2 sa ETCUSDT Binance spot 1m bars. Kapag ang Donchian high sa 2880 bar ay >= 4% sa ibabaw ng low ng bar at mas mababa sa 11 USDT ang hawak, magsimula ng cycle gamit ang close-priced na GTC LIMIT BUY na may sukat na 1% ng equity (naka-freeze kada cycle). Magdagdag nang hanggang 7 beses (size x1.3^n) matapos bumaba nang >= 4% mula sa presyo ng huling entry at saka umangat nang >= 1% mula sa pinakamababang presyo matapos ang entry. I-exit ang buong basket gamit ang close-priced na reduce-only LIMIT SELL kapag close/avg_price-1 >= 2%. Walang stop, time exit o filter.

Pag-aayos lang sa implementasyon; hindi nagbabago ang mga tuntunin sa trading. Malamang na sanhi ng posisyong tumagal nang 3033 araw ang take-profit na SELL, na kinuha ang laki mula sa self.current_pos, isang float na pinagsama fill kada fill, at ni-round down sa size increment, kaya maaaring may maiwang isang increment na ETC na hindi naibenta. Dahil sa natirang iyon (<11 USDT), nagsimula ang susunod na cycle sa ibabaw nito at hindi kailanman naging zero ang posisyon sa engine. Mga pag-aayos: (1) Ginagamit na……Magpakita ng higit paMagpakita ng mas kaunti

Pag-aayos lang sa implementasyon; hindi nagbabago ang mga tuntunin sa trading. Malamang na sanhi ng posisyong tumagal nang 3033 araw ang take-profit na SELL, na kinuha ang laki mula sa self.current_pos, isang float na pinagsama fill kada fill, at ni-round down sa size increment, kaya maaaring may maiwang isang increment na ETC na hindi naibenta. Dahil sa natirang iyon (<11 USDT), nagsimula ang susunod na cycle sa ibabaw nito at hindi kailanman naging zero ang posisyon sa engine. Mga pag-aayos: (1) Ginagamit na ngayon ng basket SELL ang dami ng bukas na posisyon ng engine (cache.positions_open(...)[0].quantity) nang walang pag-round down, kaya isinasara ng napunang sell ang posisyon. Inaasahan kong walang matitira dahil sa bayarin: dapat singilin ng venue na ito na CASH ang komisyon sa USDT, hindi sa ETC; hindi ko ito sinuri. Idinaragdag sa susunod na basket ang anumang natira mula sa bahagyang napunang sell na kinansela kalaunan ng dagdag, at ibinebenta ito kasama ng basket. (2) Sa bawat bar, kinukuha ang current_pos at avg_price mula sa posisyon ng engine (quantity, avg_px_open). Nagre-reset ang estado ng cycle (avg_price, entry_lowest, last_entry_price, current_increase_pos_times) kapag flat ang engine. Nagre-reset din ito sa on_order_filled kapag nag-iwan ang SELL ng mas mababa sa 11 USDT min_notional ng source, alinsunod sa reset ng source para sa on_trade / bagong cycle. (3) Nagla-log na ngayon ng babala ang on_order_denied at on_order_rejected at binibilang ang mga pagtanggi. Hindi nagbabago ang mga adaptation sa platform: pinapalitan ng 1% ng equity sa simula ng cycle ang 1000 USDT, at mga resting limit na close-priced ang mga order na napupunan lang ng mga sumunod na event sa market. Ginagamit lang ang trading_fee ng source para sa diagnostic na total_profit. Pumasa sa static analyzer ang bagong code nang walang error, pero hindi ako nagpatakbo ng backtest, kaya projection lang mula sa humigit-kumulang 2,350 fill sa nakaraang run ang inaasahang bilang ng mga isinara na cycle (daan-daan), hindi ito sukat na resulta.

Mga Resulta ng Beripikasyon

Walang kailangang pagbabago; tugma ang asal sa source.

Kailangang makumpleto ang buong pagkakasunod-sunod para sa mga dagdag: pagbaba >= 4%, saka pag-angat >= 1%, saka mapunan ang close-priced na GTC limit BUY. Nananatiling bukas ang limit na iyon hanggang kanselahin ito ng susunod na desisyon. Hinaharangan ng hindi napunang dagdag ang mga bagong dagdag (buy_working) hanggang kanselahin ito ng take-profit branch. Ganoon din ang ginagawa ng source gamit ang listahang buy_orders, kaya tapat ito; gayunman, sa mabilis na rebound, maaaring hindi mapunan ang dagdag.

Wala; itinala para matunton.

Ino-overwrite ng sync_with_engine ang current_pos at avg_price mula sa posisyon ng engine (avg_px_open) sa bawat bar, habang ina-update din sila ng on_order_filled sa bawat fill. Magkatugma ang dalawa para sa iisang netong long, kaya walang pagkakaiba sa asal. Sa engine nakabatay ang avg_px_open at hindi kasama rito ang mga bayarin, gaya rin ng avg_price ng source.

Wala.

Binabasa ang mga nakapirming parameter na initial_trading_value (1000), trading_fee at history_days, pero wala silang epekto sa trading. Ginagamit sa sizing ang 1% ng equity sa simula ng cycle, gaya ng sinasabi ng hypothesis; diagnostic na total_profit lang ang pinagkukunan ng trading_fee. Ito ang ipinahayag na adaptation.

Disenyo ito ng martingale na nag-a-average pababa nang walang hard stop; tinutukoy iyon ng hypothesis, kaya hindi ito depekto rito. Pinakamasamang imbentaryo bawat siklo: 1% x sum(1.3^k, k=0..7) = humigit-kumulang 23.9% ng equity sa simula ng siklo. Spot ito, 1x, kaya hindi kailanman hihingi ang libro ng mas malaking halaga kaysa sa magagamit na cash. Nililimitahan din nito ang pinakamasamang lugi sa isang naipit na siklo sa humigit-kumulang 24% ng equity, batay sa limitasyon ng kontrata na 25% sa pinakamataas na……Magpakita ng higit paMagpakita ng mas kaunti

Disenyo ito ng martingale na nag-a-average pababa nang walang hard stop; tinutukoy iyon ng hypothesis, kaya hindi ito depekto rito. Pinakamasamang imbentaryo bawat siklo: 1% x sum(1.3^k, k=0..7) = humigit-kumulang 23.9% ng equity sa simula ng siklo. Spot ito, 1x, kaya hindi kailanman hihingi ang libro ng mas malaking halaga kaysa sa magagamit na cash. Nililimitahan din nito ang pinakamasamang lugi sa isang naipit na siklo sa humigit-kumulang 24% ng equity, batay sa limitasyon ng kontrata na 25% sa pinakamataas na drawdown. Walang ebidensiya tungkol sa gayong buntot ng panganib sa sandbox. 4 basket lamang ang isinara nito, at pawang panalo: nangangahulugan ang PF 0.0 na walang natalong saradong trade (tingnan ang L188), hindi na may mali sa pagtatala. 28.6% na ang drawdown nito (mark-to-market, 12 araw), na mas mataas sa limitasyong 25%. Humigit-kumulang 0.20% ang round-trip na gastos sa spot kumpara sa take-profit ng basket na 2%, kaya hindi bayarin ang panganib. Ang panganib ay ang mahabang pagbaba ng ETC na nag-iiwan sa basket na naipit pagkatapos ng 7 dagdag. Dapat suriin ng analyst ang drawdown ng pinakamasamang bukas na imbentaryo, kung gaano katagal hawak ang mga naipit na basket, at kung gaano kakonsentrado ang antas ng panalo sa buong kasaysayan.

Pagsusuri ng Backtest

Sharpe
0.35
Kabuuang Return
35.99%
Max Drawdown
19.50%
Kabuuang Trade
805
Win Rate
99.9%
Profit Factor
3.16

Gumana ang naunang pag-aayos sa imbentaryo: 805 saradong long basket. Tumutugma sa tinukoy na mekanismo ang mga sinuring exit at pabagu-bagong laki ng akumulasyon.

Lumampas ang netong average return kada trade na 1.801% sa minimum para sa pagsusuri ng spot na 0.25%; sapat na batayan ang PF 3.156 at kabuuang return na +35.990% para magpatuloy sa ebalwasyong naka-freeze at hindi binabago ang mga parameter.

Nagkakatugma ang accounting; zero ang terminal unrealized return. Ang return ng na-sample na buy-and-hold ay -38.745%, na may tinatayang drawdown na 94.634%, kumpara sa drawdown ng strategy na 19.497%.

Sumasalamin ang antas ng panalong 99.876% sa mga exit na take-profit lamang at isang panghuling pagsasara nang lugi; hindi ito nagpapatunay ng katatagan. Nalugi ng $16,692 ang huling basket pagkatapos ng 337 araw; walang naitatag na mekanismo ng artifact.

Napatunayan ang alalahanin ni QA tungkol sa naiwang inventory: tumagal nang 921 araw ang isang basket at nagkaroon ng MAE sa -81.632% trade bago makabawi. Gayunman, nananatili sa loob ng limitasyong itinakda sa kontrata na 25% ang drawdown ng account.

MTM ang Sharpe na 0.353, negatibo ang limang taon sa kalendaryo, at 95.05% ang exposure. Kailangan pa rin ang forward validation.

Pagsusuri

Malapit na tumutugma ang pinal na replay na may nakapirming parameter sa baseline: 805 saradong basket, Sharpe na 0.355 at kabuuang kita na 36.298%.

Mas mataas ang karaniwang netong kita bawat trade na 1.802% kaysa sa ibinigay na hangganan ng ekonomiya na 0.40%; ang PF 3.216 at drawdown na 19.497% ay nananatili sa loob ng limitasyong 25% ng kontrata.

Natugunan ang mga hula para sa bilang ng trade, return, return kada trade, at drawdown sa buong kasaysayan. Hindi pa nasusukat ang kabuluhang estadistikal ng OOS.

Ang sinuring kita sa buy-and-hold ay -38.745%, na may drawdown na humigit-kumulang 94.634%; hindi ang hindi pagdaig sa benchmark ang dahilan ng pagtanggi.

Ipinatupad ang hard failure: 4 lang sa 9 nakalantad na taon sa kalendaryo ang kumita, 44.4% kumpara sa hinihinging 60%. Hindi ito inuri bilang abiso para sa soak test.

Nag-ambag ang 2021 ng 112.3% ng tubo; 0.194 ang Calmar at tumagal nang 921 araw ang pagbangon mula sa drawdown.

Ipinapakita ng win rate na 99.876% ang mga exit sa profit target habang nananatiling bukas ang inventory na lugi. Tumagal nang 921 araw ang nanalong basket at nagkaroon ng adverse excursion na -81.63%. Nalugi ng $16,692 ang huling basket matapos ang 336 araw, humigit-kumulang katumbas ng 255 karaniwang panalo. Hindi pinatutunayan ng mga obserbasyong ito na may artifact ang engine.

May 114 trade at Sharpe na -0.500 ang holdout na 608 araw, pero hindi tiyak ang pagtatasa nitong HAC; hindi ito tinanggihan sa estadistika. Walang kumpletong saklaw na MTM ang pinagsama-samang kabuluhang estadistikal ng OOS, at walang bisa ang consistency dahil magkaiba ang dalas ng return.

Payo lamang ang cliff sa sensitivity ng threshold ng drawdown. Hindi alam ang mga walang laman na sukat sa sweep. Itinatakda ng kontrata ng tapat na port ang bawat parameter.

soft

hard

IMPLEMENTATION FIX — hindi nagbabago ang hypothesis: ipagawa sa code ang sinasabi na nito. Huwag magdagdag o magpalit ng mga tuntunin sa trading. Pag-aayos lamang sa implementasyon; huwag baguhin ang hypothesis o anumang nakapirming halaga ng kontrata. Dapat tuluyang maging flat ang posisyon ng engine para sa ETCUSDT.BINANCE_SPOT sa dulo ng bawat siklo ng akumulasyon, upang maiulat ang bawat siklo bilang isang saradong posisyon. Sa backtest, nagbukas ito ng 2018-06-21 at hindi kailanman nagsara (isang posisyong……Magpakita ng higit paMagpakita ng mas kaunti

IMPLEMENTATION FIX — hindi nagbabago ang hypothesis: ipagawa sa code ang sinasabi na nito. Huwag magdagdag o magpalit ng mga tuntunin sa trading. Pag-aayos lamang sa implementasyon; huwag baguhin ang hypothesis o anumang nakapirming halaga ng kontrata. Dapat tuluyang maging flat ang posisyon ng engine para sa ETCUSDT.BINANCE_SPOT sa dulo ng bawat siklo ng akumulasyon, upang maiulat ang bawat siklo bilang isang saradong posisyon. Sa backtest, nagbukas ito ng 2018-06-21 at hindi kailanman nagsara (isang posisyong 3033 araw, humigit-kumulang 2,350 fill). Mga pag-aayos: (1) Ibatay ang dami ng take-profit na SELL sa aktuwal na dami ng bukas na posisyon ng engine (cache.positions_open(instrument_id)[0].quantity, ibinawas ang anumang komisyon sa base asset), hindi sa self.current_pos. Tiyaking hindi mababawasan ang dami nang mas mababa sa hawak na halaga. Kung hindi multiple ng size_increment ang hawak na dami, ibenta ang buong hawak na dami; dapat isara ang anumang natitirang alikabok na mas mababa sa increment pagkatapos ng fill, o hindi ito dapat ituring na bukas na siklo. (2) Sa bawat bar at sa on_order_filled, itugma ang self.current_pos sa dami ng posisyon ng engine. Kapag naibaba ng fill na SELL sa sero o alikabok ang posisyon, i-reset ang avg_price, entry_lowest, last_entry_price at current_increase_pos_times, upang malinis ang simula ng susunod na siklo, gaya ng nasa pinagmulan. (3) Magtala o mag-assert kung tinanggihan o ibinasura ang isang SELL na reduce-only. (4) Patakbuhin muli at tiyakin: nasa daan-daan o higit pa ang bilang ng mga saradong posisyon, mga oras hanggang linggo ang avg_holding, at hindi hihigit sa imbentaryo ng isang siklo ang huling bukas na posisyon sa katapusan ng backtest. Pagkatapos, masusuri ang avg_trade_return_pct, PF at antas ng panalo batay sa 0.25% na spot floor. ## Mga pagpipino sa aklatan (mula sa aklatan ng kaalaman; subukan ang mga ito, huwag ipagpalagay na tama) Nasa aklatan ang eksaktong source ng MartingleSpotStrategyV2. Sinusuportahan ng mga tuntunin nito ang pag-aayos ng analyst: lumabas sa buong basket mula sa totoong posisyon at i-reset ang siklo kapag flat na. Sinasabi sa sariling V3 ng may-akda at sa dalawang artikulo niya tungkol sa disenyo ng FMZ DCA/grid na ang mga mapanganib na bahagi ay kawalan ng trend gate, basket stop at time exit, dagdag pa ang antas ng panalong sinusukat lamang sa mga nakumpletong siklo. Binabago ng mga pagpipinong 2-5 ang mga tuntunin, kaya dapat mapabilang ang mga ito sa variant hypothesis, hindi sa tapat na port. 1. [exit] Paglabas sa basket batay sa laki ng posisyon ng engine, pag-reset ng siklo kapag flat: Implementasyon lamang, hindi binago ang mga tuntunin. Ang dami ng take-profit na SELL ay ang dami ng bukas na posisyon ng engine, cache.positions_open(instrument_id)[0].quantity, hindi self.current_pos. Huwag itong i-round down nang mas mababa sa hawak na halaga. Sa bawat bar at sa on_order_filled, itakda ang current_pos = dami ng engine at avg_price = avg_px_open ng posisyon ng engine. Kapag flat ang posisyon, o may hawak itong notional na mas mababa sa 11 USDT (ang min_notional ng pinagmulan), i-reset ang avg_price=0, entry_lowest=0, last_entry_price=0, current_increase_pos_times=0 at i-clear ang mga listahan ng buy/sell order. Itala ang anumang tinanggihan o ibinasurang SELL na reduce-only. Suriin ang muling pagtakbo batay sa equity sa mark-to-market, hindi sa antas ng panalo ng mga nakumpletong siklo. — Ipinapakita ng backtest ang posisyong 1 sa loob ng 3033 araw, 6 'trade' at antas ng panalong 100%. Hindi nagsasara ang mga siklo, kaya walang saysay ang mga sukatan bawat trade. Ibinebenta ng source ang abs(current_pos) at pinapatakbo lamang ang susunod na siklo kapag current_pos*close < min_notional (V2 on_bar/on_trade), kaya dapat magkatugma ang lokal at totoong hawak. Inilalabas ng D-Man V3 ang lahat ng napunong layer bilang isang basket sa karaniwang presyo ng posisyon sa exchange, upang maiwasan ang 碎片持仓 at mga naulilang order. Pinatitigil ng artikulo tungkol sa Kelly-grid ang bagong panganib kapag hindi magkatugma ang 持仓与本地账本. Nagbababala rin ito na itinatago ng antas ng panalo ng nakumpletong grid (halimbawa nito: 96.8%) ang mga bukas na lugi, kaya sinusukat nito ang estratehiya batay sa equity sa mark-to-market. (source: MartingleSpotStrategyV2 p.1; 用 Rust 在 FMZ 实现 D-Man V3 布林带反转DCA策略 p.1; 网格不该决定仓位:用分数凯利给只做多网格加一道资金预算 p.1) 2. [regime] Trend gate para lamang sa mga bagong siklo: Variant lamang. Magsimula ng bagong siklo (ang unang BUY) kung, sa pagsasara ng bar, EMA(3000) >= EMA(12000) sa mga pagsasara kada 1m (humigit-kumulang 50h at 200h) AND close >= EMA(12000). Hindi magbabago ang mga dagdag at exit habang bukas ang siklo. Itaas ang warmup_bars mula 4320 tungo sa 12000. — Bumibili ang V2 sa bawat pagbaba ng 4% mula sa pinakamataas sa loob ng 2 araw anuman ang trend. Sa ETC, bumibili iyon habang nagpapatuloy ang mahabang bear trend at nag-iipon ng hanggang 8 layer ng imbentaryo. Pinapahintulutan lamang ng long-only Kelly grid ang mga bagong entry sa grid kapag FastEMA >= SlowEMA at Close >= SlowEMA. Ang pangangatwiran nito: 正向漂移都是待验证假设 (palagay na kailangang subukan ang positibong drift, hindi ito batas). Hindi dapat habulin ng anchor ang pababang presyo habang bukas ang isang posisyon. (source: 网格不该决定仓位:用分数凯利给只做多网格加一道资金预算 p.1) 3. [stop] Basket stop sa 2% ng equity sa simula ng siklo, kasama ang time exit: Variant lamang. Lumabas sa buong basket sa pagsasara ng bar kung ang hindi pa natatantiyang lugi ay hindi bababa sa 2.0% ng equity na naitala sa simula ng siklo: (avg_price - close) * position_qty >= 0.02 * cycle_start_equity. Lumabas din kung bukas na ang siklo nang mahigit 43200 bar (30 araw). Pagkatapos ng stop, maghintay ng 1440 bar bago makapagsimula ng bagong siklo. — Kapag ganap nang nalagyan ng posisyon, may hawak ang siklo na 1% * (1 + 1.3 + ... + 1.3^7) ≈ 23.9% ng equity, at walang anumang nagsasara rito nang lugi. Nagmula sa iisang imbentaryong hawak nang ilang taon ang pinakamataas na drawdown na 19.5% ng backtest na ito. Inilalabas ng D-Man V3 ang basket kapag umabot sa 3 × ScaleRatio ang stop at pagkatapos ng MaxHoldingBars. May nakakandadong RISK_HALT ang Kelly grid kapag may hard stop o drawdown sa equity. Natutugunan din ng stop na 2% ng equity ang opsyon (a) sa pagkontrol ng panganib ng platform. (source: 用 Rust 在 FMZ 实现 D-Man V3 布林带反转DCA策略 p.1; 网格不该决定仓位:用分数凯利给只做多网格加一道资金预算 p.1) 4. [exit] Trailing take-profit ng may-akda na V3: Variant lamang. Palitan ang nakapirming limit ng take-profit na 2%. Subaybayan ang entry_highest = max(high) mula noong huling fill. Lumabas sa basket sa pagsasara kapag close/avg_price - 1 >= 0.02 AND entry_highest/close - 1 >= 0.01. Panatilihing exit_profit_pct=0.02 upang malampasan pa rin ng bawat trade ang 0.25% spot floor kasama ang humigit-kumulang 0.2% round-trip na bayarin sa spot. — Sa MartingleSpotStrategyV3, pinalitan ng 51bitquant ang nakapirming take-profit ng V2: 利润超过1%,且最高价回调1%后平仓 (exit_profit_pct=0.01, exit_pull_back_pct=0.01), kaya maaaring lumampas sa target ang kita ng mga panalong trade. Gumagamit din ang D-Man V3 ng trailing take-profit na ina-activate sa 0.8 × ScaleRatio. Pinananatili natin ang minimum na kita na 2% sa halip na ang V3 na 1% dahil 0.1% bawat panig ang bayarin sa spot sa aming venue. (source: MartingleSpotStrategyV3 p.1; 用 Rust 在 FMZ 实现 D-Man V3 布林带反转DCA策略 p.1) 5. [parameter] Agwat ng dagdag na iniangkop sa volatility at may minimum na gastos, nakapirmi sa bawat siklo: Variant lamang. Sa pagsisimula ng siklo, i-freeze ang dump_down_pct = clamp(max(0.04, 3 * ATR(14 kada oras, binuo mula sa 840 1m bar)/close, 2*(0.001+0.0005)*2), 0.04, 0.12). Itakda ang bounce_back_pct = 0.25 * dump_down_pct, na may minimum na 0.01. Mananatiling nakapirmi ang dalawa sa buong siklo. — Masyadong masikip ang nakapirming 4% na hakbang ng dagdag kapag pabagu-bago ang ETC, kaya maagang napupunan ang lahat ng 7 dagdag habang bumabagsak ang presyo, at masyado naman itong maluwag kapag kalmado ang merkado. Itinatakda ng Kelly grid ang spacing = max(MinGridPct, ATR/Price × AtrMultiplier, 2 × (bayad+slippage) × CostFloorMultiple). Binabanggit nito na hindi dapat ilipat ng mga pagbabago sa ATR sa kalaunan ang mga target ng mga napunang layer. Iniiaangkop din ng D-Man V3 ang mga distansya ng DCA nito batay sa kalahating lapad ng band, na nililimitahan sa pagitan ng 0.2% at 8%. (source: 网格不该决定仓位:用分数凯利给只做多网格加一道资金预算 p.1; 用 Rust 在 FMZ 实现 D-Man V3 布林带反转DCA策略 p.1)

Buod ng Resulta

Maaaring magsabay ang halos perpektong win rate sa profit target at maraming taong nakababad sa lugi ang inventory, kasabay ng mahinang performance sa mga taon sa kalendaryo.

Tinalikuran ito ng analyst dahil nabigo ito sa ipinapatupad na rekisito para sa mga taong may positibong kita: 44.4% kumpara sa 60%, kasama ang pagkakonsentra ng mga kita at matagal na pag-iipon habang nananatili sa ilalim ng dating pinakamataas na antas. Pasado ang ekonomiya ng mga bayarin; hindi naging batayan ng pagtalikod ang hindi tiyak na kabuluhan at isang artifact ng engine, at hindi umabot sa pagsusuri ng panganib.

Matapat na port ng ETC spot drawdown-and-bounce accumulation gamit ang limit order na presyong pang-close, nakapirming equity base ng 1% cycle, hanggang pitong dagdag sa 1.3 multiplier, at target na kita na 2% nang walang stop-loss.

Nagbalik ang baseline backtest ng 35.990% na may Sharpe na 0.353, 805 saradong basket at pinakamataas na drawdown na 19.497%; nagbalik ang pinal na replay na may nakapirming parameter ng 36.298% na may Sharpe na 0.355. Ang pinal na karaniwang netong kita bawat trade ay 1.802%, ngunit 4 lamang sa 9 nakikitang taon sa kalendaryo ang kumita at nag-ambag ang 2021 ng 112.3% sa kita.

Pagsusuri

MartingleSpotStrategyV2

Pagsusuri

martingle_spot_strategyV2.py

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.