চলমান গড়ের ক্রস-লাইন কৌশল একটি খুব সাধারণ পরিমাণগত ট্রেডিং কৌশল। এই কৌশলটি চলমান গড়ের গোল্ডেন ফোর্ক ব্যবহার করে প্রবণতা নির্ধারণের জন্য এবং মুনাফা অর্জনের জন্য। যখন স্বল্পমেয়াদী চলমান গড়ের উপর দীর্ঘমেয়াদী চলমান গড় অতিক্রম করা হয়, তখন শেয়ারের দাম বাড়তে শুরু করে এবং আরও বেশি করা যায়; যখন স্বল্পমেয়াদী চলমান গড়ের নীচে দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করা হয়, তখন শেয়ারের দাম কমতে শুরু করে এবং খালি করা যায়।
এই কৌশলটি ক্রয় এবং বিক্রয়ের সময় নির্ধারণের জন্য চলমান গড়ের উপর ভিত্তি করে একটি গোল্ডেন ফর্ক ডেডফোর্ক ব্যবহার করে।upOrDownএবংlongOrShortদুইটি Boolean ইনপুট প্যারামিটার ব্যবহার করা হয়;percentInputইনপুট প্যারামিটার যা শেয়ারের দামের পরিবর্তনের হার নির্ধারণ করে; ব্যবহারclosePositionDaysপজিশন ধরে রাখার দিন সংখ্যা নির্ধারণের জন্য প্যারামিটার লিখুন
কৌশলটির কেন্দ্রীয় যুক্তি হলঃ আজকের তুলনায় গতকালের পতন এবং পতন গণনা করুন, যদি ইনপুটটির পতন শতাংশ পৌঁছে যায় তবে একটি লেনদেনের সংকেত জারি করুন। যদি এটি পিছিয়ে থাকে, তবে আজকের তুলনায় গতকালের পতনটি যখন পতন অতিক্রম করে তখন আরও বেশি করুন; যদি এটি পতন হয়, তবে আজকের তুলনায় গতকালের পতনটি যখন পতন অতিক্রম করে তখন শূন্য করুন।
এই দিনটি এবং পরবর্তী ৪ দিন অঙ্কন করা হয় বিভিন্ন রঙে। ৪ দিন পর স্বয়ংক্রিয়ভাবে খালি হয়ে যায়।
ঝুঁকি নিয়ন্ত্রণ ব্যবস্থা:
চলমান সমান্তরাল ক্রস কৌশলটি একটি খুব সহজ এবং ব্যবহারিক পরিমাণযুক্ত ট্রেডিং কৌশল। এটি স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী প্রবণতার সম্পর্কগুলি বিচার করে এবং শেয়ারের দামের প্রবণতা ব্যবহার করে মুনাফা অর্জন করে। এই কৌশলটি সহজেই বাস্তবায়নযোগ্য, যুক্তিযুক্তভাবে পরিষ্কার এবং অনেক পরিমাণযুক্ত ট্রেডিং কৌশলগুলির ভিত্তি। প্যারামিটারগুলি সামঞ্জস্য এবং অপ্টিমাইজ করার মাধ্যমে আরও ভাল কৌশলগত প্রভাব অর্জন করা যায়। তবে আমাদের ঝুঁকি নিয়ন্ত্রণেও সতর্কতা অবলম্বন করা দরকার যাতে এটির ধারণাকে বিকৃত করে অন্ধভাবে ব্যবহার করা না হয়।
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Created by Leon Ross
strategy(title = "DaysAfterCertainPercentChangev1", shorttitle = "DACPCv1", overlay = true,
pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100,
calc_on_every_tick=true, initial_capital=100000)
//Inputs
longOrShort = input(title="Long=Checked Short=Unchecked", type=bool, defval=true) //long=true, down=false
upOrDown = input(title="Direction of Today vs. Previous day: Up=Checked Down=Unchecked", type=bool, defval=true) //up=true, down=false: this is the direction of days vs previous day
percentInput = input(title="Percent", type=float, defval=4.5)
closePositionDays = input(title="How Many Days to Close Position", defval=4)
//Conditions
//percentUpValue = (close / close[1]) - 1
//percentUp = percentUpValue >= (percentInput/100.0)
//upConditions = percentUp
//percentDownValue = 1- (close / close[1])
//percentDown = percentDownValue >= (percentInput/100.0)
//downConditions = percentDown
upValue = (close / close[1]) - 1
downValue = 1 - (close / close[1])
allConditions = if(upOrDown)
upValue >= (percentInput/100.0)
else
downValue >= (percentInput/100.0)
//Plots
bgcolor(allConditions ? (upOrDown ? green : red) : na, transp=70)
bgcolor(allConditions ? silver : na, transp=70, offset=1)
bgcolor(allConditions ? silver : na, transp=70, offset=2)
bgcolor(allConditions ? silver : na, transp=70, offset=3)
bgcolor(allConditions ? silver : na, transp=70, offset=4)
//bgcolor(downConditions == 1 ? red : na, transp=70)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=1)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=2)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=3)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=4)
//Entires
if(longOrShort)
strategy.entry(id = "Long", long = true, when = allConditions)
else
strategy.entry(id = "Short", long = false, when = allConditions)
//Exits
if (barssince(allConditions) == closePositionDays)
if(longOrShort)
strategy.close("Long")
else
strategy.close("Short")