← Back to blog

Backtestas TradingView: kaip patikrinti strategiją žingsnis po žingsnio

November 8, 2026
Backtestas TradingView: kaip patikrinti strategiją žingsnis po žingsnio

TradingView platformoje strategijos backtestą galima atlikti dviem būdais. Strategy Tester automatiškai pritaiko Pine Script strategiją istoriniams duomenims ir parodo pelną, nuosmukį bei visų sandorių sąrašą. Bar Replay grafiką „atsuka“ atgal, ir jūs prekiaujate žvakė po žvakės, nematydami ateities. Patikimiausias rezultatas gaunamas derinant abu būdus: pirmiausia aiškias taisykles patikrinate automatiškai, o tada rankiniu režimu pažiūrite, ar jas iš tikrųjų sugebėtumėte vykdyti realiu laiku. Toliau rasite visą procesą: taisyklių aprašymą, kodo pavyzdį, kaštų nustatymus, rodiklių skaitymą ir klaidas, dėl kurių gražus backtestas vėliau neatsikartoja realioje sąskaitoje.

Marketsfactor
Patikrinkite strategiją platesniame kontekste
Marketsfactor pateikia rinkos analizę, ekonomikos apžvalgas ir mokomąją medžiagą, padedančią geriau suprasti rinkos tendencijas.
Peržiūrėkite rinkos analizę

Trumpai

  • Strategy Tester tinka taisyklėms, kurias galima užrašyti kodu. Bar Replay tinka diskreciniam prekiavimui, pavyzdžiui, price action ar Elioto bangoms.
  • Kiek istorijos galite peržiūrėti mažais laiko intervalais, priklauso nuo jūsų TradingView plano. Dienos ir didesni intervalai Bar Replay režimu veikia visuose planuose.
  • Be komisinių, praslydimo ir realaus pozicijos dydžio backtestas beveik visada atrodo geriau nei bus iš tikrųjų.
  • Nesitenkinkite vien grynuoju pelnu. Žiūrėkite į maksimalų nuosmukį, pelno faktorių, sandorių skaičių ir vidutinį sandorį.
  • Didžiausios klaidos yra peroptimizavimas ir žvilgsnis į ateities duomenis. Nuo jų apsaugo atskiras testavimo laikotarpis ir tvarkingas kodas.

Turinys

Strategy Tester ir Bar Replay: kuo jie skiriasi

Abu įrankiai naudoja tuos pačius istorinius duomenis, bet atsako į skirtingus klausimus. Strategy Tester atsako, ką duotų taisyklės, jei jas vykdytumėte be jokių nukrypimų. Bar Replay atsako, ką padarytumėte jūs, kai rinka juda prieš akis ir nežinote, kas bus kitoje žvakėje.

KriterijusStrategy TesterBar Replay
Kaip veikiaPine Script strategija automatiškai pritaikoma visai pasirinktos istorijos daliaiGrafikas atsukamas į pasirinktą datą ir rodomas žvakė po žvakės
Kam tinkaMechaninėms taisyklėms: rodiklių kirtimams, proveržiams, filtramsDiskreciniams sprendimams: price action, struktūrai, bangų skaičiavimui
GreitisŠimtai sandorių per kelias sekundesLėtas, kiekvieną sandorį vertinate patys
RezultataiAutomatinė ataskaita su rodikliais ir sandorių sąrašuSandorius ir rezultatus reikia fiksuoti patiems, pavyzdžiui, lentelėje
Reikia programavimoTaip, bent pagrindų arba paruoštos strategijosNe
Didžiausia rizikaPeroptimizavimas, žvilgsnis į ateitį kodeŠališkumas, kai „atsimenate“, kas buvo toliau

Praktiškai daugelis prekiautojų pradeda nuo Bar Replay, nes jų strategija dar nėra suformuluota kaip kodas. Kai taisyklės tampa pakankamai aiškios, kad jas galėtų vykdyti kompiuteris, verta jas perkelti į Pine Script ir patikrinti daug didesnėje imtyje.

Kiek istorinių duomenų galite patikrinti

Tai klausimas, kuris dažniausiai iškyla prekiaujant mažais laiko intervalais. Pagal TradingView Bar Replay planų palyginimą, dienos ir ilgesni intervalai Bar Replay režimu prieinami visuose planuose, įskaitant nemokamą Basic. Minutinių duomenų istorija priklauso nuo plano: Essential suteikia apie 180 dienų, Plus apie 365 dienas, o Premium ir Ultimate visą saugomą istoriją. Prieš rinkdamiesi planą, dabartines sąlygas pasitikrinkite oficialiame TradingView kainų puslapyje, nes jos gali keistis.

Ką tai reiškia praktikoje:

  • Swing ir pozicinė prekyba (4 val., dienos, savaitės grafikai): istorijos dažniausiai užtenka net ir pigesniuose planuose. Dešimt ar daugiau metų dienos duomenų apima kelis rinkos ciklus.
  • Intradienė prekyba (1–15 min.): pusmetis duomenų gali apimti tik vieną rinkos režimą, pavyzdžiui, ramų kylantį trendą. Strategija, išbandyta tik tokiomis sąlygomis, gali sugriūti pirmą kartą padidėjus nepastovumui.
  • Sprendimas, kai istorijos trūksta: testuokite tą pačią logiką keliose koreliuojančiose priemonėse, pavyzdžiui, keliose valiutų porose arba keliuose to paties sektoriaus indeksuose. Taip imtis padidėja, net jei kiekvienos priemonės istorija trumpa.

Backtestas žingsnis po žingsnio

Štai procesas, kurį rekomenduojame, nesvarbu, ar testuojate automatiškai, ar rankiniu būdu.

  1. Užrašykite taisykles prieš atidarydami grafiką. Įėjimo sąlyga, išėjimo sąlyga, stop-loss vieta, pelno fiksavimas, pozicijos dydis ir filtrai (pvz., prekiaujama tik pagal dienos trendą). Jei taisyklės nesutelpa į kelis aiškius sakinius, jų nepavyks nei užkoduoti, nei sąžiningai patikrinti.
  2. Pasirinkite priemonę, laiko intervalą ir laikotarpį. Laikotarpis turėtų apimti ir kylančią, ir krintančią, ir šoninę rinką. Iš anksto atidėkite paskutinę istorijos dalį, pavyzdžiui, 20–30 %, kurios kol kas neliesite.
  3. Paleiskite strategiją. Pine Editor lange įklijuokite arba parašykite strategijos kodą ir paspauskite „Add to chart“. Strategy Tester skydelis atsiras po grafiku.
  4. Nustatykite realistiškus kaštus. Strategijos nustatymų skiltyje „Properties“ įveskite pradinį kapitalą, pozicijos dydį, komisinius ir praslydimą (plačiau žemiau).
  5. Peržiūrėkite ataskaitą. Pirmiausia sandorių skaičių ir maksimalų nuosmukį, tik tada pelną.
  6. Patikrinkite sandorius grafike. Atsidarykite sandorių sąrašą ir peržiūrėkite bent dešimt sandorių. Ar įėjimai yra ten, kur tikėjotės? Ar nėra keistų įėjimų dėl kodo klaidos?
  7. Atlikite testą atidėtame laikotarpyje. Jei strategija ten veikia panašiai, turite pagrindo ja pasitikėti labiau.
  8. Patikrinkite rankiniu būdu per Bar Replay. Pasirinkite kelias atsitiktines savaites ir prekiaukite pagal tas pačias taisykles realiu tempu. Tai parodo, ar strategija psichologiškai įvykdoma.
  9. Pradėkite nuo popierinės prekybos arba mažos pozicijos. Backtestas yra hipotezė, o ne garantija. Ji tvirtėja tik tada, kai rezultatai realiu laiku sutampa su istoriniais.

Rankinis testas su Bar Replay

Viršutinėje įrankių juostoje spauskite „Replay“, pasirinkite pradžios tašką grafike ir judėkite pirmyn po vieną žvakę arba įjunkite automatinį atkūrimą pasirinktu greičiu. Svarbiausia disciplina: sprendimą priimkite ir užfiksuokite prieš atidengdami kitą žvakę. Kiekvienam sandoriui lentelėje užrašykite datą, kryptį, įėjimo kainą, stop-loss, tikslą, rezultatą R vienetais (kiek kartų laimėjote arba pralošėte riziką) ir trumpą komentarą, kodėl įėjote. Po 50–100 sandorių turėsite statistiką, kurią galima analizuoti taip pat, kaip automatinę ataskaitą.

Automatinis backtestas su Pine Script

Strategy Tester veikia tik su skriptais, kurie deklaruoti kaip strategy(), o ne indicator(). Žemiau pateiktas paprastas slenkamųjų vidurkių kirtimo pavyzdis su stop-loss pagal ATR ir jau įtrauktais kaštais. Jį galite naudoti kaip šabloną savo taisyklėms.

//@version=6
strategy("SMA kirtimas su ATR stop", overlay=true,
     initial_capital=10000,
     default_qty_type=strategy.percent_of_equity,
     default_qty_value=10,
     commission_type=strategy.commission.percent,
     commission_value=0.1,
     slippage=2)

fastLen = input.int(20, "Greitas SMA")
slowLen = input.int(50, "Lėtas SMA")
atrMult = input.float(2.0, "ATR daugiklis")

fast = ta.sma(close, fastLen)
slow = ta.sma(close, slowLen)
atr  = ta.atr(14)

if ta.crossover(fast, slow)
    strategy.entry("Long", strategy.long)
    strategy.exit("Stop", "Long", stop=close - atrMult * atr)

if ta.crossunder(fast, slow)
    strategy.close("Long")

plot(fast, color=color.teal)
plot(slow, color=color.orange)

Keli dalykai, į kuriuos verta atkreipti dėmesį:

  • Parametrai per input. Juos galima keisti nustatymuose nekeičiant kodo. Tai patogu, bet kartu ir pavojinga: lengva pradėti „derinti“ skaičius tol, kol rezultatas atrodys puikiai.
  • Kaštai pačiame kode. Jei komisinius ir praslydimą įrašote į strategy() funkciją, jie nepradings, kai strategiją atidarysite kitame grafike ar pasidalinsite ja su kolega.
  • Pozicijos dydis kaip nuosavybės procentas. Rezultatai atspindi kapitalo augimą ar mažėjimą, o ne fiksuotą vieno kontrakto pelną.

Komisiniai, praslydimas ir pozicijos dydis

Tai sritis, kurioje dauguma pradedančiųjų backtestų prarandama. Strategija be kaštų gali rodyti stabilų augimą, o su realistiškais kaštais virsti nuostolinga, ypač jei sandorių daug ir jų vidutinis pelnas mažas.

Komisiniai. Įveskite tokį komisinių tipą, kokį taiko jūsų brokeris: procentą nuo sandorio vertės, fiksuotą sumą už sandorį arba sumą už kontraktą. Skaičiavimo pavyzdys: jei pozicija yra 1 000 USD, o komisiniai 0,1 % kiekvienai pusei, vienas pilnas sandoris (įėjimas ir išėjimas) kainuoja 2 USD. Per 200 sandorių tai jau 400 USD, arba 4 % nuo 10 000 USD kapitalo.

Komisinių pavyzdys nuo sandorio iki kapitalo

Praslydimas. Strategy Tester praslydimą nurodo tikais (mažiausiais kainos pokyčio žingsniais). Likvidžioms priemonėms, pavyzdžiui, pagrindinėms valiutų poroms ar didžiųjų indeksų ateities sandoriams, dažnai pakanka 1–2 tikų. Mažiau likvidžioms akcijoms ar kriptovaliutoms, taip pat strategijoms, kurios įeina proveržio metu stop orderiais, nustatykite didesnę reikšmę. Jei nesate tikri, testuokite su keliomis reikšmėmis ir žiūrėkite, kiek rezultatas jautrus.

Pozicijos dydis. Fiksuotas kontraktų skaičius rodo „gryną“ strategijos pranašumą. Procentas nuo nuosavybės parodo, kaip atrodytų kapitalo kreivė su sudėtiniu augimu. Rizikos valdymui dažnai naudojamas fiksuotos rizikos modelis: pozicija apskaičiuojama taip, kad suveikus stop-loss prarastumėte, pavyzdžiui, 1 % sąskaitos. Kokį modelį berinktumėte, testuokite su tuo, kurį naudosite realioje prekyboje.

Orderių vykdymas. Pagal nutylėjimą Strategy Tester orderius vykdo kitos žvakės atidarymo kaina po signalo. Tai realistiška. Nustatymas, leidžiantis vykdyti orderius tos pačios žvakės uždarymo kaina, gali pagražinti rezultatus, jei realiai tos kainos pasiekti nespėtumėte.

Kaip skaityti Strategy Tester rezultatus

Ataskaitoje rasite apžvalgą, išsamią rezultatų suvestinę ir sandorių sąrašą. Svarbiausi rodikliai ir ką jie iš tikrųjų sako:

RodiklisKą reiškiaĮ ką žiūrėti
Grynasis pelnas (Net Profit)Visų sandorių rezultatas po kaštųVertinkite tik kartu su nuosmukiu ir laikotarpio trukme
Uždarytų sandorių skaičiusKiek kartų strategija įėjo ir išėjoMažiau nei 100 sandorių rezultatams suteikia mažai statistinio svorio
Pelningų sandorių dalisKiek procentų sandorių baigėsi pelnuMaža dalis gali būti gerai, jei laimėjimai daug didesni už pralaimėjimus
Pelno faktorius (Profit Factor)Bendras pelnas, padalintas iš bendro nuostolioDaugiau nei 1 reiškia pelningą sistemą; labai aukštos reikšmės mažoje imtyje dažnai rodo peroptimizavimą
Maksimalus nuosmukis (Max Drawdown)Didžiausias kapitalo kritimas nuo pikoPaklauskite savęs, ar realiai ištvertumėte tokį kritimą neišjungę strategijos
Vidutinis sandorisVidutinis rezultatas vienam sandoriuiJis turi būti gerokai didesnis už kaštus, kitaip menkas praslydimo padidėjimas viską panaikins
Sharpe ir Sortino koeficientaiGrąža, palyginta su svyravimaisNaudingi lyginant kelias strategijas tarpusavyje

Pavyzdys. Tarkime, strategija laimi 40 % sandorių, vidutinis laimėjimas yra 300 USD, vidutinis pralaimėjimas 150 USD. Tikėtinas rezultatas vienam sandoriui: 0,4 × 300 − 0,6 × 150 = 120 − 90 = 30 USD. Strategija pelninga, nors dauguma sandorių nuostolingi. Tačiau jei kaštai vienam sandoriui padidėtų dar 30 USD, pranašumas išnyktų. Būtent todėl vidutinį sandorį visada lyginkite su kaštais.

Peržiūrėkite ir kapitalo kreivę. Tolygus kilimas su nedideliais nuosmukiais yra patikimesnis ženklas nei kreivė, kurios visą pelną sukūrė du ar trys ypatingi sandoriai.

Dažniausios backtesto klaidos ir kaip jų išvengti

Peroptimizavimas. Jei keisite parametrus tol, kol rasite geriausią kombinaciją, rasite ją beveik visada, bet ji bus pritaikyta praeities triukšmui, o ne rinkos dėsningumui. Apsauga: mažiau parametrų, iš anksto atidėtas testavimo laikotarpis ir patikrinimas, ar gretimos parametrų reikšmės (pvz., SMA 18, 20 ir 22) duoda panašius rezultatus. Jei veikia tik viena tiksli reikšmė, tai įspėjimas.

Žvilgsnis į ateities duomenis (lookahead). Pine Script tai dažniausiai nutinka naudojant request.security() su didesnio laiko intervalo duomenimis ir nustatymu lookahead = barmerge.lookahead_on be poslinkio. Tada strategija istorijoje „žino“ dienos uždarymo kainą dar dienos viduryje. Kita forma yra perpiešiantys (repainting) rodikliai, kurių istorinės reikšmės skiriasi nuo tų, kurios buvo matomos realiu laiku. Apsauga: naudokite tik uždarytų žvakių duomenis ir patikrinkite strategiją Bar Replay režimu, ar signalai atsiranda ten pat.

Per maža ar vienpusė imtis. Trisdešimt sandorių per vieną kylančios rinkos pusmetį nieko neįrodo. Siekite šimtų sandorių ir kelių rinkos režimų.

Išlikimo šališkumas. Testuojant tik šiandien žinomas sėkmingas akcijas, iš imties iškrenta įmonės, kurios bankrutavo ar buvo išbrauktos iš biržos. Rezultatas atrodo geriau nei būtų buvęs.

Kaštų ignoravimas. Aptarta aukščiau, bet tai tokia dažna klaida, kad verta pakartoti kaip kontrolinį klausimą: ar ataskaitoje įvesti komisiniai ir praslydimas?

Dažniausios backtesto klaidos ir kaip jų išvengti

Rankinio testo šališkumas. Bar Replay režimu lengva „netyčia“ prisiminti, kas įvyko toliau, ypač gerai žinomuose istoriniuose judesiuose. Rinkitės mažiau įsimintinus laikotarpius ir sprendimus užrašykite prieš atidengdami kitą žvakę.

Mūsų požiūris

Nuo 2011 m. analizuodami rinkas matome tą patį modelį: prekiautojai backtestą laiko egzaminu, kurį reikia išlaikyti, nors iš tikrųjų tai tik klausimas, ar jų taisyklės turi pagrindą. TradingView suteikia puikius įrankius, bet įrankis patikrina tik tai, ką jam duodate.

Todėl backtestas prasideda ne nuo kodo, o nuo supratimo. Jei nežinote, kodėl jūsų įėjimo signalas turėtų veikti, kokią rinkos struktūrą jis išnaudoja ir kada ta struktūra lūžta, joks pelno faktorius nepasakys, ar strategija išgyvens kitą rinkos režimą. Technine analize, price action ar Elioto bangomis pagrįstos taisyklės backtestą atlaiko geriau tada, kai prekiautojas supranta jų logiką, o ne tik kopijuoja parametrus.

Mūsų mokymuose akcentuojame būtent šią seką: pirmiausia suprasti rinkos dinamiką, tada suformuluoti aiškias taisykles, ir tik tada jas tikrinti istoriniuose duomenyse bei realiu laiku. Tokiu keliu backtestas tampa ne atsitiktinių skaičių paieška, o metodiškas sprendimų tobulinimas.

Bartas

Taisyklės, kurias verta testuoti

Geras backtestas prasideda nuo gerų taisyklių. Jei norite strategijos, kuri remiasi kainos struktūra ir kurią galima sistemingai tikrinti per Bar Replay, mūsų Advanced Price Action kursas moko skaityti rinką taip, kad įėjimai ir išėjimai būtų aiškiai apibrėžti. Pradedantiesiems, kurie nori suprasti rodiklių ir rinkos fundamentų pagrindus prieš rašydami pirmąją Pine Script strategiją, skirti mokymai Techninė ir fundamentinė analizė.

Marketsfactor

Jei bangų struktūra jums artimesnė, Elioto bangų studija padeda bangų skaičiavimą paversti tikrinamomis taisyklėmis. O jei norite pirmiausia susipažinti su mūsų požiūriu, registruokitės į nemokamą web seminarą.

DUK

Ar TradingView backtestą galima atlikti nemokamai?

Taip. Strategy Tester ir Bar Replay dienos bei didesniais intervalais prieinami ir nemokamame plane. Apribojimai daugiausia susiję su minutinių duomenų istorijos gyliu, kuris priklauso nuo mokamo plano. Swing prekybos strategijoms nemokamos versijos dažnai pakanka.

Kokia strategija turi 90 % pelningų sandorių?

Aukšta pelningų sandorių dalis savaime nieko nereiškia. Strategija su 90 % laimėjimų gali būti nuostolinga, jei retas pralaimėjimas viršija daugybę mažų laimėjimų. Vertinkite pelningų sandorių dalį kartu su vidutinio laimėjimo ir pralaimėjimo santykiu bei maksimaliu nuosmukiu.

Ar ChatGPT gali atlikti strategijos backtestą?

Pokalbių robotas pats backtesto neatlieka, bet gali padėti parašyti ar pataisyti Pine Script kodą, kurį vėliau paleidžiate TradingView Strategy Tester. Tokį kodą visada patikrinkite: ar jis neturi žvilgsnio į ateities duomenis, ar įvesti kaštai ir ar sandoriai grafike yra ten, kur turėtų būti.

Ar TradingView galima automatizuoti prekybą?

TradingView leidžia kurti įspėjimus pagal strategijos signalus, o dalis brokerių yra integruoti su platforma. Visiškam automatizavimui paprastai naudojami įspėjimai, perduodami į brokerio sistemą per tarpinius sprendimus. Prieš paleisdami automatinę prekybą, strategiją ilgiau išbandykite popierinėje sąskaitoje.

Kiek sandorių reikia, kad backtestas būtų patikimas?

Tikslios ribos nėra, bet daugelis prekiautojų siekia bent 100 sandorių keliuose skirtinguose rinkos režimuose. Kuo mažiau sandorių, tuo didesnė tikimybė, kad rezultatą lėmė atsitiktinumas. Mažą imtį papildykite testais kitose priemonėse ar laiko intervaluose.

Šaltiniai