
এই কৌশলটি স্টক টেকনিক্যাল ইনডিকেটর এসটিসি, মুভিং এভারেজ এমএ এবং এভারেজ রিয়েল ওভারল্যাপ রেট এটিআর ব্যবহার করে এবং একাধিক টেকনিক্যাল ইনডিকেটর ট্রেন্ডিংয়ের সাথে মিলিত হয়।
এসটিসি সূচক ট্রেন্ড বিপরীতের বিচার করে। এই সূচকটি দ্রুত লাইন ব্যবহার করে এবং ধীর লাইন ব্যবহার করে, তারপরে দ্বিতীয় মসৃণকরণ, একটি সামঞ্জস্যপূর্ণ প্রবণতা সংকেত তৈরি করে। যখন সূচকটি 0 অক্ষের উপরে চলে যায় তখন এটি একটি ক্রয় সংকেত, যখন 0 অক্ষটি নীচে চলে যায় তখন এটি একটি বিক্রয় সংকেত।
মুভিং এভারেজ এমএ ট্রেন্ডের দিক নির্ণয় করে। যখন শেয়ারের দাম এমএ অতিক্রম করে, তখন এটিকে এখনও উচ্চতর ট্রেন্ড হিসাবে বিবেচনা করা হয়, এটি একটি মাল্টিপল সংকেত বহন করে। যখন দাম এমএ অতিক্রম করে, তখন এটি একটি ডাউনপল ট্রেন্ড হিসাবে বিবেচনা করা হয়, এটি একটি খালি পল সংকেত বহন করে।
এটিআর সূচকটি স্টপ লস স্টপ সেট করে। এটিআর বাজারের ওঠানামা অনুসারে স্টপ লস স্টপ পয়েন্টটি গতিশীলভাবে সামঞ্জস্য করতে পারে। এটিআরকে ট্রেডিং দিকনির্দেশের সংকেত হিসাবে ব্যবহার করে, মাল্টি-হেড পর্যায়ে এটিআর বেড়ে যায়, খালি পর্যায়ে এটিআর কমে যায়।
কৌশলটি এসটিসির সিদ্ধান্তকে বিপরীতমুখী করার জন্য মূল বিক্রয়-বিক্রয় পয়েন্ট হিসাবে সময় বেছে নেয়, এমএকে ট্রেন্ডের সহায়ক হিসাবে বিচার করে এবং এটিআরকে স্টপ-ড্রপ হিসাবে ব্যবহার করে। এসটিসি যখন কেনার সংকেত দেয়, যদি এমএও উচ্চতর প্রবণতা হয়, তবে এটিআর বাড়বে, তবে আরও বেশি অর্ডার খুলুন; যদি এসটিসি বিক্রয় সংকেত দেয়, তবে এমএ নেমে যাওয়ার প্রবণতা হয়, তবে এটিআর হ্রাস পায়, তবে খালি অর্ডার খুলুন।
এই কৌশলটি ট্রেডিং সিগন্যালের সঠিকতা বাড়ানোর জন্য প্রবণতা এবং বিপর্যয় চিহ্নিত করার জন্য বিভিন্ন সূচক ব্যবহার করে।
এসটিসি সূচকটি বিপরীত সংকেত ধরতে পারে, যাতে লেনদেন বন্ধ না হয়। এমএ সূচকটি অস্থির বিপরীত সংকেতগুলি ফিল্টার করে, যা নিশ্চিত করে যে এটি মূল প্রবণতা অনুসরণ করে।
এটিআর সূচকটি বিপুল ক্ষতি এড়াতে বাজারের ওঠানামা অনুসারে স্টপ লস স্টপ সেট করতে পারে। এটিআরকে ট্রেন্ডের নির্দেশক হিসাবে ব্যবহার করে।
মাল্টি-ইনডিকেটর সমন্বয়, একটি শক্তিশালী প্রবণতা ট্র্যাকিং ক্ষমতা গঠন করে, ঐতিহাসিক পুনরাবৃত্তি ভাল স্থিতিশীল মুনাফা ক্ষমতা আছে।
STC সূচকটি সময়ের সাথে পিছিয়ে আছে এবং সম্ভবত মূল্যের বিপরীত হওয়ার সর্বোত্তম সময়টি মিস করেছে।
MA সূচকটি দামের তীব্র পরিবর্তনের সময় তার অবস্থানটি পিছনে থাকে, যা একটি ভুল সংকেত তৈরি করতে পারে।
এটিআর স্টপগুলি সেকেন্ডেড হতে পারে, এটিআর গুণকগুলি যথাযথভাবে শিথিল করা উচিত, বা বড় প্রবণতাগুলির মধ্যে অস্থায়ীভাবে বন্ধ করা উচিত।
মাল্টি-ইনডিকেটর প্যাকেজিং বিজয় হার বাড়ায়, তবে স্টপ লস ট্রিগার করার সুযোগও বাড়ায়। অপ্রয়োজনীয় স্টপ লস কমানোর জন্য প্যারামিটারগুলি যথাযথভাবে সামঞ্জস্য করা উচিত।
STC প্যারামিটারগুলিকে সামঞ্জস্য করুন যাতে দ্রুত প্রতিক্রিয়াশীল প্যারামিটারগুলির সমন্বয় খুঁজে পাওয়া যায়
ট্রেন্ড ট্র্যাকিংয়ের জন্য এমএ-র প্যারামিটার অপ্টিমাইজ করা হয়েছে
বিভিন্ন এটিআর গুণকের পরামিতিগুলি পরীক্ষা করার কৌশলগত প্রভাব
এসটিসির পরিবর্তে অন্য সূচক ব্যবহার করে দেখুন এবং আরও ভাল মিল খুঁজে বের করুন
মেশিন লার্নিং অ্যালগরিদম যোগ করা হয়েছে যাতে একাধিক প্যারামিটার স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করা যায়
মেগা-চক্রের প্রবণতা সম্পর্কে বিচার বাড়ান, মেগা-চক্রের বিভিন্ন পর্যায়কে আলাদা করুন
এসটিসি এমএ এটিআর কৌশলটি তিনটি সূচক ব্যবহার করে ট্রেন্ডের বিপরীত দিকটি ধরতে এবং ট্রেন্ডের স্থিতিশীলতা অনুসরণ করে। সূচকগুলির সমন্বয়টি মিথ্যা সংকেতগুলি ফিল্টার করে, স্টপ লস স্টপ কন্ট্রোল ঝুঁকি, শক্তিশালী সামঞ্জস্য এবং স্থিতিশীলতা রয়েছে। প্যারামিটার অপ্টিমাইজেশন এবং অ্যালগরিদমের প্রবর্তনের মাধ্যমে কৌশলটির কার্যকারিতা আরও বাড়ানো যেতে পারে। সামগ্রিকভাবে, কৌশলটি একটি নির্ভরযোগ্য এবং উপযুক্ত কৌশল পছন্দ বলে মনে হয়।
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Romedius
//@version=5
strategy("My Strategy", overlay=true, margin_long=100, margin_short=100)
// STC
EEEEEE=input(12,"Length",group="STC")
BBBB=input(26,"FastLength",group="STC")
BBBBB=input(50,"SlowLength",group="STC")
AAAA(BBB, BBBB, BBBBB) =>
fastMA = ta.ema(BBB, BBBB)
slowMA = ta.ema(BBB, BBBBB)
AAAA = fastMA - slowMA
AAAA
AAAAA(EEEEEE, BBBB, BBBBB) =>
//AAA=input(0.5)
var AAA = 0.5
var CCCCC = 0.0
var DDD = 0.0
var DDDDDD = 0.0
var EEEEE = 0.0
BBBBBB = AAAA(close,BBBB,BBBBB)
CCC = ta.lowest(BBBBBB, EEEEEE)
CCCC = ta.highest(BBBBBB, EEEEEE) - CCC
CCCCC := (CCCC > 0 ? ((BBBBBB - CCC) / CCCC) * 100 : nz(CCCCC[1]))
DDD := (na(DDD[1]) ? CCCCC : DDD[1] + (AAA * (CCCCC - DDD[1])))
DDDD = ta.lowest(DDD, EEEEEE)
DDDDD = ta.highest(DDD, EEEEEE) - DDDD
DDDDDD := (DDDDD > 0 ? ((DDD - DDDD) / DDDDD) * 100 : nz(DDDDDD[1]))
EEEEE := (na(EEEEE[1]) ? DDDDDD : EEEEE[1] + (AAA * (DDDDDD - EEEEE[1])))
EEEEE
mAAAAA = AAAAA(EEEEEE,BBBB,BBBBB)
stc = mAAAAA > mAAAAA[1] ? true : false
stc_sig = stc == true and stc[1] == false ? 1 : stc == false and stc[1] == true ? -1 : 0
stc_long = stc_sig == 1
stc_short = stc_sig == -1
// STC end
// ATR stops
nATRPeriod = input(5,group="ATR Stops")
nATRMultip = input(3.5,group="ATR Stops")
xATR = ta.atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), close - nLoss) : close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), close + nLoss) : close > nz(xATRTrailingStop[1], 0) ? close - nLoss : close + nLoss
pos = 0
pos := close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0) ? 1 : close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0)
atr_sig = pos == -1 ? false : true
// ATR stops end
// ma
ma_len = input(200, title="MA Length", group="Moving Average")
ma = ta.sma(close, 200)
ma_sig = close < ma ? false : true
// ma end
// strategy entries
tp_mult = input(2, title="Take Profit ATR Multiplier", group="Strategy")
sl_mult = input(1, title="Stop Loss ATR Multiplier", group="Strategy")
early_stop = input(true, title="Close position when ATR changes color")
atr_stop = if close < xATRTrailingStop
close - (close - xATRTrailingStop) * sl_mult
else
close + (xATRTrailingStop - close) * sl_mult
longCondition = atr_sig == true and stc_sig == 1 and ma_sig == true
shortCondition = atr_sig == false and stc_sig == -1 and ma_sig == false
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long", limit=close + xATR * tp_mult, stop=atr_stop)
else if atr_sig == false and early_stop
strategy.close("Long")
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", limit=close - xATR * tp_mult, stop=atr_stop)
else if atr_sig == true and early_stop
strategy.close("Short")
// plot stuff
atr_color = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
plot(atr_stop, title="ATR Stop", color=atr_color)
ma_color = ma_sig ? color.green : color.red
plot(ma, title="Moving Average", color=ma_color)
stc_color = stc_long ? color.green : color.red
plotshape(stc_long, style=shape.triangleup, color=stc_color, title="STC Long Signal", size=size.tiny)
plotshape(stc_short, style=shape.triangledown, color=stc_color, title="STC Short Signal", size=size.tiny)
// plot stuff end