রক-সলিড ভিআইপি পরিমাণগত কৌশল


সৃষ্টির তারিখ: 2023-12-19 13:54:05 অবশেষে সংশোধন করুন: 2023-12-19 13:54:05
অনুলিপি: 1 ক্লিকের সংখ্যা: 665
1
ফোকাস
1621
অনুসারী

রক-সলিড ভিআইপি পরিমাণগত কৌশল

ওভারভিউ

এই কৌশলটির নাম হল রক-হার্ড ভিআইপি কোয়ান্টামাইজেশন কৌশল, এটি একটি স্থিতিশীল এবং নির্ভরযোগ্য কোয়ান্টামাইজেশন ট্রেডিং ফ্রেমওয়ার্ক তৈরি করতে উন্নত উইলিয়াম এসএমএ (মোডিফাইড ডাব্লুএমএ) এবং এসএসএল চ্যানেল (এসএসএল চ্যানেল) এর সাথে একত্রিত হয়েছে।

মূলনীতি

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

যখন উন্নত উইলিয়াম এসএমএ সূচকটি একটি ক্রয় সংকেত দেয়, অর্থাত্ গোল্ডফোর্ক, আমরা এসএসএল চ্যানেল সূচকের সাথে মিলিত হয়ে সিদ্ধান্ত নিই যে চ্যানেলের মধ্যে দামটি উপযুক্ত কিনা, যদি কে-লাইন সত্তাটি চ্যানেলের নীচের সীমার নীচে থাকে তবে আমরা সেই পয়েন্টে একটি ক্রয় করি।

সুবিধা

  1. দুটি সূচককে একত্রিত করে ক্রয় সংকেতকে আরো নির্ভরযোগ্য করে তোলা হয়, যাতে ভুয়া ব্রেকডাউন এড়ানো যায়।
  2. উন্নত উইলিয়াম এসএমএ সূচক প্রবণতা পরিবর্তন পয়েন্ট আরো সঠিকভাবে বিচার করতে পারে।
  3. এসএসএল চ্যানেলের সূচকগুলি মূল্যের চ্যানেলটি স্পষ্টভাবে নির্ধারণ করতে পারে এবং উচ্চতর ক্রয়গুলি এড়াতে পারে।
  4. সূচকীয় চলমান গড় পদ্ধতি ব্যবহার করা হয়, যা দীর্ঘমেয়াদী প্রবণতা নির্ধারণে সহায়ক।

ঝুঁকি ও সমাধান

  1. স্টপ পয়েন্টটি খুব সহজে ট্রিগার করা যেতে পারে। স্টপ পয়েন্টটি যথাযথভাবে প্রশস্ত করা যেতে পারে।
  2. মুভিং এভারেজ সিস্টেমগুলি স্বল্পমেয়াদী বাজারের গোলমালের প্রতি সংবেদনশীল, যা ভুল সংকেত তৈরি করতে পারে। গড়ের প্যারামিটারগুলি যথাযথভাবে বাড়ানো যেতে পারে, যা ফিল্টারিংয়ের প্রভাবকে বাড়িয়ে তুলতে পারে।
  3. ভুল প্যারামিটার সেট করাও কৌশলটির কার্যকারিতা প্রভাবিত করতে পারে। সেরা প্যারামিটার সমন্বয় খুঁজে পেতে প্যারামিটারগুলিকে অনুকূলিতকরণের জন্য ফিডব্যাক করা যেতে পারে।

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

  1. বিভিন্ন ধরনের মুভিং এভারেজ যেমন ইএমএ, ভিডাব্লুএমএ ইত্যাদি পরীক্ষা করে দেখা যায় যে কোনটি সবচেয়ে বেশি মিলে যায়।
  2. কম পরিমাণে এলাকায় সংকেত এড়াতে ট্র্যাফিক সূচক যোগ করা যেতে পারে।
  3. বিভিন্ন রুট ম্যাপিং পদ্ধতি ব্যবহার করা যেতে পারে, যেমন ডোনচিয়ান রুট, যা রুটের সীমানা আরও নির্ভরযোগ্য করে তোলে।
  4. অন্যান্য সহায়ক সূচক যেমন MACD, RSI ইত্যাদি যোগ করা যেতে পারে।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © Darshana_Alwis

//@version=5
strategy("VIP", overlay=true, initial_capital=1000,currency=currency.USD,default_qty_type=strategy.percent_of_equity,default_qty_value=100,pyramiding=0)
//SSS = Sultan+Saud Strategy

//The original idea of the code belonges to saudALThaidy
//The strategy code is basically made out of two other indicators, edited and combined by me.
// 1- NSDT HAMA Candles => https://www.tradingview.com/script/k7nrF2oI-NSDT-HAMA-Candles/
// 2- SSL Channel => https://www.tradingview.com/script/6y9SkpnV-SSL-Channel/


//MA INFO
WickColor = input.color(color.rgb(80, 80, 80, 100), title='Wick Color', tooltip='Suggest Full Transparency.')
LengthMA = input.int(100, minval=1, title='MA Line Length', inline='MA Info')
TakeProfit = input.float(1, minval=0, title='Take Profit Percentage', step=1)
UseStopLose = input.bool(false, title='Use Stop Percentage')
StopLose = input.float(1, minval=0, title='StopLose Percentage', step=1)

MASource = close

ma(source, length, type) =>
    type == "SMA" ? ta.sma(source, length) :
     type == "EMA" ? ta.ema(source, length) :
     type == "SMMA (RMA)" ? ta.rma(source, length) :
     type == "WMA" ? ta.wma(source, length) :
     type == "VWMA" ? ta.vwma(source, length) :
     na

ma1_color  = color.rgb(230, 172, 0)
ma1 = ma(high, 200, "SMA")

ma2_color  = color.red
ma2 = ma(low, 200, "SMA")

Hlv1 = float(na)
Hlv1 := close > ma1 ? 1 : close < ma2 ? -1 : Hlv1[1]
sslUp1   = Hlv1 < 0 ? ma2 : ma1
sslDown1 = Hlv1 < 0 ? ma1 : ma2

Color1 = Hlv1 == 1 ? ma1_color : ma2_color
fillColor1 = color.new(Color1, 90)

highLine1 = plot(sslUp1, title="UP", linewidth=2, color = Color1)
lowLine1 = plot(sslDown1, title="DOWN", linewidth=2, color = Color1)

OpenLength = 25
HighLength = 20
LowLength = 20
CloseLength = 20


     
SourceOpen = (open[1] + close[1]) / 2
SourceHigh = math.max(high, close)
SourceLow = math.min(low, close)
SourceClose = (open + high + low + close) / 4

funcCalcMA1(src1, len1) => ta.ema(src1, len1)
funcCalcOpen(SourceOpen, OpenLength) => ta.ema(SourceOpen, OpenLength)
funcCalcHigh(SourceHigh, HighLength) => ta.ema(SourceHigh, HighLength)
funcCalcLow(SourceLow, LowLength) => ta.ema(SourceLow, LowLength)
funcCalcClose(SourceClose, CloseLength) => ta.ema(SourceClose, CloseLength)

MA_1 = funcCalcMA1(MASource, LengthMA)

CandleOpen = funcCalcOpen(SourceOpen, OpenLength)
CandleHigh = funcCalcHigh(SourceHigh, HighLength)
CandleLow = funcCalcLow(SourceLow, LowLength)
CandleClose = funcCalcClose(SourceClose, CloseLength)

//PLOT CANDLES
//-------------------------------NSDT HAMA Candels
BodyColor = CandleOpen > CandleOpen[1] ? color.rgb(230, 172, 0) : color.red
barcolor(BodyColor)
plotcandle(CandleOpen, CandleHigh, CandleLow, CandleClose, color=BodyColor, title='HAMA Candles', wickcolor=WickColor, bordercolor=na)
plot(MA_1, title='MA Line', color=BodyColor, style=plot.style_line, linewidth=2)

//------------------------------SSL Channel


plot_buy = false
avg = ((high-low)/2)+low
LongCondition = (Hlv1 == 1 and Hlv1[1] == -1) and (BodyColor == color.rgb(230, 172, 0)) and (MA_1 < avg) and (CandleHigh < avg) and (strategy.opentrades == 0)
if LongCondition
    strategy.entry("BUY with VIP", strategy.long)
    plot_buy := true

base = strategy.opentrades.entry_price(0)
baseProfit = (base+((base/100)*TakeProfit))
baseLose = (base-((base/100)*StopLose))

strategy.exit("SELL with VIP","BUY with VIP",limit = baseProfit)
if UseStopLose and (close < MA_1)
    strategy.exit("SELL with VIP","BUY with VIP",stop = baseLose)
if not UseStopLose and (close < MA_1)
    strategy.exit("SELL with VIP","BUY with VIP", stop = close)
    
plotshape(plot_buy, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=Color1, textcolor=color.white)

fill(highLine1, lowLine1, color = fillColor1)