
এই কৌশলটি বুলিন বন্ডের উপর ভিত্তি করে তৈরি করা হয়েছে, যেখানে দামগুলি বুলিন বন্ডের উপরে উঠে যায় এবং নীচে নেমে যায়। এই কৌশলটি ট্রেন্ড ট্র্যাকিং টাইপের কৌশল।
এই কৌশলটি ব্রিন বন্ডের মধ্যবর্তী, উপরের এবং নীচের ট্র্যাকগুলি ব্যবহার করে চরম মূল্যের পরিসীমা নির্ধারণ করে। মধ্যবর্তী ট্র্যাকটি গত 25 টি চক্রের সমাপ্তির দামের একটি সরল চলমান গড়, এবং উপরের এবং নীচের ট্র্যাকটি যথাক্রমে মধ্যবর্তী ট্র্যাকের নীচের স্ট্যান্ডার্ড ব্যবধানের দূরত্ব। যখন দামটি উপরের ট্র্যাকের নীচে বা নীচের ট্র্যাকের নীচে দিয়ে যায়, তখন এটি নির্দেশ করে যে দামটি অস্বাভাবিক মূল্যের আচরণের মধ্যে রয়েছে, যখন লেনদেনের সিদ্ধান্ত নেওয়া যেতে পারে।
যদি দামটি নিম্নরেখার নীচে থাকে তবে আরও বেশি কিনুন; যদি দামটি উচ্চরেখার উপরে থাকে তবে শূন্য বিক্রি করুন। অতিরিক্ত করার সময়, স্টপ লস লাইনটি প্রারম্ভিক মূল্যের সাথে স্টপ ফ্যাক্টর এবং স্টপ লাইনটি প্রারম্ভিক মূল্যের সাথে স্টপ ফ্যাক্টর হিসাবে সেট করুন।
এই নীতিতে অতিরিক্ত কিছু নিয়মও যুক্ত করা হয়েছে, যেমন ২৪ ঘণ্টার মধ্যে মাত্র একটি সিগন্যাল প্রেরণের অনুমতি দেওয়া হয়েছে, যাতে অপ্রয়োজনীয় লেনদেন এড়ানো যায়।
ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা:
এই কৌশলটি সামগ্রিকভাবে একটি সহজ প্রবণতা অনুসরণ কৌশল, দামের অস্বাভাবিকতা বিচার এবং প্রবণতা অনুসরণ করার জন্য ব্রিনের বন্ড ব্যবহার করে, প্যারামিটার অপ্টিমাইজেশন, ঝুঁকি নিয়ন্ত্রণ এবং সংকেত ফিল্টারিংয়ের ক্ষেত্রে অপ্টিমাইজেশনের জায়গা রয়েছে, তবে মূল ধারণাটি সহজ এবং স্পষ্ট, কৌশল শেখার জন্য উপযুক্ত।
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("I11L OIL Bot",overlay=true, initial_capital=1000000,default_qty_value=1000000,default_qty_type=strategy.cash,commission_type=strategy.commission.percent,commission_value=0.00)
leverage = input.float(1,"Leverage (x)",step=1)
SL_Factor = 1 - input.float(1,"Risk Capital per Trade (%)", minval=0.1, maxval=100, step=0.05) / 100 / leverage
TP_Factor = input.float(2, step=0.1)
invertBuyLogic = input.bool(false)
lookbackDistance = input.int(25)
devMult = input.float(2,step=0.1)
var lastSellHour = 0
var disableAdditionalBuysThisDay = false
if(time > lastSellHour + 1000 * 60 * 60 * 6)
disableAdditionalBuysThisDay := false
if(strategy.position_size != strategy.position_size[1])
disableAdditionalBuysThisDay := true
lastSellHour := time
source = close
//Trade Logic
basis = ta.sma(source, lookbackDistance)
dev = devMult * ta.stdev(source, lookbackDistance)
upper = basis + dev
lower = basis - dev
isBuy = ta.crossunder(source, upper)
isBuyInverted = ta.crossover(source, lower)
plot(upper, color=color.white)
plot(lower, color=color.white)
strategy.initial_capital = 50000
if((invertBuyLogic ? isBuyInverted : isBuy) and not(disableAdditionalBuysThisDay))
strategy.entry("Long", strategy.long, (strategy.initial_capital / close) * leverage)
if(strategy.position_size > 0)
strategy.exit("SL Long", "Long", stop=strategy.position_avg_price * SL_Factor)
strategy.close("Long", when=close > strategy.position_avg_price * (1 + (1 - SL_Factor) * TP_Factor), comment="TP Long")