এই কৌশলটি MACD (মোটিভিং এভারেজ কনভার্জেন্স ডিভার্জেন্স) সূচকের গতিশীল বৈশিষ্ট্যগুলির উপর ভিত্তি করে ট্রেডিং সিদ্ধান্ত গ্রহণ করে। মূল পদ্ধতিটি সম্ভাব্য সোনার এবং মৃত্যুর ক্রসগুলি পূর্বাভাস দেওয়ার জন্য MACD হিস্টোগ্রামের পরিবর্তনগুলি পর্যবেক্ষণের উপর দৃষ্টি নিবদ্ধ করে, যা প্রাথমিক অবস্থানের প্রতিষ্ঠার অনুমতি দেয়। কৌশলটি আরও ভাল প্রবেশের সময় পেতে হিস্টোগ্রামের গতিশীল বৈশিষ্ট্যগুলিতে জোর দিয়ে traditionalতিহ্যবাহী MACD ক্রসওভার সংকেতগুলির বাইরে চলে যায়।
কৌশলটি একটি সংশোধিত এমএসিডি সূচক ব্যবস্থা ব্যবহার করে, দ্রুত (ইএমএ১২) এবং ধীর (ইএমএ২৬) চলমান গড়ের মধ্যে পার্থক্যকে একত্রিত করে, একটি ২-অবধি সংকেত লাইনের সাথে। মূল ট্রেডিং লজিকটি বেশ কয়েকটি মূল পয়েন্টের উপর ভিত্তি করেঃ
এই কৌশলটি ঐতিহ্যবাহী এমএসিডি ট্রেডিং সিস্টেমগুলির উপর উন্নতি করার জন্য এমএসিডি হিস্টোগ্রামের গতিশীল বৈশিষ্ট্যগুলি উদ্ভাবনীভাবে ব্যবহার করে। ভবিষ্যদ্বাণীমূলক প্রক্রিয়াটি প্রাথমিক প্রবেশ সংকেত সরবরাহ করে, যখন কঠোর ট্রেডিং শর্ত এবং ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা কৌশল স্থিতিশীলতা নিশ্চিত করে। আরও অপ্টিমাইজেশন এবং পরিমার্জন সহ, এই কৌশলটি প্রকৃত ট্রেডিং অবস্থার মধ্যে উন্নত পারফরম্যান্সের প্রতিশ্রুতি দেখায়।
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Demo GPT - Moving Average Convergence Divergence", shorttitle="MACD", commission_type=strategy.commission.percent, commission_value=0.1, slippage=3, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=2) // Set smoothing line to 2 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"]) // Date inputs start_date = input(title="Start Date", defval=timestamp("2018-01-01T00:00:00")) end_date = input(title="End Date", defval=timestamp("2069-12-31T23:59:59")) // 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 // Strategy logic isInDateRange = true // Calculate the rate of change of the histogram hist_change = hist - hist[1] // Anticipate a bullish crossover: histogram is negative, increasing, and approaching zero anticipate_long = isInDateRange and hist < 0 and hist_change > 0 and hist > hist[1] and hist > hist[2] // Anticipate an exit (bearish crossover): histogram is positive, decreasing, and approaching zero anticipate_exit = isInDateRange and hist > 0 and hist_change < 0 and hist < hist[1] and hist < hist[2] if anticipate_long strategy.entry("Long", strategy.long) if anticipate_exit strategy.close("Long") // Plotting hline(0, "Zero Line", color=color.new(#787B86, 50)) plot(hist, title="Histogram", style=plot.style_columns, color=(hist >= 0 ? (hist > hist[1] ? #26A69A : #B2DFDB) : (hist < hist[1] ? #FF5252 : #FFCDD2))) plot(macd, title="MACD", color=#2962FF) plot(signal, title="Signal", color=#FF6D00) // Plotting arrows when anticipating the crossover plotshape(anticipate_long, title="Long +1", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.tiny, text="Long +1") plotshape(anticipate_exit, title="Short -1", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.tiny, text="Short -1")