এই নিবন্ধটি ল্যারি উইলিয়ামসের
ল্যারি উইলিয়ামসের তিন-অবধি গতিশীল চলমান গড় ট্রেডিং কৌশলটি দ্বৈত ইএমএ এবং ধারাবাহিক মোমবাতিগুলির দিকের উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী কৌশল। প্যারামিটার অপ্টিমাইজেশান সহ, এটি বিভিন্ন বাজারে অভিযোজিত হতে পারে। তবে কৌশলটি নিজেই তুলনামূলকভাবে সহজ, অস্থির বাজারে দুর্বল পারফর্ম করে এবং ঝুঁকি নিয়ন্ত্রণের ব্যবস্থাগুলির অভাব রয়েছে, যা আরও অপ্টিমাইজেশন এবং উন্নতির প্রয়োজন। কৌশলটির পক্ষে এবং বিপরীতে বিবেচনা করে, এটি স্পষ্ট প্রবণতা সহ বাজারে ব্যবহারের জন্য আরও উপযুক্ত এবং সামগ্রিক পারফরম্যান্স এবং স্থিতিশীলতা উন্নত করতে অবস্থান পরিচালনা এবং ঝুঁকি নিয়ন্ত্রণের ব্যবস্থাগুলির সাথে একত্রিত করা উচিত।
/*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")