পরিমাণগত ট্রেডিংয়ের উপর ভিত্তি করে সিগন্যাল-টু-নয়েজ চলমান গড় ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-01-02 12:24:35
ট্যাগঃ

img

I. কৌশল নাম

সিগন্যাল-টু-নয়েজ মুভিং এভারেজ ট্রেডিং স্ট্র্যাটেজি

২. কৌশলগত ওভারভিউ

এই কৌশলটি একটি নির্দিষ্ট সময়ের মধ্যে সংকেত-শব্দ অনুপাত গণনা করে এবং এটি চলমান গড় ট্রেডিং সংকেতগুলির সাথে একত্রিত করে পরিমাণগত ট্রেডিং উপলব্ধি করে। মৌলিক ধারণাটি হলঃ

  1. একটি নির্দিষ্ট সময়ের মধ্যে সংকেত-শব্দ অনুপাত গণনা করুন (নিয়মিত)
  2. সিগন্যাল-থ্রো-রোশ অনুপাত মসৃণ করার জন্য চলমান গড় প্রয়োগ করুন
  3. ট্রেডিং সিগন্যাল তৈরির জন্য বর্তমান সিগন্যাল-থ্রো-রোশ অনুপাতকে চলমান গড় মানের সাথে তুলনা করুন
  4. ট্রেডিং সিগন্যালের ভিত্তিতে লং বা শর্ট

৩. কৌশলগত নীতি

  1. সংকেত-শব্দ অনুপাত (StN) গণনা করার সূত্র হলঃ StN = -10*log ((Σ(1/close) /n), যেখানে n হল সময়ের দৈর্ঘ্য
  2. সহজ চলমান গড় (এসএমএ) সিগন্যাল-থ্রো-রোশ অনুপাতের জন্য প্রয়োগ করুন স্তরিত এসটিএন পেতে
  3. বর্তমান StN এর সাথে মসৃণ SMAStN এর তুলনা করুনঃ (1) যদি SMAStN > StN, শর্ট যান (2) যদি SMAStN < StN, দীর্ঘ যান (3) অন্যথায়, বন্ধ অবস্থান

IV. সুবিধা বিশ্লেষণ

এই কৌশলটির প্রধান সুবিধাগুলো হল:

  1. স্ট্যান বাজারের ওঠানামা এবং ঝুঁকি বিচার করতে পারে, এসএমএ গোলমাল হ্রাস ক্ষমতা আছে
  2. বাজারের ঝুঁকি বিচার করতে StN এবং ট্রেডিং সংকেত তৈরি করতে SMA একত্রিত করা বিভিন্ন সূচকের সুবিধা ব্যবহার করে
  3. বিভিন্ন বাজারের অবস্থার সাথে মানিয়ে নিতে সামঞ্জস্যযোগ্য পরামিতি
  4. স্টডআউট সংকেতগুলি সরাসরি বাজার বৈশিষ্ট্যগুলির দীর্ঘ বা স্বল্প, স্বজ্ঞাত বিচারকে নির্দেশ করে

V. ঝুঁকি বিশ্লেষণ

এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ

  1. StN এবং MA এর মধ্যে ক্রসিং রায়ের ক্ষেত্রে বিচ্যুতির ঝুঁকি রয়েছে
  2. ভুল সময়কাল সেটিং মিথ্যা সংকেত হতে পারে
  3. তুলনামূলকভাবে কম সংক্ষিপ্ত সুযোগ, প্যারামিটার সমন্বয় মাধ্যমে অপ্টিমাইজযোগ্য
  4. ব্ল্যাক সোয়ান ইভেন্টের কারণে চরম ওঠানামা স্টপ লসকে ট্রিগার করতে পারে

সমাধান:

  1. অতিরিক্ত মসৃণতা এড়াতে এমএ পরামিতিগুলি সামঞ্জস্য করুন
  2. সময়সীমার পরামিতিগুলি অনুকূলিত করুন এবং বিভিন্ন বাজারে পরীক্ষার অভিযোজনযোগ্যতা
  3. আরও সংক্ষিপ্ত সুযোগ প্রদানের জন্য সংক্ষিপ্ত শর্তগুলি সামঞ্জস্য করুন
  4. সর্বাধিক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস সেট করুন

VI. অপ্টিমাইজেশান দিক

কৌশলটি নিম্নলিখিত উপায়ে অপ্টিমাইজ করা যেতে পারেঃ

  1. একাধিক প্রকারের চলমান গড়ের পরীক্ষার সমন্বয়
  2. ঝুঁকি নিয়ন্ত্রণে স্টপ লস মেকানিজম যোগ করা
  3. পজিশন ম্যানেজমেন্ট যোগ করুন, ওঠানামা উপর ভিত্তি করে অবস্থান সামঞ্জস্য
  4. স্থিতিশীলতা উন্নত করার জন্য আরও কারণ অন্তর্ভুক্ত করুন
  5. স্বয়ংক্রিয়ভাবে পরামিতি অপ্টিমাইজ করার জন্য মেশিন লার্নিং পদ্ধতি ব্যবহার করুন

সপ্তম সংক্ষিপ্ত বিবরণ

এই কৌশলটি সিগন্যাল-টু-নয়েজ অনুপাতের মাধ্যমে বাজার ঝুঁকি বিচার করে এবং চলমান গড় থেকে ট্রেডিং সংকেত উত্পন্ন করে পরিমাণগত ট্রেডিং উপলব্ধি করে। একক প্রযুক্তিগত সূচকের তুলনায়, এই কৌশলটি ঝুঁকি নিয়ন্ত্রণের সময় স্থিতিশীলতা উন্নত করতে স্ট্যান এবং এসএমএ উভয়ের সুবিধা একীভূত করে। প্যারামিটার অপ্টিমাইজেশন এবং মেশিন লার্নিংয়ের সাথে, এই কৌশলটির উন্নতির জন্য দুর্দান্ত সম্ভাবনা রয়েছে এবং এটি একটি নির্ভরযোগ্য এবং কার্যকর পরিমাণগত ট্রেডিং কৌশল।


/*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)

আরো