यह रणनीति बाजार में ओवरबॉट और ओवरसोल्ड स्थितियों को निर्धारित करने के लिए अपने 21 दिनों के घातीय चलती औसत से सोने की कीमत के विचलन की गणना करती है। यह स्टॉप लॉस तंत्र के साथ जोखिम को नियंत्रित करने के लिए गति व्यापार दृष्टिकोण को अपनाती है जब विचलन मानक विचलन के संदर्भ में कुछ सीमाओं तक पहुंच जाता है।
इस रणनीति के लाभ इस प्रकार हैंः
विचार करने के लिए कुछ जोखिमः
समाधान:
रणनीति में सुधार के कुछ तरीके:
कुल मिलाकर यह एक ठोस प्रवृत्ति के बाद की रणनीति है। यह व्यापार संकेतों के लिए ओवरबॉट / ओवरसोल्ड स्तरों की स्पष्ट रूप से पहचान करने के लिए प्रवृत्ति की दिशा और मानकीकृत विचलन को परिभाषित करने के लिए ईएमए का उपयोग करता है। मुनाफे को चलाने के दौरान जोखिम को नियंत्रित करने के लिए उचित स्टॉप लॉस। आगे पैरामीटर ट्यूनिंग और जोड़ने की शर्तें इस रणनीति को व्यावहारिक अनुप्रयोग के लिए अधिक मजबूत बना सकती हैं।
/*backtest start: 2024-01-20 00:00:00 end: 2024-02-19 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("GC Momentum Strategy with Stoploss and Limits", overlay=true) // Input for the length of the EMA ema_length = input.int(21, title="EMA Length", minval=1) // Exponential function parameters steepness = 2 // Calculate the EMA ema = ta.ema(close, ema_length) // Calculate the deviation of the close price from the EMA deviation = close - ema // Calculate the standard deviation of the deviation std_dev = ta.stdev(deviation, ema_length) // Calculate the Z-score z_score = deviation / std_dev // Long entry condition if Z-score crosses +0.5 and is below 3 standard deviations long_condition = ta.crossover(z_score, 0.5) // Short entry condition if Z-score crosses -0.5 and is above -3 standard deviations short_condition = ta.crossunder(z_score, -0.5) // Exit long position if Z-score converges below 0.5 from top exit_long_condition = ta.crossunder(z_score, 0.5) // Exit short position if Z-score converges above -0.5 from below exit_short_condition = ta.crossover(z_score, -0.5) // Stop loss condition if Z-score crosses above 3 or below -3 stop_loss_long = ta.crossover(z_score, 3) stop_loss_short = ta.crossunder(z_score, -3) // Enter and exit positions based on conditions if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) if (exit_long_condition) strategy.close("Long") if (exit_short_condition) strategy.close("Short") if (stop_loss_long) strategy.close("Long") if (stop_loss_short) strategy.close("Short") // Plot the Z-score on the chart plot(z_score, title="Z-score", color=color.blue, linewidth=2) // Optional: Plot zero lines for reference hline(0.5, "Upper Threshold", color=color.red) hline(-0.5, "Lower Threshold", color=color.green)