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