Strategi Perdagangan Purata Bergerak Isyarat-ke-Suara
Strategi ini merealisasikan perdagangan kuantitatif dengan mengira nisbah isyarat ke bunyi dalam tempoh tertentu dan menggabungkannya dengan isyarat perdagangan purata bergerak.
Kelebihan utama strategi ini ialah:
Terdapat juga beberapa risiko dengan strategi ini:
Penyelesaian:
Strategi ini boleh dioptimumkan dengan cara berikut:
Strategi ini merealisasikan perdagangan kuantitatif dengan menilai risiko pasaran melalui nisbah isyarat ke bunyi bising dan menjana isyarat perdagangan dari purata bergerak. Berbanding dengan satu petunjuk teknikal, strategi ini mengintegrasikan kelebihan kedua-dua StN dan SMA untuk meningkatkan kestabilan sambil mengawal risiko. Dengan pengoptimuman parameter dan pembelajaran mesin, strategi ini mempunyai potensi peningkatan yang besar dan merupakan strategi perdagangan kuantitatif yang boleh dipercayai dan berkesan.
/*backtest start: 2023-12-25 00:00:00 end: 2023-12-29 10:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © HPotter 05/01/2021 // The signal-to-noise (S/N) ratio. // And Simple Moving Average. // Thank you for idea BlockchainYahoo // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// SignalToNoise(length) => StN = 0.0 for i = 1 to length-1 StN := StN + (1/close[i])/length StN := -10*log(StN) strategy(title="Backtest Signal To Noise ", shorttitle="StoN", overlay=false) length = input(title="Days", type=input.integer, defval=21, minval=2) Smooth = input(title="Smooth", type=input.integer, defval=7, minval=2) reverse = input(false, title="Trade reverse") StN = SignalToNoise(length) SMAStN = sma(StN, Smooth) pos = iff(SMAStN[1] > StN[1] , -1, iff(SMAStN[1] < StN[1], 1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 ) plot(StN, title='StN' ) plot(SMAStN, title='Smooth', color=#00ff00)