রিভার্সাল ক্লোজিং প্রাইস ব্রেকআউট স্ট্র্যাটেজি

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

img

সারসংক্ষেপ

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

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

কৌশলটি নিম্নলিখিত মূল পয়েন্টগুলির উপর ভিত্তি করেঃ

  1. প্রবণতা দিক নির্ধারণের জন্য এমএ ব্যবহার করে। দ্রুত এবং ধীর এমএগুলি গ্রাফ করা হয়, ধীর এমএ এর উপরে দ্রুত এমএ ক্রসিং বাউল প্রবণতা সংকেত দেয়, যখন সিগন্যালগুলির নীচে ক্রসিং হ্রাস প্রবণতা।

  2. রেসিস্ট্যান্স ব্রেকআউট লং সিগন্যাল। যখন দাম বেড়ে যায় এবং সাম্প্রতিক সুইং হাই ভেঙে যায়, তখন এটি রেসিস্ট্যান্স লেভেল ভেঙে, লং হয়ে যায় বলে মনে করা হয়।

  3. যখন মূল্য হ্রাস পায় এবং সাম্প্রতিক সুইং নিচে ভেঙে যায়, তখন এটিকে সমর্থন স্তর ভাঙ্গার, শর্ট যাওয়ার হিসাবে বিবেচনা করা হয়।

  4. অস্থির স্টপ লস। প্রবেশের পরে, স্টপ লস লাইন সেট করা হয় এবং দামের ওঠানামা উপর ভিত্তি করে সামঞ্জস্য রাখে, একটি অস্থির স্টপ লস প্রক্রিয়া গঠন করে।

  5. স্টপ লস এবং লভ্যাংশ প্রস্থান করুন। স্টপ লস প্রস্থান ঝুঁকি নিয়ন্ত্রণ করে, লাভ লাভের মধ্যে লক।

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

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

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. স্থিতিশীল মুনাফা। প্রবণতা অনুসরণ দীর্ঘমেয়াদী প্রবণতা থেকে স্থিতিশীল লাভ করতে পারেন।

  2. দুর্দান্ত ঝুঁকি নিয়ন্ত্রণ, ওসিলেটিং স্টপ এবং প্রোটেকটিভ স্টপ দ্রুত ক্ষতি কমাতে পারে।

  3. সঠিক সংকেত। প্রতিরোধের দীর্ঘ এবং সমর্থন ব্রেকআউট সংক্ষিপ্ত নির্ভরযোগ্য সংকেত প্রদান করে।

  4. সহজ নিয়ম, নির্দেশক এবং সংকেতগুলো সহজ, অনুসরণ করা সহজ।

  5. বাজারে অভিযোজিত। বিভিন্ন পণ্য এবং বাজারের অবস্থার মধ্যে ভাল কাজ করে।

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

এই কৌশলটির জন্য কিছু ঝুঁকি রয়েছেঃ

  1. ব্রেকআউট ব্যর্থতার ঝুঁকি। প্রাথমিক ব্রেকআউটের পরে দামের রিভলব বা পলব্যাক হতে পারে, স্টপ লস ট্রিগার করে।

  2. প্যারামিটার অপ্টিমাইজেশান ঝুঁকি. খারাপ প্যারামিটার মিটিং খুব বেশি বা খুব কম সংকেত হতে পারে। অপ্টিমাইজেশান সতর্কতা প্রয়োজন।

  3. সূচক ব্যর্থতার ঝুঁকিঃ চরম পরিস্থিতিতে, ইএমএ কাজ বন্ধ করতে পারে বা মূল্যের পিছনে থাকতে পারে।

  4. প্রবণতা বিপরীত ঝুঁকিঃ প্রবণতা বিপরীত অবস্থানে অবস্থান ধরে রাখা প্রবণতা বিপরীত হলে ক্ষতি বাড়িয়ে তোলে।

যথাযথ পরামিতি সেটআপ, বিস্তৃত স্টপ লস, কঠোরভাবে নিয়ম মেনে চলার ফলে উপরের ঝুঁকিগুলি অনেকটা হ্রাস করতে পারে।

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

কৌশলটি নিম্নলিখিত দিক থেকে আরও উন্নত করা যেতে পারেঃ

  1. সময়সীমা অপ্টিমাইজেশান. এমএ এবং মূল্য প্যাটার্ন গণনা সময়কাল সামঞ্জস্য, সেরা সমন্বয় খুঁজে.

  2. অভিযোজনযোগ্যতা অপ্টিমাইজেশান। বিভিন্ন পণ্যের জন্য পরামিতি সুর করুন।

  3. স্টপ লস অপ্টিমাইজেশান। আরও উন্নত স্টপ লস পদ্ধতি যেমন ট্রেইলিং স্টপ, চ্যান্ডেলিয়ার স্টপ পরীক্ষা করুন।

  4. লাভের অপ্টিমাইজেশান নিন। আরও ভাল পুরস্কারের জন্য অভিযোজিত বা এক্সপোনেনশিয়াল লাভ গ্রহণ করুন।

  5. ফিল্টার যোগ করুন, ভলিউম যোগ করুন, ভোল্টেবিলিটি ফিল্টার যোগ করুন, যাতে মিথ্যা ব্রেকআউট না হয়।

  6. এন্ট্রি সংকেত উন্নত করুন। এন্ট্রি নিশ্চিত করার জন্য আরো সূচক বা প্যাটার্ন একত্রিত করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-12-03 00:00:00
end: 2023-12-10 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EduardoMattje

//@version=4
strategy("Reversal closing price", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, initial_capital=10000)

src = input(hl2, "Price source")
order_direction = input("Both", "Order direction", options=["Both", "Long", "Short"])

// EMA calculation and plot

ema_long_period = input(80, "EMA long period")
ema_short_period = input(8, "EMA short period")
ema_long = ema(src, ema_long_period)
ema_short = ema(src, ema_short_period)
ema_bull = ema_short > ema_long
ema_bear = ema_short < ema_long
plot(ema_long, "EMA long", ema_bull ? color.green : color.red, 3)
plot(ema_short, "EMA short", ema_bull ? color.green : color.red, 3)

// Settings

risk_reward_ratio = input(2.0, "Risk to reward ratio", minval=1.0, step=0.1)
stop_lookback = input(3, "Stoploss candle lookback", minval=1)
ema_cross_stop = input(true, "Close if EMA crosses in oposite direction")
allow_retracing = input(true, "Allow price retracing")

// RCP calculation

rcp_bull = low[0] < low[1] and low[0] < low[2] and close[0] > close[1]
rcp_bear = high[0] > high[1] and high[0] > high[2] and close[0] < close[1]

// Order placement

in_market = strategy.position_size != 0

long_condition = rcp_bull and ema_bull and not in_market and order_direction != "Short"
short_condition = rcp_bear and ema_bear and not in_market and order_direction != "Long"

bought = strategy.position_size[0] > strategy.position_size[1] and strategy.position_size[1] == 0
sold = strategy.position_size[0] < strategy.position_size[1] and strategy.position_size[1] == 0
closed = not in_market and in_market[1]

long_position = strategy.position_size > 0
short_position = strategy.position_size < 0

buy_price = high + syminfo.mintick
sell_price = low - syminfo.mintick

if long_condition
    strategy.entry("Long", true, stop=buy_price)
if short_condition
    strategy.entry("Short", false, stop=sell_price)
    
if allow_retracing
    better_price_long = barssince(closed) > barssince(long_condition) and barssince(long_condition) >= 1 and not in_market and ema_bull and buy_price < valuewhen(long_condition, buy_price, 0) and buy_price[0] < buy_price[1]
    if better_price_long
        strategy.cancel("Long")
        strategy.entry("Long", true, stop=buy_price)
    
    better_price_short = barssince(closed) > barssince(short_condition) and barssince(short_condition) >= 1 and not in_market and ema_bear and sell_price > valuewhen(short_condition, sell_price, 0) and sell_price[0] > sell_price[1]
    if better_price_short
        strategy.cancel("Short")
        strategy.entry("Short", false, stop=sell_price)

// Stoploss orders

stop_price = long_position ? valuewhen(bought, lowest(stop_lookback)[1] - syminfo.mintick, 0) : short_position ? valuewhen(sold, highest(3)[1] + syminfo.mintick, 0) : na
stop_comment = "Stoploss triggered"
strategy.close("Long", low <= stop_price, stop_comment)
strategy.close("Short", high >= stop_price, stop_comment)
plot(stop_price, "Stop price", color.red, 2, plot.style_linebr)

// EMA cross close orders

if ema_cross_stop
    if long_position and ema_bear
        strategy.close("Long", comment=stop_comment)
    if short_position and ema_bull
        strategy.close("Short", comment=stop_comment)

// Take profit orders

stop_ticks = abs(strategy.position_avg_price - stop_price)
take_profit_price = long_position ? valuewhen(bought, strategy.position_avg_price + stop_ticks * risk_reward_ratio, 0) : short_position ? valuewhen(sold, strategy.position_avg_price  - (stop_ticks * risk_reward_ratio), 0) : na
target_comment = "Take profit"
strategy.close("Long", high >= take_profit_price, target_comment)
strategy.close("Short", low <= take_profit_price, target_comment)
plot(take_profit_price, "Target price", color.green, 2, plot.style_linebr)


আরো