এসএমএ-র সাথে মূল্য ক্রসওভারের উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটির নাম Qualitative Trading Strategy Based on Price Crossover with SMA। এটি মূলত বিভিন্ন সময়ের এসএমএ গণনা করে এবং এসএমএর সাথে মূল্য ক্রসওভার ট্র্যাক করে ট্রেডিং সংকেত তৈরি করে। যখন দাম এসএমএকে উপরে ভাঙবে, এটি ক্রয় সংকেত ট্রিগার করে। যখন দাম এসএমএকে নীচে ভাঙবে, এটি বিক্রয় সংকেত ট্রিগার করে।

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

এই কৌশলটির মূল যুক্তি হল 21-দিনের সহজ চলমান গড় (এসএমএ) দিয়ে মূল্য ক্রসওভার ট্র্যাক করা। এদিকে, এটি সাধারণ প্রবণতা নির্ধারণের জন্য 50-দিনের এসএমএ এবং 200-দিনের এসএমএও গণনা করে।

বিশেষত, কৌশলটি প্রদত্ত তারিখের পরিসরের মধ্যে মূল্য বন্ধ করার অনুরোধ করে এবং ইনপুট সময়ের উপর ভিত্তি করে বিভিন্ন এসএমএ গণনা করে। যদি মূল্য 21 দিনের এসএমএ উপরে ভাঙতে থাকে তবে এটি ক্রয় সংকেত সেট করে। যদি মূল্য 21 দিনের এসএমএ নীচে ভাঙে তবে এটি বিক্রয় সংকেত সেট করে।

এসএমএ গণনা এবং ক্রসওভার নির্ধারণের পাশাপাশি, কৌশলটি বর্তমান অবস্থানও ট্র্যাক করে। এটি ক্রয় সংকেত ট্রিগার করার সময় অবস্থান প্রবেশ করে এবং বিক্রয় সংকেত ট্রিগার করার সময় অবস্থান সমতল করে। এইভাবে, এটি এসএমএ ক্রসওভারের উপর ভিত্তি করে স্বয়ংক্রিয় ট্রেডিং সিস্টেম উপলব্ধি করে।

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

এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল এটি সহজ এবং সহজেই বোঝা এবং বাস্তবায়ন করা যায়। এসএমএ একটি সাধারণভাবে ব্যবহৃত প্রযুক্তিগত সূচক এবং এসএমএ ক্রসওভার সর্বাধিক সাধারণ ট্রেডিং সংকেতগুলির মধ্যে একটি। এই ধরণের সূচক ক্রসওভার কৌশলগুলি স্বয়ংক্রিয় ট্রেডিংয়ের জন্য বিভিন্ন স্টক এবং সময়সীমার জন্য সহজেই প্রয়োগ করা যেতে পারে।

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

ঝুঁকি এবং সমাধান

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

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

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

কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ

  1. সর্বোত্তম এসএমএ পরামিতি সমন্বয় পরীক্ষা করুন এবং নির্বাচন করুন। সেরা সময়কাল খুঁজে পেতে বিভিন্ন এসএমএ দৈর্ঘ্য ব্যাকটেস্ট করুন।

  2. ফিল্টারসিগন্যাল নিশ্চিতকরণের জন্য অন্যান্য সূচক যোগ করুন, যেমন আরএসআই, এমএসিডি ইত্যাদি। এটি মিথ্যা সংকেতগুলি ফিল্টার করতে সহায়তা করে।

  3. স্টপ লস লজিক অন্তর্ভুক্ত করুন। সর্বোচ্চ সহ্যযোগ্য ক্ষতি বা ট্রেলিং স্টপ সেট করুন ঝুঁকিগুলি আরও ভালভাবে নিয়ন্ত্রণ করতে।

  4. এন্ট্রি টাইমিং অপ্টিমাইজ করুন। কঠোরভাবে এসএমএ ক্রসওভার অনুসরণ করার পরিবর্তে প্রধান ব্রেকআউটের আশেপাশে প্রবেশের বিষয়টি বিবেচনা করুন।

  5. সংমিশ্রিত কৌশল পরীক্ষা করুন। প্রবণতা অনুসরণ করার মতো অন্যান্য কৌশলগুলির সাথে একত্রিত করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Price Cross Above/Below SMA Strategy", shorttitle="Tressy Strat", overlay=true)

// Define start and end year inputs
start_year = input.int(2022, title="Start Year")
end_year = input.int(2022, title="End Year")

// Define start and end month inputs
start_month = input.int(1, title="Start Month", minval=1, maxval=12)
end_month = input.int(12, title="End Month", minval=1, maxval=12)

// Define SMA length inputs
sma_length = input.int(21, title="SMA Length")
sma_length_50 = input.int(50, title="50 SMA Length")
sma_length_200 = input.int(200, title="200 SMA Length")

// Filter data within the specified date range
filter_condition = true
filtered_close = request.security(syminfo.tickerid, "D", close[0], lookahead=barmerge.lookahead_on)

// Define SMAs using the input lengths
sma = ta.sma(filtered_close, sma_length)
sma_50 = ta.sma(filtered_close, sma_length_50)
sma_200 = ta.sma(filtered_close, sma_length_200)

// Initialize position
var bool in_position = false

// Condition for a price cross above SMA within the date range
cross_above = filter_condition and ta.crossover(filtered_close, sma)

// Condition for a price cross below SMA within the date range
cross_below = filter_condition and ta.crossunder(filtered_close, sma)

// Buy condition
if cross_above
    in_position := true

// Sell condition
if cross_below
    in_position := false

// Strategy entry and exit
if cross_above
    strategy.entry("Buy", strategy.long)
if cross_below
    strategy.close("Buy")

// Plot the SMAs on the chart
plot(sma, color=color.blue, title="21 SMA")
plot(sma_50, color=color.red, title="50 SMA")
plot(sma_200, color=color.orange, title="200 SMA")

// Plot the Buy and Sell signals with "tiny" size
plotshape(cross_above, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, title="Buy Signal")
plotshape(cross_below, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny, title="Sell Signal")


আরো