
এই কৌশলটি একটি পদ্ধতিগত পদ্ধতি যা খনিজ তেল ফিউচার মার্কেটের অস্থিরতা থেকে উপকৃত হওয়ার জন্য ব্যবহার করা হয়। এটি ক্রমের গড় ব্যাপ্তি পরিমাপ করে, যদি দ্রুত চলমান গড়টি ধীর চলমান গড়ের চেয়ে বেশি হয় তবে ক্রমটি বড়; যদি ধীর চলমান গড়টি দ্রুত চলমান গড়ের চেয়ে বেশি হয় তবে ক্রমটি ছোট।
এই নীতি অনুসারে, সম্ভাব্য দীর্ঘ প্রবেশের পয়েন্ট এবং সংক্ষিপ্ত প্রবেশের পয়েন্টগুলি সনাক্ত করা যায়। পজিশনটি কেবলমাত্র একটি নির্দিষ্ট সংখ্যক টুকরা ধরে রাখে, এই প্যারামিটারটি টুকরা Exit after bars টুকরা ইনপুট দ্বারা নিয়ন্ত্রিত হয়।
এই কৌশলটি বিরতি এবং প্রত্যাবর্তনের ব্যবহার করে স্বল্পমেয়াদী প্রবণতা বিচার করে, এটি একটি উদ্বায়ী কৌশল। প্যারামিটার সেটিং অপ্টিমাইজ করা এবং ওঠানামার হারের সূচক যুক্ত করে, মিথ্যা বিরতির সম্ভাবনা হ্রাস করতে পারে এবং মুনাফা স্তর বাড়িয়ে তুলতে পারে। একই সাথে, ফিক্সড রুট কে লাইনের দ্রুত আউটফিল্ডিং প্রক্রিয়াটি নির্দিষ্ট মুনাফা লক করতে পারে এবং কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করতে পারে। এই কৌশলটি সংক্ষিপ্ত লাইনের অপারেশনের সহায়ক সরঞ্জাম হিসাবে কাজ করতে পারে, তবে প্যারামিটার সামঞ্জস্যের মাধ্যমে দীর্ঘতর চক্রের অপারেশন সংকেত পেতে পারে।
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Celestial_Logic
//@version=5
strategy("Crudeoil Breakout strategy", overlay = true, initial_capital = 20000, default_qty_type = strategy.fixed, default_qty_value = 1)
highestCloseLookback = input(9 , title = 'Highest Close lookback')
lowestCloseLookback = input(50, title = 'Lowest Close lookback' )
exitAfter = input(10, title = 'Exit after bars')
hc = ta.highest(close,highestCloseLookback)
lc = ta.lowest(close,lowestCloseLookback)
rangeFilter = (ta.sma( (high - low), 5 ) > ta.sma((high-low), 20) ) // Candles getting bigger.
longCondition = (close == hc ) and not rangeFilter
shortCondition = (close == lc ) and not rangeFilter
if longCondition
strategy.entry(id = 'long', direction = strategy.long)
if shortCondition
strategy.entry(id = 'short', direction = strategy.short)
var int longsince = 0
var int shortsince = 0
if strategy.position_size > 0
longsince += 1
else
longsince := 0
if strategy.position_size < 0
shortsince += 1
else
shortsince := 0
if longsince >= exitAfter
strategy.close(id = 'long', comment = 'long close')
if shortsince >= exitAfter
strategy.close(id = 'short', comment = 'short close')