চলমান গড় এবং EMA এর উপর ভিত্তি করে ক্রস-টাইম ফ্রেম প্রবণতা কৌশল


সৃষ্টির তারিখ: 2024-02-21 15:59:43 অবশেষে সংশোধন করুন: 2024-02-21 15:59:43
অনুলিপি: 1 ক্লিকের সংখ্যা: 713
1
ফোকাস
1617
অনুসারী

চলমান গড় এবং EMA এর উপর ভিত্তি করে ক্রস-টাইম ফ্রেম প্রবণতা কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত তিনটি সময়ের বিভিন্ন এসএমএ গড়ের তুলনা করে দামের গতিবিধি নির্ধারণ করে। এছাড়াও ইএমএ ব্যবহার করে সত্তার দিকনির্দেশের জন্য সহায়ক।

বিশেষত, কৌশলটি 3 টি পিরিয়ডের এসএমএ গড় লাইন ব্যবহার করে, যথাক্রমে 3 পিরিয়ড, 8 পিরিয়ড এবং 10 পিরিয়ডের এসএমএ। তিনটি গড় লাইনের নীচে দামকে পতনশীল হিসাবে বিবেচনা করা হয় এবং যখন দাম আবার গড় লাইনে ফিরে আসে তখন একটি ক্রয় সংকেত দেওয়া হয়।

এছাড়াও, এই কৌশলটি 5 টি চক্রের ইএমএ ব্যবহার করে যা কে-লাইন এন্ট্রিগুলির দিকনির্দেশনা নির্ধারণে সহায়তা করে এবং ক্রয় করার সময় এন্ট্রিগুলিকে নিশ্চিত করে।

পজিশন ম্যানেজমেন্টে, কৌশলটি লাভের সংখ্যা বা সর্বোচ্চ পজিশন পিরিয়ডকে স্টপ লস হিসাবে সেট করে।

সামর্থ্য বিশ্লেষণ

এই কৌশলটি বিভিন্ন সময়কালের সমান্তরাল প্রবণতার বিচার করতে সক্ষম, কার্যকরভাবে বাজার শব্দটি ফিল্টার করতে এবং মধ্য এবং দীর্ঘ লাইন প্রবণতা অনুসরণ করতে সক্ষম। কৌশলটি প্যারামিটারগুলি অপ্টিমাইজ করা হয়েছে, যা historicalতিহাসিক পুনরাবৃত্তিতে ভাল পারফরম্যান্স করে।

এছাড়াও, কৌশলটি ইএমএ-র বিচারের সাথে যুক্ত করা হয়েছে, যা কে-লাইন সত্তাগুলির নীচে ক্রয় করা এড়াতে পারে, যার ফলে অপ্রয়োজনীয় স্লাইড পয়েন্টের ক্ষতি হ্রাস করা যায়।

সামগ্রিকভাবে, এই কৌশলটি স্থিতিশীল, নির্ভরযোগ্য এবং মাঝারি এবং দীর্ঘ রেখা অনুসরণের জন্য উপযুক্ত।

ঝুঁকি ও প্রতিকার

  • এই কৌশলটি প্যারামিটার সংবেদনশীল, 3 এসএমএ চক্র বা ইএমএ চক্রের ভুল সেটিং ট্রেডিং সিগন্যালের গুণমান হ্রাস করতে পারে। বিভিন্ন জাতের জন্য প্যারামিটার অপ্টিমাইজেশন প্রয়োজন।

  • এই কৌশলটি কোনও বড় লাফ বা ফাঁক বিবেচনা করে না। যদি কোনও বড় সংবাদ দামের বড় লাফ দেয় তবে কিছু ক্ষতি হতে পারে। এই ঝুঁকি এড়ানোর জন্য মূল্য স্টপ করা যেতে পারে।

অপ্টিমাইজেশান দিক

  • আরো অনেক পিরিয়ড প্যারামিটার যুক্ত করার কথা বিবেচনা করা যেতে পারে, যা EMA বা SMA তুলনাগুলিকে একাধিক টাইম ফ্রেম তৈরি করে, যা কৌশলটিকে প্রবণতা সম্পর্কে আরও সঠিকভাবে বিচার করতে দেয়।

  • একটি নির্দিষ্ট পরিমাণে মূল্যের ক্ষতি বন্ধ করার সেটিং পরীক্ষা করা যেতে পারে, যাতে মুনাফা নিশ্চিত করা যায় এবং চরম পরিস্থিতিতে ক্ষতি হ্রাস করা যায়।

  • মেশিন লার্নিং প্রয়োগ করে প্যারামিটারগুলিকে গতিশীলভাবে অপ্টিমাইজ করার চেষ্টা করা যেতে পারে, যাতে রিয়েল-টাইম মার্কেট পরিস্থিতির উপর ভিত্তি করে কৌশলগত প্যারামিটারগুলিকে সামঞ্জস্য করা যায়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Free Strategy #02 (ES / SPY)", overlay=true)

// Inputs
Quantity = input(1, minval=1, title="Quantity")
SmaPeriod01 = input(3, minval=1, title="SMA Period 01")
SmaPeriod02 = input(8, minval=1, title="SMA Period 02")
SmaPeriod03 = input(10, minval=1, title="SMA Period 03")
EmaPeriod01 = input(5, minval=1, title="EMA Period 01")
MaxProfitCloses = input(5, minval=1, title="Max Profit Close")
MaxBars = input(10, minval=1, title="Max Total Bars")

// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
Sma01 = sma(close, SmaPeriod01)
Sma02 = sma(close, SmaPeriod02)
Sma03 = sma(close, SmaPeriod03)
Ema01 = ema(close, EmaPeriod01)

// Conditions
Cond00 = strategy.position_size == 0
Cond01 = close < Sma03
Cond02 = close <= Sma01
Cond03 = close[1] > Sma01[1]
Cond04 = open > Ema01
Cond05 = Sma02 < Sma02[1]

// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])

// Entries
strategy.entry(id="L1", long=true, qty=Quantity, when=(Cond00 and Cond01 and Cond02 and Cond03 and Cond04 and Cond05))
 
// Exits
strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))