
シグナル・トゥ・ノイズ・ムービング・アベレッジ・トレーディング・ストラテジー
この戦略は,一定周期間の信噪比を計算し,均線取引信号と組み合わせて,定量取引を実現する.その基本的考え方は:
この戦略の利点は以下の通りです.
この戦略にはいくつかのリスクがあります.
リスクの解決:
この戦略は以下の点で最適化できます.
この戦略は,信噪比によって市場の変動リスクを判断し,均線を利用して取引信号を生じ,取引を量化することを実現する.単一の技術指標と比較して,この戦略は,信噪比とSMAのそれぞれの優位性を統合し,リスクを制御しながら安定性を向上させる.パラメータ最適化や機械学習などの方法によって,この戦略には大きな改善の余地があり,信頼できる,効果的な量化取引戦略である.
/*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)