इस लेख में लैरी विलियम्स के तीन-अवधि गतिशील चलती औसत पर आधारित एक ट्रेडिंग रणनीति पेश की गई है। यह रणनीति कीमत के रुझानों को पकड़ने के लिए दो घातीय चलती औसत (ईएमए) का उपयोग करती है और जब तीन लगातार मोमबत्तियों की समापन कीमत ईएमए के माध्यम से टूटती है तो ट्रेडिंग संकेत उत्पन्न करती है। रणनीति पैरामीटर समायोज्य हैं और विभिन्न बाजारों और समय सीमाओं के लिए उपयुक्त हैं।
लैरी विलियम्स की तीन-अवधि गतिशील चलती औसत ट्रेडिंग रणनीति दोहरे ईएमए और लगातार मोमबत्तियों की दिशा पर आधारित एक प्रवृत्ति-अनुसरण रणनीति है। पैरामीटर अनुकूलन के साथ, यह विभिन्न बाजारों के अनुकूल हो सकती है। हालांकि, रणनीति स्वयं अपेक्षाकृत सरल है, चंचल बाजारों में खराब प्रदर्शन करती है, और जोखिम नियंत्रण उपायों की कमी है, जिसके लिए आगे अनुकूलन और सुधार की आवश्यकता होती है। रणनीति के पेशेवरों और विपक्षों को देखते हुए, यह स्पष्ट रुझानों वाले बाजारों में उपयोग के लिए अधिक उपयुक्त है और समग्र प्रदर्शन और स्थिरता में सुधार के लिए स्थिति प्रबंधन और जोखिम नियंत्रण उपायों के साथ जोड़ा जाना चाहिए।
/*backtest start: 2023-05-05 00:00:00 end: 2024-05-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Larry Williams 3 Periodos Editável de MarcosJr", overlay=true, process_orders_on_close=true) // Parametrização do período do EMA emaPeriodHighs = input.int(title="Highs Period", defval=3, minval=1, maxval=9999) emaPeriodLows = input.int(title="Lows Period", defval=3, minval=1, maxval=9999) // Parametrização da data de início e fim do período a ser coletado startYear = input.int(title="Start Year", defval=2020) startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12) startDay = input.int(title="Start Day", defval=1, minval=1, maxval=31) endYear = input.int(title="End Year", defval=2020) endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12) endDay = input.int(title="End Day", defval=31, minval=1, maxval=31) // Convertendo data de início e fim para timestamp startDate = timestamp(startYear, startMonth, startDay, 00, 00) endDate = timestamp(endYear, endMonth, endDay, 23, 59) // EMA emaH = ta.ema(high, emaPeriodHighs) emaL = ta.ema(low, emaPeriodLows) // PLOT: // Desenha as linhas EMA no gráfico plot(emaH, color=color.green, linewidth=2) plot(emaL, color=color.red, linewidth=2) // Condições inDateRange = true // Verifica se houve mais de três candles consecutivos do mesmo sentido checkThreeConsecutiveCandles = (close[0] > close[1] and close[1] > close[2] and close[2] > close[3]) or (close[0] < close[1] and close[1] < close[2] and close[2] < close[3]) if(close < emaL and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed) strategy.entry("Long", strategy.long, comment="Long", when=strategy.position_size == 0) if(close > emaH and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed) strategy.close("Long", comment="Close Long") // Fechar a operação no fechamento do pregão if(strategy.position_size > 0 and na(time_close[0])) strategy.close("Long", comment="Close Long")