Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

FMZ '50-Line Grid (Teaching)' ni 发明者量化-小小梦, tapat na port: pataas na short grid na batay sa ganap na puntos (direction=1) sa ETHUSDT.BYBIT 5m, pagitan ng node na 20 puntos, cover na 50 puntos bawat node, limitasyong 10 node at stop-out sa pinakamatandang node

Resulta: Inabandona

FmzFiftyLineGridEthBybit5m

Buod ng Resulta

Sinubukan ng FmzFiftyLineGridEthBybit5m ang short-grid na salin ng teaching script na FMZ, na naka-scale sa kapital at gumagamit ng mga saradong bar na 5-minuto ng ETH. Sa loob ng 2,039 araw, naghatid ang 731 isinara nang posisyon ng -65.63% na return, Sharpe na -0.802 at pinakamataas na drawdown na 68.35%, sa kabila ng win rate na 85.23%. Itinigil ng pagsusuri sa backtest ang port na ito dahil nilamon ng malalaking pagkalugi ang maliliit na panalo; walang natukoy na depekto sa datos o accounting o nasubok na kumikitang hanay ng parameter na susuporta sa pag-ulit. Hindi naabot ang optimization at mga sumunod na pagsusuri; hindi saklaw ng pagtanggi ang orihinal na ticker-poll strategy ng may-akda o ang mga grid sa pangkalahatan.

Hypothesis

Tapat na salin ng open-source strategy na FMZ '50行网格策略(教学)' (https://www.fmz.com/strategy/113144, may-akda na si 发明者量化-小小梦, na kinikilala bilang pinagmulan). Pinananatili ng script ang last-in-first-out na stack ng mga grid node, bawat isa ay {price, hold, coverPrice}. Tinatawag ng orihinal ang UpdateGrid(bid, ask, direction) sa bawat 500 ms na ticker poll; tinatawag naman namin ito sa bawat saradong bar na 5-minuto. Sa default na direction=1, pataas na SHORT grid ito na nagdaragdag habang RISES ang presyo.……Magpakita ng higit paMagpakita ng mas kaunti

Tapat na salin ng open-source strategy na FMZ '50行网格策略(教学)' (https://www.fmz.com/strategy/113144, may-akda na si 发明者量化-小小梦, na kinikilala bilang pinagmulan). Pinananatili ng script ang last-in-first-out na stack ng mga grid node, bawat isa ay {price, hold, coverPrice}. Tinatawag ng orihinal ang UpdateGrid(bid, ask, direction) sa bawat 500 ms na ticker poll; tinatawag naman namin ito sa bawat saradong bar na 5-minuto. Sa default na direction=1, pataas na SHORT grid ito na nagdaragdag habang RISES ang presyo. Nagbebenta ito ng isang node kapag walang laman ang grid o kapag tumaas ang presyo nang higit sa _GridPointDis sa ibabaw ng pinakabagong node. Binibili nitong muli ang pinakabagong node kapag bumaba ang presyo sa ilalim ng coverPrice nito (presyo ng node minus _GridCovDis); ito ang take-profit at dinaragdagan ang _StopWin. Kung walang naganap na take-profit at bukas ang mahigit _GridNum node, binibili nitong muli ang node na OLDEST; ito ang stop-out at dinaragdagan ang _StopLoss. Mga default na halaga ayon mismo sa pagkakasulat: direction=1, _GridNum=10, _GridPointAmount=0.1, _GridPointDis=20, _GridCovDis=50. Mga ABSOLUTE price point sa quote currency ang mga distansya, hindi porsiyento, at mananatili silang gayon. Venue: BYBIT USDT linear perp (kailangan ang short; 0.055% taker, mga 0.11% balikan). Instrumentong ETHUSDT.BYBIT, uri ng bar na ETHUSDT.BYBIT-5-MINUTE-LAST-EXTERNAL, may 5-minutong kasaysayan mula 2021-03-15 (mga 580k bar). Sadyang pinili ang instrumento. Sa BTC ngayon, mga 0.05% ang katumbas ng 50 puntos, na nauubos sa bayarin. Sa ETH sa hanay na 2021-2026 ($900-$4,900), 50 puntos ang 1.0%-5.5% at 20 puntos ang 0.4%-2.2%. Dahil dito, ETH ang likidong pangunahing asset kung saan lampas sa bayarin ang mga literal na constant. Ginamit ang Bybit sa halip na Binance USD-M dahil hawak na ng Binance ang 67% ng corpus. Presyo lang ang kailangan ng strategy, kaya walang epekto rito ang kawalan sa Bybit ng funding at mga OI collector. Tinanggihan ang ETHUSDT.OKX dahil doon lang nagsisimula ang mga bar na wala pang isang oras noong 2026-09-24. Walang quote ang mga bar, kaya bid = ask = pagsasara ng bar. Isang pasada kada bar ang takbo ng strategy at pinananatili ang limitasyon ng script na hanggang isang bagong node at isang cover kada pasada. Sizing: walang saysay sa account na $100k ang literal na _GridPointAmount = 0.1 ETH (mga $300). Kaya gumagamit ang nasuring takbo ng node_notional_pct = 4% ng equity kada node; sa pinakamaraming 11 node, nangangahulugan ito ng notional na 44% sa leverage na 1.0. Iniimbak kada node ang napunang halaga at iyon ang ginagamit ng mga cover. Hindi kailanman flat ang strategy: kapag naubos ang grid matapos ang take-profit, nagbebenta ito ng bagong node sa susunod na bar, kaya inaasahang flat ito nang halos 0% ng oras.

negative_expectancy: Tanggihan ang port na teaching grid na ito na ETHUSDT.BYBIT 5-minuto at naka-scale sa kapital, hindi ang orihinal na ticker-poll strategy ng may-akda o ang mga grid sa pangkalahatan. Naitutugma ang netong PnL ng mga isinara nang posisyon sa -$65,625.36, kasama ang na-credit na funding. Dinaig ng madalang na malalaking pagkalugi ang madalas na maliliit na panalo, kaya naging PF 0.680 at negatibo ang Sharpe sa loob ng 2,039 araw. Mas mataas sa benchmark sa pagsusuri na +0.15% ang arithmetic return ng +1.298% netted positions, pero hindi ito sukatan ng bayarin kada node. Hindi makatuwiran ang optimization. Walang natukoy na depekto sa accounting o datos.

Implementasyon

Tapat na port ng FMZ '50-Line Grid (Teaching)' ni 发明者量化-小小梦: stack na LIFO ng mga grid node sa ETHUSDT.BYBIT 5m. direction=1 short grid: magbenta ng node kapag walang laman ang grid o kapag mahigit 20 puntos sa ibabaw ng pinakabagong node ang close (bagong presyo ng node = pinakabago+20, coverPrice = node-50); bilhing muli ang pinakabagong node kapag mas mababa ang close sa coverPrice nito (take-profit, _StopWin++); kung hindi, bilhing muli ang node na OLDEST kapag bukas ang mahigit 10 node (stop-out, _StopLoss++). Isang pasada kada saradong 5m bar; bawat node = 4% ng notional na equity; reduce-only na market order gamit ang halagang nakaimbak sa node ang mga cover.

Inilipat nang linya por linya ang UpdateGrid() sa na-override na _process_primary (hindi kayang magdagdag o mag-alis ng iisang node ang flat->enter / whole-exit loop ng base template). Ginagamit ang pagsasara ng bar para sa bid at ask dahil walang quote ang mga bar. Tumatakbo ang pasada sa bawat saradong bar na 5-minuto sa halip na bawat 500 ms na ticker poll, at pinananatili ang limitasyon ng orihinal na isang push at isang cover kada pasada. Nananatiling ABSOLUTE puntos ang pagitan at cover ng node (20/50).……Magpakita ng higit paMagpakita ng mas kaunti

Inilipat nang linya por linya ang UpdateGrid() sa na-override na _process_primary (hindi kayang magdagdag o mag-alis ng iisang node ang flat->enter / whole-exit loop ng base template). Ginagamit ang pagsasara ng bar para sa bid at ask dahil walang quote ang mga bar. Tumatakbo ang pasada sa bawat saradong bar na 5-minuto sa halip na bawat 500 ms na ticker poll, at pinananatili ang limitasyon ng orihinal na isang push at isang cover kada pasada. Nananatiling ABSOLUTE puntos ang pagitan at cover ng node (20/50). Sumusunod ang presyo ng node at coverPrice sa grid arithmetic (newest.price + 20*direction), hindi sa presyo ng fill, gaya mismo ng script. Sizing: pinalitan ang 0.1 ETH ng node_notional_pct=4% ng equity (x leverage na 1.0). Saglit na umaabot sa 11 node ang stack at may hawak itong 10 pagkatapos ng stop-out, kaya humigit-kumulang 44% ang pinakamataas na notional. Nananatili ang grid bilang naka-save na dict ng scalar node, kaya hindi ito nare-reset sa pag-restart. Inaalis ang lumang grid kapag walang bukas na posisyon. Paalala sa pagbasa ng resulta (aral L175): NETTING ang venue at halos hindi nagiging flat ang strategy, kaya itinatala ng ulat ng mga posisyon ang mahahabang sunod-sunod na multi-node bilang iilang trade. Isaalang-alang ito sa pagbasa sa total_trades at avg_trade_return_pct; ipinapakita ng mga counter na stop_win at stop_loss sa decision log ang totoong bilang kada node. Alalahanin sa disenyo, hindi binago: kapag patuloy na nagdaragdag ang short grid habang umaakyat ang presyo, nililimitahan ng stop-out sa pinakamatandang node ang imbentaryo pero nalulugi nang humigit-kumulang 20-200 puntos bawat na-stop-out na node, at malakas ang trend ng ETH sa loob ng 2021-2026.

Mga Resulta ng Beripikasyon

Suriin laban sa fmz.com/strategy/113144. Kung nowPrice ang ginagamit ng orihinal, palitan ang cover ng price - direction*grid_cov_dis. Hindi ito hadlang dahil ipinapatupad ng code ang hypothesis ayon sa pagkakasulat.

Itinatakda ang coverPrice sa node_price - direction*grid_cov_dis. Ganito rin ang sinasabi ng hypothesis ('presyo ng node minus _GridCovDis'), kaya tugma rito ang code. Sa pagkakaalala ko sa source ng FMZ, itinatakda nito ang coverPrice mula sa kasalukuyang bid/ask (nowPrice ∓ _GridCovDis). Kung ganoon, naiiba ang coverPrice sa orihinal tuwing malayo ang fill sa nahuhuling presyo ng node ayon sa grid arithmetic.

Panatilihin ayon sa idineklara. Iulat sa decision log ang karaniwang agwat sa pagitan ng fill at node_price upang makita ng analyst kung gaano binabaluktot ng bar sampling ang grid.

Mula sa ticker poll na 500ms, naging pagsasara kada 5m ang pagitan ng desisyon, mga 600x (L169). Halos hindi nakadepende sa pagitan ang level grid na may agwat na 20/50 puntos sa ETH: mas mababa sa agwat na 20 puntos ang karaniwang galaw sa loob ng 5m, at hindi umaasa ang disenyo sa puwesto sa pila o cancel-replace, kaya hindi ito tinanggihan. May dalawang limitasyon pa rin. Hindi nasasama ang mga pagtawid sa loob ng bar (high/low). Sa mabilis na galaw, nahuhuli nang higit sa hakbang na 20 puntos ang mga presyo ng node sa fill, dahil isang node lang kada bar ang maaaring idagdag.

Dapat gamitin ng analyst ang mga counter na stop_win/stop_loss at PnL sa antas ng fill. Kung hindi, maglabas ng realized PnL kada node sa _note_decision kapag isinara ang isang node.

Pagbaluktot ng trade ledger: sa venue na NETTING, itinatala ng grid na hindi nagiging flat ang mahahabang sunod-sunod na node bilang iilang posisyon. Sa sandbox, 4 trade iyon mula sa 187 fill, avg_trade_return_pct +6.35% laban sa total_return -12.3%, at PF 0.10 na may win rate na 0.75. Hindi wasto ang anumang paghahambing sa minimum na bayarin o pagsusuri ng tanda batay sa mga field na ito.

Sandbox (70 araw, 1 draw): -12.3%, PF 0.10, DD 15%. Pinagsasama ng ulat ng mga posisyon ang grid sa 4 'trade' samantalang 187 order ang na-fill. Kaya hindi mababasa kada node ang total_trades, avg_trade_return_pct (+6.35% laban sa negatibong return) at PF (hugis na L116/L133/L140). Nagmumula ito sa ledger ng NETTING at isiniwalat ito ng developer; hindi ito bug sa code ng strategy. Hatulan ang ekonomiya kada node mula sa mga counter na stop_win/stop_loss sa decision log o sa mga fill, huwag kailanman mula sa avg_trade_return_pct. Pagdududa sa mekanismo: ang short grid na nagdaragdag ng isang node kada 5m bar habang nahuhuli nang 20 puntos ang mga presyo ng node sa mabilis na pag-akyat ay nagbebenta nang mas mataas sa presyo ng node. Pagkatapos, mas mababa ang mga cover nito at nagkakaroon ng stop-out sa pinakamatandang node kada bar kapag bukas na ang 11. Sa ETH 2021-2026 (malalakas na trend noong 2021 at 2024), malamang na mangibabaw ang bigat ng mga stop-out. Suriin muna ang ratio na stop_loss/stop_win at ang pagkalugi sa bawat na-stop-out na node.

Pagsusuri ng Backtest

Sharpe
-0.80
Kabuuang Return
-65.63%
Max Drawdown
68.35%
Kabuuang Trade
731
Win Rate
85.2%
Profit Factor
0.68

Kumpletong kasaysayan ng 587,074 bar; naisumite ang lahat ng 9,116 entry order. Sinusunod ng code ang tinukoy na pagkakasunod-sunod ng short grid, at short ang lahat ng isinara nang posisyon.

Naitutugma ang PnL ng mga isinarang posisyon sa pagkalugi ng account; na-credit ang funding at walang natitirang unrealized gain sa dulo.

Pinatutunayan ang alalahaning pang-ekonomiya ng QA: ang 623 panalong posisyon ay may karaniwang kita na $224.22, samantalang ang 108 naluluging posisyon ay may karaniwang pagkalugi na -$1,901.07. Netong pagkalugi: $65,625.36, PF 0.680, at Sharpe na -0.802.

Mas mataas sa benchmark sa pagsusuri ng venue na +0.15% ang iniulat na avg_trade_return_pct +1.298%, pero hindi sinusukat ng mga average ng netted positions ang ekonomiya ng grid node o napapawalang-bisa ang mga naitugmang pagkalugi. Wala ang mga counter ng node at mga indibidwal na fill; walang sinasabing per-node stop-out ratio.

Nalugi sa lima sa anim na taon sa kalendaryo. Ang drawdown ng strategy ay 68.35%. Nagbalik ng +34.16% ang buy-and-hold, na may tinatayang drawdown na 78.90% sa nasuring benchmark curve.

Walang naipakitang depekto sa implementasyon o nasubok na kumikitang hanay ng parameter na sumusuporta sa pag-ulit; hindi nabago ng mas mahabang kasaysayan ang naunang pagtanggi batay sa ekonomiya.

Buod ng Resulta

Hindi pinatutunayan ng mataas na win rate at positibong arithmetic return ng netted positions na kumikita ang grid nodes sa pangkalahatan kapag nilalamon ng madalang na malalaking pagkalugi ang madalas na maliliit na kita.

Nagpasya ang pagsusuri sa backtest na itigil dahil negatibo ang inaasahang halaga, na may naitugmang netong pagkalugi na $65,625.36 at walang natukoy na depekto sa accounting o datos. Hindi naabot ang optimization at ang mga sumunod na pagsusuri ng analyst at risk team.

Inilipat nito ang teaching grid na FMZ sa mga bar na ETHUSDT.BYBIT 5 minuto, nagdaragdag ng short kada 20 ganap na price point at sinasara ang pinakabagong mga node matapos bumaba nang 50 puntos, gamit ang sizing na batay sa kapital at stop-out sa pinakamatandang node.

Sa loob ng 2,039 araw at 731 isinara nang posisyon, nagbalik ito ng -65.63%, may Sharpe na -0.802 at pinakamataas na drawdown na 68.35%. Sa kabila ng win rate na 85.23%, nilamon ng karaniwang pagkalugi na $1,901.07 ang karaniwang panalo na $224.22, kaya naging 0.680 ang profit factor.

Pagsusuri

50 Linya ng Grid Strategy (Pagtuturo)

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.