Nilalaman ng artikulo
- Ebidensiya at saklaw
- Ilustrasyon
- Proseso
- Ang isang rolling boundary ay hindi isang kumpirmadong swing.
- Gumawa ng sanggunian bago uriin ang kaganapan
- Ang isang hangganan ay maaaring magdulot ng iba't ibang wastong resulta
- Oras ng order, pagpapawalang-bisa at pag-expire
- Maaaring pumili ang volume ng mas malalakas na galaw at mas mahal na mga pagpuno
- Subukan ang kalkulasyon ng sanggunian bago ang estratehiya
- Mga karaniwang pagkakamali
- Praktikal na checklist
- Mga madalas itanong
- Mga sanggunian sa pananaliksik
Ebidensiya at saklaw
Sinusuportahan ng mga sanggunian ang mga pormula ng channel, paglilipat ng datos, at kunwaring timing ng order. Walang makasaysayang pag-aangkin sa pagsunod sa trend ang itinuturing na ebidensya na ang partikular na entry, volume threshold, at exit na iminungkahi rito ay kumikita.
Praktikal na daloy ng gawain
- Kolektahin ang N barsGamitin ang mga natapos na obserbasyon bago ang kasalukuyang bar.
- I-freeze ang U at DItala ang presyo at edad ng bawat extreme.
- Uriin ang kaganapanAng closing breakout ay naiiba sa excursion at reclaim.
- Gamitin ang trading volumeGamitin lamang ang mga feature na available kapag isinumite na ang order.
- Gayahin ang pagpapatupadIlapat ang patakaran sa rehistradong pagpasok, paghinto, at pag-expire.
Ang isang rolling boundary ay hindi isang kumpirmadong swing.
Kinukuha ng Donchian ang mga sukdulan ng N obserbasyon; inilalarawan ng TradingView ang mga upper at lower band at ang kanilang midpoint na [1]. Hindi tulad ng isang two-sided pivot, hindi ito nangangailangan ng kasunod na pagbaligtad. Alam na ang nakumpletong prior window kapag nagsisimula ang susunod na bar. Sa panahon ng isang trend, ang upper boundary nito ay maaaring patuloy na tumaas nang hindi gumagana bilang resistance na nananatili.
Ang iminungkahing kahulugan ng sanhi ay U[t]=max(H[t−N:t]), D[t]=min(L[t−N:t]), M[t]=(U[t]+D[t])/2, kung saan hindi kasama ang itaas na dulo ng hiwa. Kaya ang window ay nagtatapos sa t−1. Kung ang H[t] ay kasama sa U[t], ang kondisyong H[t]>U[t] ay nagiging imposible sa pamamagitan ng pagbuo.
Ang simpleng pagkakaibang ito ay nakakaapekto sa buong eksperimento. Ang isang charting indicator ay maaaring magpakita ng isang banda kasama ang aktibong bar para sa mga layuning biswal; dapat pa ring tukuyin ng estratehiya kung aling historical snapshot ang ginagamit nito. Itabi ang timestamp ng pinagbabatayang sukdulan pati na rin ang presyo nito upang ang mga susunod na diagnostic ay makilala ang mga bagong hangganan mula sa mga lumang sukdulan na malapit nang mag-expire.
Gumawa ng sanggunian bago uriin ang kaganapan
Sa pandas, ang paglilipat ng mga halaga ay naghihiwalay sa reference window mula sa row na sinusuri [2]. Ang isang implementasyon ay high.shift(1).rolling(N).max(). Ang paglilipat ng isang index gamit ang freq ay hindi kapalit ng paglipat ng mga naobserbahang halaga kaugnay ng decision row. Kinakailangan ang isang buong valid na window sa halip na tahimik na payagan ang isang nagbabagong bilang ng mga obserbasyon.
Kinakategorya ng baseline ang isang nakumpletong pagsasara na lampas sa isang banda na may b=max(2 ticks,0.1×ATR[t−1]); ang N=20 at 0.1 ay mga iminungkahing setting ng pananaliksik. Para sa agarang klasipikasyon na may isang bar, kalkulahin ang isang bagong sanggunian sa prior-window sa bawat bar. Para sa isang kandidato para sa multi-bar sweep at reclaim, i-freeze ang orihinal na level kapag nagsimula na ang kandidato.
Kung hindi, papasok ang excursion bar sa susunod na rolling window at ililipat ang boundary na binabawi. Ang pagbabalik sa ibaba ng na-update na boundary ay maaaring ibang pangyayari sa pagbabalik sa ibaba ng level na aktwal na nalabag. Panatilihin ang candidate_id, frozen_level, reference timestamp at expiry upang manatiling matatag ang nilalayong tanong sa buong setup.
U = max(H[t-N:t]); D = min(L[t-N:t])
b = max(2*tick, 0.1*ATR[t-1])
if no_active_setup and C[t] > U+b:
emit('up_breakout', signal_at=t, frozen_level=U)
if no_active_setup and H[t] > U+b and C[t] < U:
emit('upper_reclaim', signal_at=t, frozen_level=U)
# These labels represent different hypotheses.
# A close-confirmed order can be processed only after close t.
Ang isang hangganan ay maaaring magdulot ng iba't ibang wastong resulta
Halimbawa ng sintetiko: ang mga nakaraang 20 bar ay may U=105, D=99 at ATR=1. Gamit ang tick=0.01, b=0.10. Ang kasalukuyang bar na may H=106 at C=105.4 ay lumilikha ng upward close breakout. Ang iminungkahing next-open purchase sa 105.5, stop sa 103.9 at target sa 108.7 ay may 1.6 points of initial price risk at isang 2R target bago ang mga gastos.
Daanan ng pagkabigo: pagkatapos magbukas sa 105.5, bababa ang presyo sa 103.8. Maaabot ang stop kahit na natugunan ng triggering close ang bawat kondisyon ng detector. Kung sa halip ay may H=106 at C=104.7 ang orihinal na trigger bar, hindi ito magiging isang close breakout. Maaari itong maging isang upper reclaim para sa isang hiwalay na tinukoy na short strategy. Huwag muling lagyan ng label ang isang losing breakout bilang isang sweep pagkatapos makita ang loss.
Isang mas banayad na kaso ang nangyayari kapag ang lumang high ng 105 ay umalis sa N-bar window at ang U ay bumaba sa 104. Ang presyo sa 104.5 ay maaari nang lumampas sa channel nang hindi gumagawa ng bagong kamakailang traded high. Iyon ay isang lehitimong rolling-window event. Ang pagbubukod nito ay nangangailangan ng karagdagang rehistradong kondisyon sa pinagmulan o paggalaw ng reference level.
Sadyaing subukan ang pagkakapantay-pantay. Ang isang pagsasara na eksakto sa U+b ay tinatanggihan ng mahigpit na kundisyong mas malaki kaysa sa baseline na ito. Ang pag-round ng tick ay dapat mangyari sa ilalim ng isang nakapirming kumbensyon bago ang pagsusumite ng order; kung hindi, ang floating-point noise ay maaaring magdesisyon kung ang isang obserbasyon ay nasa itaas lamang o eksakto sa isang hangganan.
Oras ng order, pagpapawalang-bisa at pag-expire
Pinag-iiba ng TradingView ang paglikha ng order pagkatapos ng pagsasara mula sa pagpuno sa susunod na available na tick sa emulator nitong [3]. Samakatuwid, ang iminungkahing baseline na nakumpirma ng pagsasara ay nangangailangan ng kasunod na executable price, spread at slippage. Ang isang buy-stop na nasa itaas ng U ay ibang modelo: maaari itong mapuno sa intrabar at bumaliktad bago ang pagsasara. Ang isang hindi kanais-nais na pagsasara ay hindi maaaring magbura nang retroactive sa pagpuno na iyon.
Kasama sa mga pagpipilian sa paglabas ang isang nakapirming istruktural na paghinto, isang mas maikling trail sa mas mababang channel o isang oras na paglabas. Pumili ng isang simpleng configuration bago ang pagsusuri. Para sa isang entry sa muling pagsubok, tukuyin kung gaano kalayo ang maaaring bumalik ang presyo, kung aling reaksyon ang kwalipikado at kung gaano karaming bar ang nananatiling balido ang order. Ang isang breakout na hindi kailanman muling sumusubok ay isang naitalang napalampas na pagkakataon, hindi isang awtomatikong paglipat sa paghabol sa presyo.
Ang isang bar na tumatama sa parehong stop at target ay nangangailangan ng mas pinong datos o isang idineklarang konserbatibong kombensiyon sa pag-order. Dapat baguhin ng mga gap test ang natanto na pagpuno at panganib nang hindi binabago ang orihinal na timestamp ng signal o nakapirming sanggunian. Ang pagtanggi sa pagpapatupad bago ang pagsusumite at ang isang natalo na napunan na order ay magkaibang resulta.
Ang isang rolling trailing stop ay nangangailangan din ng timing rule. Kung ang lower band kahapon ay nag-update pagkatapos ng pagsasara ngayon, hindi mapoprotektahan ng bagong stop ang naunang intrabar movement. I-save ang bawat stop revision at ang oras ng pag-activate nito sa halip na ilapat ang huling trail pabalik sa bar.
Maaaring pumili ang volume ng mas malalakas na galaw at mas mahal na mga pagpuno
Ang isang iminungkahing breakout filter ay nangangailangan ng RVOL≥1.5 laban sa maihahambing na kasaysayan ng oras ng sesyon. Sa isang desisyon ng nakumpletong pagsasara, magagamit ang buong volume ng trigger bar. Para sa isang resting stop na isinumite nang mas maaga, tanging ang volume na naobserbahan na sa pagsusumite ang maaaring matukoy kung umiiral ang order. Ang volume ng full-bar na nasukat pagkatapos ng pagpuno nito ay hindi maaaring maging isang retrospective entry permission.
Paghiwalayin ang sangay na price-only, ang sangay na minimum-liquidity, at ang sangay na abnormal-volume. Sinasagot nito ang iba't ibang tanong: basic tradability laban sa incremental information. Ang isang high-RVOL subset ay maaaring mas malayo ang galaw habang nakakaranas din ng mas malalaking gap at spreads, kaya hindi sapat ang gross price response.
Paghambingin ang net expectancy, exposure, at ang bilang ng mga itinapong oportunidad. Pagtugmain ang mga risk budget sa iba't ibang sangay at iulat ang mga resulta ayon sa liquidity o oras ng araw gamit ang mga kahulugan ng grupo na itinatag sa nakaraang datos. Ang mas mataas na win rate sa isang maliit na subset ay hindi awtomatikong nagpapabuti sa return o drawdown ng portfolio.
Para sa mga multi-bar reclaim, iimbak nang hiwalay ang excursion volume at reclaim volume. Maaaring pag-aralan ang kanilang ratio, ngunit ang hindi pantay na haba ng interval ay nangangailangan ng normalisasyon. Hindi matutukoy ng Aggregate OHLCV kung ang aktibidad ay naganap nang eksakto sa antas ng Donchian o sa ibang lugar sa loob ng isang malawak na bar.
Subukan ang kalkulasyon ng sanggunian bago ang estratehiya
Magrehistro ng isang maliit na development grid tulad ng N=10,20,40. Mag-log ng mga presyo ng band, mga extreme timestamp at edad ng level sa bawat signal, kabilang ang kung lumipat ang level dahil nag-expire ang isang lumang extreme. Pinaghihiwalay nito ang pang-ekonomiyang pag-uugali mula sa mga mechanical window effect at ginagawang mas madaling bigyang-kahulugan ang sensitivity.
Binabago ng direktang pagsubok ng sanhi at bunga ang H[t] habang nakapirmi ang naunang serye ng datos: Ang U[t] ay dapat manatiling hindi nagbabago. Ang pagbabago ng H[t−1] ay maaaring magbago sa U[t]. Magdagdag ng mga fixture ng missing-bar, holiday, opening-gap at stale-data. Ihambing ang mga kalkulasyon ng batch sa isang streaming implementation upang ang mga error na lumilihis ng isang bar ay hindi maitago sa loob ng isang tsart na maaaring makita nang kapani-paniwala.
Pagkatapos lamang suriin ang isang naka-lock out-of-sample period na may turnover, fees, exposure, drawdown at fill sensitivity. Kung pipili ng mga espesyal na subset ng balita, pagbubukas o pagsasara ng sesyon, bilangin ang mga iyon bilang mga pagsubok sa pananaliksik. Iulat ang mga nabigong kandidato at mga muling pagsubok na hindi nangyari, hindi lamang ang mga nakumpletong kalakalan mula sa mga paborableng hangganan.
Mga karaniwang pagkakamali
Hinahayaan ang antas na habulin ang ekskursiyon
Ang isang pagbawi laban sa isang bagong na-update na banda ay maaaring magkaiba sa pagbawi sa orihinal na nilabag na hangganan.
Pagkalito sa pagdampi sa level at pagtawid dito
Ang pagkakapantay-pantay sa U ay hindi awtomatikong isang breakout; ayusin ang mga panuntunan sa tick rounding at paghahambing.
Itinatago ng maiikling window ang gastos ng madalas na trading
Ang isang mas maliit na N ay maaaring lumikha ng mga madalas na signal na ang mga gastos sa pagpapatupad ay nangingibabaw sa kanilang gross edge.
Checklist bago gamitin ang pamamaraang ito
Lagyan ng tsek ang bawat item matapos itong beripikahin sa iyong data. Naka-save ang progreso sa browser na ito; hindi ito sertipikasyon na kumikita ang estratehiya.
Mga madalas itanong
Dapat ba ibenta ang isang upper-band touch?
Walang pangkalahatang konklusyon. Ang pag-trade laban sa galaw kapag umabot sa boundary at pagbili sa breakout ay magkasalungat na hypotheses na nangangailangan ng magkahiwalay na depinisyon at test.
Maaari bang palitan ng Donchian ang mga pivot?
Maaari itong magbigay ng breakout reference, ngunit hindi ito nagbibigay ng kumpirmasyon ng right-side reversal o swing ordering ng isang pivot detector.
Mga sanggunian sa pananaliksik
Sinusuportahan ng bawat sanggunian ang katabing depinisyon o ebidensiya. Kailangang hiwalay na patunayan ang pseudocode, mga gawang halimbawa, at iminungkahing parameter.
- Donchian ChannelsTradingView. Basahin ang mga pormula ng channel at mga naglalarawang gamit. Sinuri noong: .
- pandas.Series.shiftpandas. Binasa ang API upang beripikahin ang paglilipat ng mga value sa pagitan ng row. Sinuri noong: .
- Pine Script: StrategiesTradingView. Basahin ang gawi sa paggawa ng order, next-available-tick at stop-order. Sinuri noong: .
Mga kaugnay na pamamaraan
Paalala sa panganib
Para sa pag-aaral at pagdisenyo ng pananaliksik ang nilalamang ito, hindi payong pinansiyal. Ang Backtest ay simulasyon ng nakaraan, hindi garantiya ng resulta sa hinaharap, at hindi naglalagay ng tunay na mga trade. Hindi awtomatikong tampok ng app ang mga pamamaraan sa aklatang ito. Tingnan ang metodolohiya at sentro ng pag-aaral.
Patunayan muna ang mga tuntunin bago isapanganib ang tunay na puhunan
Suriin ang suporta ng app, data, at bawat simulated trade; maaaring mangailangan ng hiwalay na implementasyon ang mga advanced na detector.
I-download ang Backtest sa App Store