Wacan maca wektu: 7 mnt

PrescienTrader kalebu fungsi multi-timeframe sing nggabungake karo fungsi lan fungsi backtesting AmiBroker. Uga kalebu skrip AFL sing nduduhake carane nggunakake fungsi analisis. Fungsi analisis mbutuhake lengganan Professional PrescientAPI.

Video ing ngisor iki nduduhake carane persiyapan lan mbukak eksplorasi. Mangga nonton video, banjur bali menyang artikel iki kanggo terus karo tutorial.

Gambar cilik

Eksplorasi

Yen sampeyan nglakokake eksplorasi nggunakake skrip PrescienTrader Backtesting, AmiBroker mindhai liwat dhaptar instrumen sing ditemtokake lan jangkoan tanggal sampeyan. Iki ngasilake baris kanggo saben kombinasi instrumen lan tanggal. Ing conto ing ndhuwur, kita nganalisa instrumen tunggal (CHF / JPY) kanggo tanggal tanggal 1 Oktober nganti tanggal 31 Desember 2018.

Skrip ngetokake kolom eksplorasi ing ngisor iki:

  • Simbol ticker
  • Tanggal / Wektu
  • Open, High, Low, Close, Volume, Open Interest
  • Disimpen - Kolom iki disorot warna kuning kanggo saben baris nggunakake setelan parameter sing wis disimpen. Nalika sampeyan nyimpen paramèter ing PrescienTrader, paramèter disimpen mung kanggo instrumen lan pigura wektu sing dipilih. Iki ngidini sampeyan nggunakake setelan parameter khusus kanggo saben instrumen lan saben pigura wektu. Yen nglakokake eksplorasi, PrescienTrader bakal ngetrapake setelan parameter khusus kanthi otomatis. Sorotan kuning ing kolom disimpen iku kanggo ngelingake yen baris nggunakake setelan sing wis disimpen, dudu setelan sing sampeyan lebokake ing jendela Parameter.
  • Slope PL - Iki nuduhake slope tren Line Prescient. Lereng positip prédhiksi kenaikan munggah nalika lereng negatif negesake mudhun.
  • Skor FLD - Jumlah FLD kanggo kabeh siklus sing bener sing dikalikan dening Kekuwatan utawa Tandha saben siklus, gumantung karo setelan Bas dhasar sampeyan. Nilai positif nunjukake yen pasar ana munggah ing siklus. Nilai-nilai Negatif nuduhake yen pasar ana ing turunan siklus.
  • Tren Bar - Nomer bar sing relatif ing tren sing diramal saiki. Bar pisanan kanthi tren yaiku bar nol.
  • Trendi Bar - Jumlah total bar ing tren sing wis diramalake saiki.
  • Tren Pct - Persentase rampung kanggo tren sing wis diramalake saiki. Contone, yen Trend Bar = 5 lan Trend Bars = 10, Trend Pct bakal 50%. Elinga yen Tren Pct ora bakal tekan 100%, amarga iki tegese tren anyar wis diwiwiti. Ing titik tumpang tindih ing antarane tren lawas lan tren anyar, Tren Pct bakal dadi 0%. Saliyane tampilan angka, kolom iki uga nampilake grafik bar sing owah saka ijo dadi abang nalika tren terus maju.
  • Tumindak - Iki sinyal, Tuku / Jual / Short / Cover, kanggo baris saiki. Sinyal sing digawe saka skrip sing kalebu kalebu adhedhasar Trend Slope. Yen Trend Slope positif, bakal nampilake sinyal Tuku lan nalika Trend Slope negatif, bakal nampilake sinyal Singkat. Iki dimaksudake minangka prasaja banget tuladha kepiye sampeyan bisa miwiti nggawe sistem dagang nggunakake indikator PrescienTrader. Aja nggunakake conto iki kanggo dagang langsung, amarga sampeyan bakal paling kelangan dhuwit! Gagasan kasebut yaiku ngembangake sistem dagang sampeyan dhewe kanthi nggunakake indikator lan kemungkinan petunjuk liyane, banjur bisa mbaleni sistem kanthi jembar. Sawise sampeyan duwe sistem gawean sing bener, sampeyan bisa masang sistem kasebut menyang kolom Tindakan kanggo nampilake sinyal dagang sampeyan.

Mbesuk

Kanggo mbukak optimalisasi utawa optimalisasi, wiwiti kanthi mbukak skrip AFLenTrader Backtesting AFL. Kita saran sampeyan nggawe salinan naskah, tinimbang ngowahi skrip asli. Fungsi analisa kita ngasilake output kolom eksplorasi lan uga nggawe arune lan matriks AFL sing ngemot asil. Yen nglakokake optimasi utawa optimis, sampeyan bakal nggunakake tatacara lan matriks AFL sing diasilake, sing kalebu ing ngisor iki:

  • ptStaticPL
  • ptStaticPLSlope
  • ptStaticFLDScore
  • ptStaticTrendBar
  • ptStaticTrendBars
  • ptStaticTrendPct
  • ptStaticFrequencies (Matrix)
  • ptStaticSlopes (Matrix)
  • ptStaticFLDPrices (Matrix)

Yen sampeyan nganakake analisa kanggo pirang-pirang wektu, fungsi kasebut bakal nggawe macem-macem tata lan matriks kapisah kanggo saben wektu. Jeneng-jeneng bakal padha ing ndhuwur, kajaba saben jeneng bakal duwe ahas HTPx, ing endi x minangka indeks periode wektu sing luwih dhuwur. Contone, tataran lan matriks kanggo wektu sing luwih dhuwur kaping pisanan bakal dijenengi, ptStaticPLHTP1, ptStaticPLSlopeHTP1, lsp. Tanggalan lan matriks kanggo wektu sing luwih dhuwur kaping loro bakal dijenengi ptStaticPLHTP2, ptStaticPLSlopeHTP2, lsp.

Backtester AmiBroker pancen kuat banget. Ndhukung portofolio backcoreing, tes maju-maju, simulasi Monte Carlo, tes kaping pirang-pirang, piramida lan skala, pirang-pirang mata uang lan liya-liyane. Kabeh fungsi lan kekuwatan iki kasedhiya kanggo sampeyan kanggo mbesuk lan output saka PrescienTrader. Luwih saka ruang lingkup artikel iki kanggo ngrembug rincian pengunduran ing AmiBroker. Kanggo iku, luwih becik maca dokumentasi AmiBroker.

Variabel Parameter lan Parameter

Nalika nganalisa analisa, PrescienTrader bakal nggunakake nilai-nilai parameter sing sampeyan Nyatakake ing jendela Parameter. Nanging, yen sadurunge wis disimpen setelan instrumen kanggo pasar lan wektu saiki, mula setelan sing disimpen bakal ngilangi setelan sing ditampilake ing jendhela Parameter. Iki ngidini sampeyan nganakake analisa portofolio kanthi nggunakake nilai parameter sing beda kanggo saben instrumen ing portofolio. Yen sampeyan ndeleng jendhela Parameter, bakal nampilake setelan pungkasan sing sampeyan lebokake, sing bisa uga ora dadi setelan sing wis disimpen. Klik ing Reset Kabeh tombol kanggo nampilake setelan instrumen sing disimpen.

Kajaba iku, sampeyan bisa nyimpen setelan gawan. Ora kaya setelan instrumen sing wis disimpen, mula setelan ora disimpen BUKU setelan ditampilake override. Iki ngidini sampeyan njupuk kauntungan saka kasunyatan sing AmiBroker kanthi otomatis ngeling-eling setelan pungkasan sing sampeyan ketik, dadi yen sampeyan lagi nyoba sawetara setelan tartamtu kaping pirang-pirang, sampeyan ora kudu ngetik maneh saben-saben. Nanging, sampeyan bisa bali menyang setelan gawan sing disimpen kanthi ngeklik Reset Kabeh tombol. Tetep wonten ing setelan instrumen sing disimpen luwih dhisik tinimbang setelan gawan sing wis disimpen, dadi yen sampeyan klik Reset Kabeh lan ora nampilake setelan gawan, tegese sampeyan wis nyimpen setelan instrumen kanggo instrumen lan wektu sing saiki ditampilake.

Pungkasan, sampeyan bisa ngatasi paling akeh parameter kanthi nyetel variabel AFL sing cocog karo saben parameter. Variabel kasedhiya kalebu:

  • ptPolaritas (0 = Positif, 1 = Negatif)
  • ptPLBasis (0 = Gedhe, 1 = Kekuwatan)
  • ptLookbackRange
  • Kaleresan
  • Kaleresan
  • PinggangFarter
  • Waca rangkeng-
  • ptBestXCycles

Saben variabel uga duwe variasi wektu wektu sing luwih dhuwur kanggo analisa multi-timeframe. Kanggo nyetel variabel wektu sing luwih dhuwur, tambahake HTP1, HTP2, HTP3, lsp… menyang jeneng variabel. Contone:

  • ptMinFrequencyHTP1
  • ptMaxFrequencyHTP2
  • ptLookbackRangeHTP3
  • ptHarmonicFilterHTP2
  • ptMinConfidenceHTP1
  • ptPLBasisHTP4

Variabel tansah ngatasi setelan jendhela Parameter lan setelan sing wis disimpen. Yen sampeyan nyetel variabel parameter ing AFL, parameter sing cocog bakal ilang saka jendhela Parameter. Sampeyan kudu nyetel kabeh variabel parameter PRIOR kanggo nelpon PrescientAnalysis utawa PrescientAnalysisPrepare fungsi.

Anane Utas vs Anane Perspektif

PrescienTrader ndhukung analisis siji-Utas lan multi-Utas. Fungsi tunggal mung mbutuhake kode siji baris, saengga bisa njelajah eksplorasi cepet utawa backtests sing gampang. Sing kerugian yaiku analisis dianakake nganggo benang siji, saéngga mung bisa nganalisa sak baris siji. Nanging, yen analisis sampeyan mung ana sawetara atus larik, bedane wektu bakal diabaikan. Ing skenario iki, sampeyan bakal mbutuhake luwih suwe nulis kode tambahan kanggo analisis multi-Utas tinimbang wektu sing disimpen kanthi nglakokake.

Skrip Backtester PrescienTrader - Bagean siji-benang

Tulisan analisis conto diarani PrescienTrader Backtester. Yen sampeyan ndeleng skrip iki, sampeyan bakal weruh ngemot bagean siji-benang lan bagean multi-Utas, sing bisa sampeyan pilih antarane nggunakake setelan parameter. Bagean analisa singe-line ngemot baris siji kode:

PTBacktest ();

Ing PTBacktest fungsi ora njupuk paramèter amarga sampeyan ngatur kabeh paramèter ing jendela Parameter. Nalika mlaku, nggawe panjaluk API, ngirim panjaluk kasebut menyang PrescientAPI, menehi tanggepan, ngasilake asil menyang kolom eksplorasi lan ngasilake penawaran AFL sing diterangake ing ndhuwur.

Kanggo nindakake analisis multi-timeframe, sebut wae karo fungsi PrescientAnalysis kaping pirang-pirang. Contone, yen sampeyan pengin nganalisa periode wektu dhasar lan rong wektu sing luwih dhuwur, sampeyan bakal nggunakake kode ing ngisor iki:

PTBacktest (); PTBacktest (); PTBacktest ();

Saben conto fungsi kasebut nggawe wektu liyane ing jendhela Parameter, saengga ing conto ing ndhuwur, jendhela Parameter sampeyan bakal ngemot setelan kanggo wektu basa, HTP1 lan HTP2. Aja galur multi-lineing kanthi multi-wektu; iki loro konsep sing beda banget. Utas kaping pirang-pirang nuduhake kabeh analisis luwih saka siji, kaya nganalisa portofolio instrumen. Rangkaian kaping pirang-pirang nuduhake analisa saben instrumen kanthi luwih saka siji wektu. Contone, sampeyan bisa nganalisa S&P 500 saben dina, saben minggu lan saben wulan. Contone, sampeyan uga bakal entuk manfaat saka mlaku ing mode multi-line, amarga bakal nganalisa kabeh telung wektu kanthi bebarengan. Nanging, sampeyan bisa nganalisa analisa multi-timeframe ing mode tunggal, manawa bakal nganalisa timeframes kanthi berturut-turut.

Skrip Analisis PrescienTrader - Bagean Akeh Utas

Bagean multi-Utas luwih rumit tinimbang skrip tunggal lan mbutuhake sawetara garis kode:

postVars = PTBacktestPrepare ();
yen (StrLen (postVars)> 0) {
    ih = InternetPostRequest ("https://api.prescientrading.com", postVars);
    yen (ih) {
        tanggapan = "";
        nalika ((baris = InternetReadString (ih))! = "")
            nanggepi + = baris;
        PTBacktestExecute (nanggepi);
        InternetClose (ih);
    }
    liyane {
        msg = "Ora ana tanggapan saka API - Masalah wektu entek utawa konektivitas Internet - Nunggu 60 detik";
        _TRACE (msg);
        PTLogToFile (msg);
        PTWait (60);
    }
}

Alesan kanggo kode tambahan yaiku AmiBroker ora ndhukung multi-threading plugins kaya PrescienTrader. Dadi, ora nindakake operasi analisa kabeh ing fungsi plugin siji, plugin kasebut ngatasi kabeh kajaba panjaluk API, sing dadi bagean sing paling akeh wektu lan mulane ngasilake bathi paling gedhe saka mlaku ing pirang-pirang benang.

Ayo break mudhun langkah-langkah dening ...

  1. Ing langkah pertama, kita nelpon PTBacktestPrepare lan nemtokake asil menyang variabel postVars. Fungsi iki nggunakake paramèter sing ditetepake ing jendhela Parameter kanggo ngasilake data ing format sing tepat kanggo panjaluk API.
  2. Ing langkah kapindho, kita nggawe panjaluk API nggunakake fungsi InternetPostRequest lan InternetReadString. Wiwit sesambungan karo server remot, iki minangka proses paling alon lan saéngga mupangate paling akeh saka mlaku ing pirang-pirang benang.
  3. Ing langkah pungkasan, kita nglakokake PTBacktestEx nglakokake data sing bali saka API. Fungsi iki ngasilake data, ngasilake asil kolom eksplorasi lan ngasilake arene AFL sing diterangake ing ndhuwur.

Kaya sing sampeyan ngerteni, ora rumit, nanging mbutuhake kode luwih akeh tinimbang pendekatan benang siji. Yen sampeyan nganalisa jumlah data sing akeh, pendekatan nganggo benang bisa nganti 32 kaping luwih cepet, gumantung saka jumlah intine CPU sing ana ing komputer.

Kaya pendekatan benang siji, sampeyan bisa nganalisa pirang-pirang bingkai wektu kanthi masang blok ing ndhuwur kaping pirang-pirang, utawa kanthi mbungkus blok kode ing daur ulang.

Optimisasi

Optimisasi minangka proses paramèter sing apik kanggo entuk asil sing paling apik kanggo pasar utawa klompok pasar. AmiBroker ngidini kanggo ngoptimalake nganti 64 parameter sekaligus, ndhukung optimisasi portofolio lan kalebu telung mesin optimisasi cerdas, Optimasi Swap Partikel standar, Suku lan CMA-ES.

PrescienTrader ndhukung optimisasi kabeh paramèter tanpa kudu nulis kode kanggo saben parameter. Kanggo ngeset paramèter optimasi, tahan tombol Shift tombol banjur klik lambang toolbar Parameter. Iki bakal nampilake jendhela parameter optimasi, sampeyan bisa ngetik sawetara (Saka lan Kanggo) kanggo saben parameter lan a langkah kanggo parameter angka. Kisaran kasebut nggambarake kisaran optimalisasi. Contone, kanggo ngoptimalake Lookback Range, sampeyan bisa milih kaya:

Range LookBack Saka: 5
Range tampilan kanggo: 10
Langkah Dhasar Mbalik: 1

Ngetik paramèter kasebut bakal ngoptimalake Lookback Range antara 5 lan 10 kanthi tambahan 1, saéngga bakal nguji nilai 5, 6, 7, 8, 9, 10.

Logging

Nalika nganalisa analisis, PrescienTrader kanthi terus-terusan ngasilake informasi menyang jendela Trace. Saben baris ngemot informasi ing ngisor iki:

  • Jinis analisa (paling apik, optimalisasi, eksplorasi, lan sapiturute ...)
  • Simbol instrumen sing dianalisis
  • Wektu Wektu (saben dina, mingguan, saben wulan, lsp.)
  • Siri Data (Tutup, Rata-rata, lsp.)
  • Nilai parameter:
    • Polres
    • Dhasar Pl
    • Frekuensi Min
    • Frekuensi Max
    • Range Dhasar
    • Filter Harmonic
    • Kapercayan Min
    • Siklus X Paling apik

Kanggo saben nilai paramèter, nuduhaké sumber ing parentes. Sumber bisa dadi salah sawijining ing ngisor iki:

  • Param - Nilai dijupuk saka jendhela Parameter.
  • Opt - Nilai digawe adhedhasar setelan optimasi sing wis ditemtokake ing jendhela Parameter.
  • Disimpen - Nilai disimpen kanggo instrumen iki lan wektu wektu.
  • AFL - Nilai dijupuk saka variabel AFL sing cocog karo parameter kasebut.
  • Array - Nilai dijupuk saka larutan AFL. Wiwit yen nganggo tataran bisa nggunakake nilai sing beda kanggo saben bar, ora ana sing ditampilake.

Variabel AFL nduwe prioritas paling dhuwur, ngiring karo nilai sing disimpen lan banjur nilai sing ditemtokake ing jendhela Parameter.

Kajaba saka jendela Trace, sampeyan bisa ngaktifake log menyang file kanthi ngetik path file ing jendhela Parameter.

Apa artikel iki mbiyantu?
Ora seneng 0
Ndeleng: 1452
HANYE GRATIS
Sinyal Dagang Saben dina
dening PrescientSignals
SUBSCRIBE
Langganan kanggo nampa sinyal dagang GRATIS sing dikirim menyang kothak mlebu email saben dina
Sinyal gratis ditundha sajrone seminggu. Iki ngidini sampeyan ngevaluasi layanan gratis PrescientSignals, kanthi mbandhingake ramalan minggu sadurunge karo asil nyata.
HANYE GRATIS
Sinyal Dagang Saben dina dening PrescientSignals
SUBSCRIBE
Langganan kanggo nampa sinyal dagang GRATIS sing dikirim menyang kothak mlebu email saben dina
Sinyal gratis ditundha sajrone seminggu. Iki ngidini sampeyan ngevaluasi layanan gratis PrescientSignals, kanthi mbandhingake ramalan minggu sadurunge karo asil nyata.