কৌশল নামঃ গতি-চালিত লিনিয়ার এমএসিডি কৌশল
সংক্ষিপ্ত বিবরণঃ এটি একটি পরিমাণগত কৌশল যা এমএসিডি সূচকের সাথে মিলিত স্টক মূল্যের পূর্বাভাস দেওয়ার জন্য রৈখিক রিগ্রেশন ব্যবহার করে। এটি ভবিষ্যতের মূল্য প্রবণতা পূর্বাভাস দেওয়ার জন্য historicalতিহাসিক দাম এবং ভলিউমগুলিতে রৈখিক রিগ্রেশন বিশ্লেষণকে কাজে লাগায়। এটি মুনাফা সুযোগগুলি আবির্ভূত হওয়ার সময় প্রবেশের সময় নির্ধারণের জন্য এমএসিডি সূচক ব্যবহার করে।
কৌশলগত নীতিঃ
সুবিধা বিশ্লেষণঃ এই কৌশলটি পরিসংখ্যানগত পূর্বাভাস এবং প্রযুক্তিগত সূচক বিচারের সমন্বয় করে। এটি স্বতন্ত্র জল্পনা এড়ানো, রৈখিক রিগ্রেশন ব্যবহার করে মূল্য পূর্বাভাস প্রাপ্ত করে। এদিকে, এমএসিডি সূচক কার্যকরভাবে বাজারের গতি নির্ধারণ করতে এবং সঠিকভাবে সুযোগগুলি ক্যাপচার করতে পারে। সামগ্রিকভাবে, এই কৌশলটির উচ্চ পদ্ধতিগত স্তর, সঠিক পূর্বাভাস এবং নিয়ন্ত্রণযোগ্য ঝুঁকি রয়েছে।
ঝুঁকি বিশ্লেষণঃ
লিনিয়ার রিগ্রেশন শুধুমাত্র ঐতিহাসিক তথ্যের উপর নির্ভর করে এবং উল্লেখযোগ্যভাবে bearish খবর মত কালো সোয়ান ঘটনা প্রতিক্রিয়া ভুল সংকেত উৎপন্ন করতে পারে। এছাড়াও, রিগ্রেশন সময়ের দৈর্ঘ্য মত পরামিতি সেটিংস কৌশল কর্মক্ষমতা প্রভাবিত। আমরা কৌশল প্রভাবিত যে বক্ররেখা jitters প্রশমিত করতে পূর্বাভাস মূল্য বক্ররেখা মসৃণ করতে vwma ব্যবহার করার পরামর্শ।
অপ্টিমাইজেশান নির্দেশাবলীঃ
আমরা বিশ্বাস করি যে এই কৌশলটি নিম্নলিখিত দিকগুলিতে অনুকূলিত করা যেতে পারেঃ
উপসংহারঃ
এই কৌশলটি রৈখিক রিগ্রেশন সহ দামের পূর্বাভাস এবং এমএসিডি সূচক সহ এন্ট্রিগুলি নির্ধারণ করে পদ্ধতিগত ট্রেডিং সংকেত উত্পন্ন করে। এর সুবিধাগুলির মধ্যে পরিষ্কার পূর্বাভাস লজিক, নিয়ন্ত্রণযোগ্য ঝুঁকি এবং প্রশস্ত অপ্টিমাইজেশান স্পেস অন্তর্ভুক্ত রয়েছে। আমরা বিশ্বাস করি যে এর পারফরম্যান্স ক্রমাগত অপ্টিমাইজেশন এবং পুনরাবৃত্তিগুলির মাধ্যমে আরও উন্নত হবে। এটি পরিমাণগত ট্রেডিং পরিচালনার জন্য বৈজ্ঞানিক পূর্বাভাস মডেলগুলিকে কাজে লাগানোর জন্য অনুপ্রেরণা সরবরাহ করে এবং আরও গবেষণা এবং প্রয়োগের যোগ্য।
/*backtest start: 2023-12-07 00:00:00 end: 2023-12-14 00:00:00 period: 1m basePeriod: 1m 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/ // © stocktechbot //@version=5 strategy("Linear On MACD", overlay=true, margin_long=100, margin_short=100) fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) tolerance = input.string(title="Risk tolerance", defval = "LOW", options=["LOW", "HIGH"]) chng = 0 obv = ta.cum(math.sign(ta.change(close)) * volume) if close < close[1] and (open < close) chng := 1 else if close > close[1] chng := 1 else chng := -1 obvalt = ta.cum(math.sign(chng) * volume) //src = input(title="Source", defval=close) src = obvalt signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Calculating fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal //hline(0, "Zero Line", color=color.new(#787B86, 50)) //plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below))) //plot(macd, title="MACD", color=col_macd) //plot(signal, title="Signal", color=col_signal) [macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) //Linear Regression vol = volume // Function to calculate linear regression linregs(y, x, len) => ybar = math.sum(y, len)/len xbar = math.sum(x, len)/len b = math.sum((x - xbar)*(y - ybar),len)/math.sum((x - xbar)*(x - xbar),len) a = ybar - b*xbar [a, b] // Historical stock price data price = close // Length of linear regression len = input(defval = 21, title = 'Lookback') // Calculate linear regression for stock price based on volume [a, b] = linregs(price, vol, len) // Predicted stock price based on volume predicted_price = a + b*vol // Check if predicted price is between open and close is_between = open < predicted_price and predicted_price < close // Plot predicted stock price plot(predicted_price, color=color.rgb(218, 27, 132), linewidth=2, title="Predicted Stock Price") plot(ta.vwma(predicted_price,len), color=color.rgb(199, 43, 64), linewidth=2, title="Predicted Stock Price") //BUY Signal lincrossunder = close > predicted_price macdrise = ta.rising(macd,2) //macdvollong = ta.crossover(macd, signal) //macdlong = ta.crossover(macdLine, signalLine) macdvollong = macd > signal macdlong = macdLine > signalLine longCondition=false if macdlong and macdvollong and is_between and ta.rising(predicted_price,1) longCondition := true if (longCondition) strategy.entry("My Long Entry Id", strategy.long) //Sell Signal lincrossover = close < predicted_price macdfall = ta.falling(macd,1) macdsell = macd < signal shortCondition = false risklevel = predicted_price if (tolerance == "HIGH") risklevel := ta.vwma(predicted_price,len) if macdfall and macdsell and (macdLine < signalLine) and (close < risklevel) shortCondition := true if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)