
সিগন্যাল-টু-নয়েজ মুভিং এভারেজ ট্রেডিং কৌশল
এই কৌশলটি একটি নির্দিষ্ট সময়কালের মধ্যে সিগন্যাল-রুশির অনুপাত গণনা করে, তারপরে সমান্তরাল ট্রেডিং সিগন্যালের সাথে মিলিত হয়, যাতে পরিমাণগত লেনদেন করা যায়। এর মূল ধারণাটি হলঃ
এই কৌশলটির প্রধান সুবিধাগুলো হলঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
ঝুঁকি মোকাবেলাঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ
এই কৌশলটি চিঠির-শব্দের অনুপাতের মাধ্যমে বাজারের ওঠানামা ঝুঁকি নির্ধারণ করে এবং সমান্তরালভাবে ট্রেডিং সংকেত উত্পন্ন করে, পরিমাণগত লেনদেনের জন্য। একক প্রযুক্তিগত সূচকের তুলনায় এই কৌশলটি চিঠির-শব্দের অনুপাত এবং এসএমএর নিজস্ব সুবিধাগুলিকে একীভূত করে, ঝুঁকি নিয়ন্ত্রণের সাথে স্থিতিশীলতা বাড়ায়। প্যারামিটার অপ্টিমাইজেশন এবং মেশিন লার্নিং ইত্যাদির মাধ্যমে এই কৌশলটিতে অনেক উন্নতির জায়গা রয়েছে। এটি একটি নির্ভরযোগ্য, কার্যকর পরিমাণগত ট্রেডিং কৌশল।
/*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)