ল্যারি উইলিয়ামসের চলমান গড় ক্রসওভার কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-২৬ ১৫ঃ৩৩ঃ১৬
ট্যাগঃ

img

সারসংক্ষেপ

এটি একটি সহজ এবং ক্লাসিক চলমান গড় ক্রসওভার কৌশল যা বিখ্যাত ব্যবসায়ী ল্যারি উইলিয়ামস দ্বারা তৈরি করা হয়েছিল। কৌশলটি 9 দিনের সহজ চলমান গড়কে দ্রুত রেখা হিসাবে এবং 21 দিনের এক্সপোনেন্সিয়াল চলমান গড়কে ধীর রেখা হিসাবে ব্যবহার করে। দাম 9 দিনের লাইনের উপরে ভাঙলে এটি দীর্ঘ হয় এবং দাম 9 দিনের লাইনের নীচে ভাঙলে এটি সংক্ষিপ্ত হয়। মিথ্যা ব্রেকআউটগুলি ফিল্টার করতে, প্রবণতাটি নিশ্চিত করতে 21 দিনের লাইনটিও ব্যবহৃত হয়।

কৌশলগত যুক্তি

কৌশলটি দীর্ঘ এবং সংক্ষিপ্ত সুযোগগুলি নির্ধারণের জন্য চলমান গড়ের সোনার ক্রসওভার এবং মৃত্যুর ক্রসওভারের উপর ভিত্তি করে। যখন দ্রুত লাইনটি নীচে থেকে ধীর রেখার উপরে ভেঙে যায়, তখন এটি একটি সোনার ক্রসওভার, যা একটি উত্থান প্রবণতার পরিবর্তনের ইঙ্গিত দেয়। এই ধরনের ব্রেকআউট দীর্ঘ যেতে ব্যবহৃত হয়। যখন দ্রুত লাইনটি উপরে থেকে ধীর রেখার নীচে ভেঙে যায়, তখন এটি একটি মৃত্যু ক্রসওভার, যা একটি হ্রাস প্রবণতার পরিবর্তনের ইঙ্গিত দেয়। এই ধরনের ব্রেকআউটটি শর্ট যেতে ব্যবহৃত হয়।

ভুয়া ব্রেকআউটগুলি ভার্চুয়াল ক্ষতির দিকে পরিচালিত না করার জন্য, প্রধান প্রবণতা নির্ধারণের জন্য 21-দিনের লাইনটিও ব্যবহৃত হয়। কেবলমাত্র যখন দ্রুত লাইনটি ভেঙে যায় এবং দামও 21-দিনের লাইনটি ভেঙে যায়, তখনই বাণিজ্যিক পদক্ষেপ নেওয়া হবে। এটি কার্যকরভাবে অনেকগুলি মিথ্যা ব্রেকআউট ফিল্টার করতে পারে।

বিশেষত, দীর্ঘ সংকেতটি তখন সক্রিয় হয় যখনঃ দ্রুত লাইনটি গতকালের উচ্চতার উপরে ভেঙে যায় এবং ২১ দিনের লাইনের উপরে ভেঙে যায়। সংক্ষিপ্ত সংকেতটি সক্রিয় হয় যখনঃ দ্রুত লাইনটি গতকালের নিম্নের নীচে ভেঙে যায় এবং ২১ দিনের লাইনের নীচে ভেঙে যায়।

সুবিধা বিশ্লেষণ

এই কৌশলটির প্রধান সুবিধাগুলো হল:

  1. কৌশল ধারণাটি সহজ এবং বোঝা এবং বাস্তবায়ন করা সহজ।
  2. চলমান গড় কৌশলটি পরিপক্ক এবং ব্যাপকভাবে ব্যবহৃত হয়।
  3. ২১ দিনের রেখা কার্যকরভাবে ভুয়া ব্রেকআউট ফিল্টার করে।
  4. গতকালের চূড়ান্ত পয়েন্টগুলি ব্যবহার করে পজিশনে প্রবেশ করা ফাঁদে পড়া রোধ করতে পারে।
  5. কৌশলগত পরামিতিগুলি সহজেই অতিরিক্ত ফিটিং ছাড়াই তুলনামূলকভাবে শক্তিশালী।

ঝুঁকি বিশ্লেষণ

এই কৌশলটির প্রধান ঝুঁকিগুলি হলঃ

  1. অস্থির বাজারে, চলমান গড়গুলি পিছিয়ে যায় এবং সেরা প্রবেশের পয়েন্টগুলি মিস করতে পারে।
  2. দামের ক্রিয়াকলাপের সাথে রেঞ্জ-বান্ধব বাজারে, ঘন ঘন ছোট ক্ষতি হতে পারে।
  3. এটি হঠাৎ ঘটনা এবং উল্লেখযোগ্য প্রবণতা পরিবর্তনের ক্ষেত্রে কার্যকরভাবে প্রতিক্রিয়া জানাতে পারে না।

এই ঝুঁকিগুলি মোকাবেলা করার জন্য নিম্নলিখিত দিকগুলিতে অপ্টিমাইজেশন করা যেতে পারেঃ

  1. আরও রিয়েল টাইম সিগন্যালের জন্য MACD সূচক চালু করুন।
  2. ট্রেডিং ফ্রিকোয়েন্সি হ্রাস করার জন্য এমএ সময়ের পরামিতি বাড়ান।
  3. একক ট্রেড ক্ষতির পরিমাণ নিয়ন্ত্রণের জন্য স্টপ লস কৌশল যোগ করুন।

অপ্টিমাইজেশান নির্দেশাবলী

এই কৌশলটির মূল অপ্টিমাইজেশান দিকগুলির মধ্যে রয়েছেঃ

  1. প্যারামিটার অপ্টিমাইজেশান। আরও ভাল প্যারামিটার খুঁজে পেতে বিভিন্ন এমএ সময়ের সংমিশ্রণ পরীক্ষা করার জন্য আরও পদ্ধতিগত পদ্ধতি ব্যবহার করা যেতে পারে।

  2. স্টপ লস যোগ করুন। কার্যকরভাবে একক বাণিজ্য ক্ষতি নিয়ন্ত্রণ করার জন্য সঠিক চলন্ত স্টপ লস, শতাংশ স্টপ লস ইত্যাদি সেট করুন।

  3. অন্যান্য সূচককে একত্রিত করুন। আরও নিশ্চিতকরণ মাত্রা পেতে এবং কৌশল স্থিতিশীলতা উন্নত করতে MACD, ATR, KD ইত্যাদি থেকে সংকেতগুলি প্রবর্তন করুন।

  4. উত্তোলন প্রক্রিয়া অপ্টিমাইজ করুন। বিপরীত সিগন্যাল উত্তোলন, মুনাফা গ্রহণের উত্তোলন ইত্যাদি বিভিন্ন ধরণের উত্তোলন পদ্ধতি গবেষণা করুন।

সিদ্ধান্ত

সংক্ষেপে, এই চলমান গড় ক্রসওভার কৌশলটি একটি খুব সাধারণ এবং ব্যবহারিক প্রবণতা অনুসরণকারী কৌশল। এটি বোঝা এবং বাস্তবায়ন করা সহজ হওয়ার সুবিধা রয়েছে, এবং উন্নতির জন্যও জায়গা রয়েছে। প্যারামিটার অপ্টিমাইজেশন, স্টপ লস অপ্টিমাইজেশন, মাল্টি-ইন্ডিকেটর সংমিশ্রণ ইত্যাদির মতো পদ্ধতির মাধ্যমে এটিকে আরও স্থিতিশীল এবং ব্যবহারিক ট্রেডিং সিস্টেমে পরিণত করতে ক্রমাগত উন্নতি করা যেতে পারে।


// @_benac
//@version=5
strategy('Larry', overlay=true , initial_capital=1000 )


////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                 Codigo Operacional                 //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

// Usage for Stocks , or Criptos with value bigger then 1, cuz of 0.01 ´pip.
// Daily timeframe
//Observation Point
start     = timestamp(2020, 00, 00, 00, 00)         // backtest start window
finish    = timestamp(2022, 01, 07, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"  

if time < start 
    strategy.close_all("Closing All")

// Take infos from inputs. 
inp_mmshort = input.int(defval = 9, title = "Media Curta"  )
inp_mminter = input.int(defval = 21, title = "Media Curta"  )

// Risk Manager, here define max and min 
inp_max = input.int(defval = 15, title = "Percentual Ganho"  )
inp_min = input.int(defval = 5, title = "Percental  Perda"  )

// Converting the input to % 
pmax = (inp_max / 100 )
pmin =  (inp_min / 100)

// Infos From Moving Average
mm_short = ta.sma(close , inp_mmshort)
mm_inter = ta.ema(close , inp_mminter)


// Trend Logic
//Long Condition 

//Setup do Larry Willians Bem Simples , media virou para cima e rompeu a maxima de referencia, compra. 
tendencia_alta = mm_short[2] > mm_short[1] and mm_short > mm_short[1] and close > high[1] and close > mm_short and mm_short > mm_inter
tendencia_baixa = mm_short[2] < mm_short[1] and mm_short < mm_short[1] and close > low[1] and close < mm_short and mm_short < mm_inter

// Creating the entry
if tendencia_alta 
    strategy.entry("Compra" , strategy.long , stop = low - 0.01  )
    stop_inst = low - 0.01 
if tendencia_baixa 
    strategy.entry("Venda" , strategy.short , stop= high + 0.01  )
    stop_inst = high + 0.01


// TrailingStop Creation

// Sell Position
if strategy.position_size < 0 
    gain_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmax) 
    stop_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmin) 
    // Managing the position
    if close < gain_p 
        strategy.close_all(comment = " 1 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if close > stop_p 
        strategy.close_all(comment = " 2 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    
    if  high > mm_short[1]
        strategy.close_all(comment = " 3 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
      

// Buy Position    
if strategy.position_size > 0
    gain_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmax) 
    stop_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmin) 
    // Managing the position
    if close > gain_p 
        strategy.close_all(comment = " 1- Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if close < stop_p 
        strategy.close_all(comment = " 2 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if low < mm_short[1]
        strategy.close_all(comment = " 3 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
        



আরো