সেশন ব্রেকআউটের উপর ভিত্তি করে স্বল্পমেয়াদী স্প্রেড ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-09-20 17:00:16 অবশেষে সংশোধন করুন: 2023-09-20 17:00:16
অনুলিপি: 1 ক্লিকের সংখ্যা: 724
1
ফোকাস
1617
অনুসারী

ওভারভিউ

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

কৌশল নীতি

  1. দুই টাইম ফ্রেমের মধ্যে একটি ব্রেকআউট তৈরি করার জন্য দিনের এবং স্বল্পমেয়াদী মাল্টি-এয়ার ট্র্যাক্টের হিসাব করা হয়েছে।

  2. কেবলমাত্র কাস্টমাইজড ট্রেডিং সময়ের মধ্যে ট্রেড করুন। সময়টি ব্রেকআউট শুরু হয় এবং সময়টি প্লেইন পজিশন শেষ হয়।

  3. রিয়েল-টাইম ইএমএ প্রবেশের মূল্য হিসাবে গণনা করা হয়। মধ্যম ট্র্যাকের চেয়ে বেশি দাম একটি বিরতি সংকেত তৈরি করে।

  4. ব্রেকআউটের বাইরে স্টপ লিন্ড সেট করুন। ব্রেকআউট ব্যর্থ হলে ক্ষতি বন্ধ করুন।

  5. যখন দাম মধ্যম ট্র্যাকের কাছাকাছি ফিরে আসে, তখন পরাজয়ের ব্যর্থতা নিশ্চিত করে প্যাসিং করা হয়।

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

  1. এদিকে, গুগল এডসেন্সের একটি নতুন সংস্করণে, গুগল এডসেন্সের একটি নতুন সংস্করণে, গুগল এডসেন্সের একটি নতুন সংস্করণ রয়েছে।

  2. এই সময়সীমা ব্যবসায়ের ক্ষেত্রে গুরুত্বপূর্ণ সংবাদ ঘটনা এড়াতে সাহায্য করে।

  3. ইএমএ ট্র্যাকিং মূল্যের সাথে সামঞ্জস্যপূর্ণ, সময়মতো প্রবেশ।

  4. স্টপ লিন্ডের সাহায্যে ঝুঁকি নিয়ন্ত্রণ করা যায়।

  5. সময় অনুযায়ী বাধ্যতামূলক প্লেইন পজিশনের ফলে রাতারাতি ঝুঁকি এড়ানো যায়।

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

  1. সংক্ষিপ্ত লাইন বিচ্ছিন্নতা যখন স্টপ ড্যামেজ ট্রিগার করা হতে পারে।

  2. কিছু বিরাট সাফল্য হয়তো সময়ের শেষ না হওয়া পর্যন্ত পুরোপুরি মুনাফা আদায় করতে পারবে না।

  3. আপনি যদি সময়কে সঠিকভাবে সেট না করেন, তাহলে আপনি ব্যবসায়ের সুযোগ মিস করতে পারেন।

  4. প্রতিবারের মতো, এই নতুন প্রযুক্তির ব্যবহারের ফলে প্রত্যাশিত মুনাফা অর্জনের কোনো নিশ্চয়তা নেই।

  5. অপ্টিমাইজেশান প্যারামিটারগুলির সাথে সামঞ্জস্যের সমস্যা থাকতে পারে।

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

  1. বিভিন্ন প্যারামিটার পরীক্ষা করে সর্বোত্তম সমন্বয় খুঁজে বের করা।

  2. ভর্তির সঠিকতা বাড়াতে অন্যান্য সূচকগুলি মূল্যায়ন করুন।

  3. ট্রেডিংয়ের সময়কে অনুকূলিত করুন, লাভ এবং ঝুঁকির মধ্যে একটি ভারসাম্য খুঁজে বের করুন।

  4. এই গবেষণাটি কীভাবে লাভের জন্য লকডাউন কৌশলগুলিকে স্টপ-অফ কৌশলগুলির সাথে সংযুক্ত করা যায় তা নিয়ে আলোচনা করা হয়েছে।

  5. বিভিন্ন জাতের প্যারামিটার সেটিংসের বৈচিত্র্য পরীক্ষা করা।

  6. মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে ডায়নামিক অপ্টিমাইজেশান প্যারামিটার।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Breakout Scalper", overlay=true)

// -------------------------------------------------------------------------------------------------
// INPUTS
// -------------------------------------------------------------------------------------------------
// Period of the "fast" donchian channel
fast_window = input(title="Fast Window",  defval=13, minval=1)
// Used for the volatility (atr) period
slow_window = input(title="Slow Window",  defval=52, minval=1)
// Period of EMA used as the current price
instant_period = input(title="Instant Period",  defval=3, minval=1)
// Minimum ratio of cloud width to ATR in order for trade to be active
cloud_min_percent = input(title="Minimum Cloud ATR Multiplier", type=float, defval=1.0, minval=0)
// Session where we allow trades to be active
trading_sesh = input(title="Trading Session",  defval='1000-1500')
// -------------------------------------------------------------------------------------------------

// -------------------------------------------------------------------------------------------------
// SESSION TIMING
// -------------------------------------------------------------------------------------------------
is_newbar(t) =>
    na(t[1]) and not na(t) or t[1] < t

day_time = time("D")
sess_time = time(timeframe.period, trading_sesh)
day_open_bar = is_newbar(day_time)
sess_open_bar = is_newbar(sess_time)
sess_close_bar = na(sess_time) and not na(sess_time[1])
sess_is_open = false
sess_is_open := sess_open_bar ? true : (sess_close_bar ? false : sess_is_open[1])
// -------------------------------------------------------------------------------------------------

// -------------------------------------------------------------------------------------------------
// DONCHIANS
// -------------------------------------------------------------------------------------------------
slow_high = na
slow_high := day_open_bar ? high : (high > slow_high[1] ? high : slow_high[1])
slow_low = na
slow_low := day_open_bar ? low : (low < slow_low[1] ? low : slow_low[1])
slow_mid = (slow_high + slow_low) / 2

fast_low = max(slow_low, lowest(fast_window))
fast_high = min(slow_high, highest(fast_window))
fast_mid = (fast_low + fast_high) / 2
// -------------------------------------------------------------------------------------------------


// -------------------------------------------------------------------------------------------------
// TREND CLOUD
// -------------------------------------------------------------------------------------------------
cloud_width = fast_mid - slow_mid
slow_atr = atr(slow_window)
cloud_percent = cloud_width / slow_atr
cloud_color = cloud_percent > cloud_min_percent ? green : (cloud_percent < -cloud_min_percent ? red : gray)

fp = plot(fast_mid, title="Fast MidR", color=green)
sp = plot(slow_mid, title="Slow MidR", color=red)
fill(fp, sp, color=cloud_color)
// -------------------------------------------------------------------------------------------------


// -------------------------------------------------------------------------------------------------
// INSTANT PRICE
// -------------------------------------------------------------------------------------------------
instant_price = ema(close, instant_period)
plot(instant_price, title="Instant Price", color=black, transp=50)
// -------------------------------------------------------------------------------------------------


// -------------------------------------------------------------------------------------------------
// ENTRY SIGNALS & STOPS
// -------------------------------------------------------------------------------------------------
buy_entry_signal = sess_is_open and (instant_price > fast_mid) and (cloud_percent > cloud_min_percent)
sell_entry_signal = sess_is_open and (instant_price < fast_mid) and (cloud_percent < -cloud_min_percent)
buy_close_signal = sess_close_bar or (cloud_percent < 0)
sell_close_signal = sess_close_bar or (cloud_percent > 0)

entry_buy_stop = slow_high
entry_sell_stop = slow_low
exit_buy_stop = max(slow_low, fast_low)
exit_sell_stop = min(slow_high, fast_high)

entry_buy_stop_color = (strategy.position_size == 0) ? (buy_entry_signal ? green : na) : na
plotshape(entry_buy_stop, location=location.absolute, color=entry_buy_stop_color, style=shape.circle)
entry_sell_stop_color = (strategy.position_size == 0) ? (sell_entry_signal ? red : na) : na
plotshape(entry_sell_stop, location=location.absolute, color=entry_sell_stop_color, style=shape.circle)
exit_buy_stop_color = (strategy.position_size > 0) ? red : na
plotshape(exit_buy_stop, location=location.absolute, color=exit_buy_stop_color, style=shape.xcross)
exit_sell_stop_color = (strategy.position_size < 0) ? green : na
plotshape(exit_sell_stop, location=location.absolute, color=exit_sell_stop_color, style=shape.xcross)
// -------------------------------------------------------------------------------------------------


// -------------------------------------------------------------------------------------------------
// STRATEGY EXECUTION
// -------------------------------------------------------------------------------------------------
strategy.entry("long", strategy.long, stop=entry_buy_stop, when=buy_entry_signal)
strategy.cancel("long", when=not buy_entry_signal)
strategy.exit("stop", "long", stop=exit_buy_stop)
strategy.entry("short", strategy.short, stop=entry_sell_stop, when=sell_entry_signal)
strategy.cancel("short", when=not sell_entry_signal)
strategy.exit("stop", "short", stop=exit_sell_stop)
strategy.close("long", when=buy_close_signal)
strategy.close("short", when=sell_close_signal)
// -------------------------------------------------------------------------------------------------