ব্রেকআউট উচ্চ মূল্য EMA ক্রসওভার কৌশল


সৃষ্টির তারিখ: 2024-03-29 14:39:27 অবশেষে সংশোধন করুন: 2024-03-29 14:39:27
অনুলিপি: 2 ক্লিকের সংখ্যা: 527
1
ফোকাস
1617
অনুসারী

ব্রেকআউট উচ্চ মূল্য EMA ক্রসওভার কৌশল

ওভারভিউ

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

কৌশল নীতি

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

এই কৌশলটি নিম্নলিখিত ধাপগুলি ব্যবহার করে লেনদেন করেঃ

  1. একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ মূল্যকে একটি ব্রেকআউট ক্রয় মূল্য হিসাবে গণনা করা হয়।
  2. EMA কে বিক্রি করার সংকেত হিসেবে গণনা করা হয়।
  3. যখন ক্লোজ-অফ মূল্য ক্রয়-মূল্যকে অতিক্রম করে, তখন কৌশলটি একটি ক্রয় সংকেত তৈরি করে, যদি বর্তমানে কোন পজিশন না থাকে।
  4. যখন ক্লোজ-আপ ইএমএর নিচে নেমে আসে, তখন কৌশলটি একটি বিক্রয় সংকেত তৈরি করে।
  5. স্টপ লস হিসেবে নির্ধারিত সময়ের সর্বনিম্ন মূল্য গণনা করা হয়।
  6. যদি দাম স্টপ লস থেকে কম হয়, তাহলে কৌশলটি অবিলম্বে প্লেইন করবে।

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

কৌশলগত সুবিধা

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

  1. ট্রেন্ড ট্র্যাকিং: এই কৌশলটি বাজার প্রবণতাকে ক্যাপচার করার জন্য মূল্যের ব্রেক এবং ইএমএ ক্রস ব্যবহার করে এবং এটি একটি উত্থান প্রবণতা থেকে লাভ করতে পারে।
  2. ঝুঁকি নিয়ন্ত্রণঃ এই কৌশলটি নিম্নমুখী ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস মূল্য ব্যবহার করে, যা কার্যকরভাবে কৌশলটির সর্বাধিক প্রত্যাহারকে হ্রাস করতে পারে।
  3. প্যারামিটার নমনীয়তাঃ এই কৌশলটি ব্যবহারকারীদের জন্য বিভিন্ন প্যারামিটার যেমন চক্র, ঝুঁকি অনুপাত, স্টপ লস ব্যবহার করা হয় কিনা ইত্যাদি কাস্টমাইজ করার জন্য উপলব্ধ, যা বিভিন্ন ট্রেডিং শৈলী এবং বাজারের পরিবেশের সাথে সামঞ্জস্যপূর্ণ।
  4. সহজ এবং কার্যকরী: এই কৌশলটির যুক্তি সহজ এবং স্পষ্ট, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়, এবং ট্রেন্ডিং বাজারে ভাল আয় করা যায়।

কৌশলগত ঝুঁকি

যদিও সর্বোচ্চ ইএমএ ক্রস করার কৌশলটির কিছু সুবিধা রয়েছে, তবে এর সাথে নিম্নলিখিত ঝুঁকিগুলিও রয়েছেঃ

  1. বাজারের অস্থিরতার ঝুঁকিঃ বাজারের উচ্চ অস্থিরতার সাথে, এই কৌশলটি ঘন ঘন লেনদেন এবং তহবিলের ক্ষতির ফলে আরও ভুয়া সংকেত তৈরি করতে পারে।
  2. ট্রেন্ড রিভার্সনের ঝুঁকিঃ যখন বাজারের প্রবণতা পরিবর্তিত হয়, তখন এই কৌশলটি বিক্রয়কে বিলম্বিত করতে পারে, যার ফলে মুনাফা ফেরত দেওয়া বা ক্ষতির ক্ষতিতে পরিণত হয়।
  3. প্যারামিটার সেটিং ঝুঁকিঃ এই কৌশলটির কার্যকারিতা প্যারামিটার সেটিংয়ের উপর নির্ভর করে, যেমন সময়কাল, ঝুঁকি অনুপাত ইত্যাদি। যদি প্যারামিটার সেটিংটি ভুল হয় তবে এটি কৌশলটির দুর্বল পারফরম্যান্সের কারণ হতে পারে।

এই ঝুঁকিগুলি হ্রাস করার জন্য, নিম্নলিখিত পদক্ষেপগুলি বিবেচনা করা যেতে পারেঃ

  1. উপযুক্ত সমন্বয়ঃ বিভিন্ন বাজার পরিবেশ এবং লেনদেনের প্রকারের সাথে সামঞ্জস্য রেখে কৌশলগত প্যারামিটারগুলি যথাযথভাবে সমন্বয় করুন, যেমন বড় আকারের চক্র, ঝুঁকির অনুপাত হ্রাস করা, যাতে মিথ্যা সংকেত এবং ঘন ঘন লেনদেন হ্রাস করা যায়।
  2. অন্যান্য সূচকগুলির সাথে সংযুক্ত করুনঃ অন্যান্য প্রযুক্তিগত সূচক যেমন আরএসআই, এমএসিডি ইত্যাদির সাথে সংযুক্ত হতে পারে যাতে ট্রেন্ড এবং সংকেতের কার্যকারিতা নিশ্চিত করা যায় এবং কৌশলটির নির্ভরযোগ্যতা বাড়ানো যায়।
  3. যুক্তিসঙ্গত স্টপ সেট করুনঃ যুক্তিসঙ্গত স্টপ মূল্য সেট করুন, যা উভয়ই নেমে যাওয়ার ঝুঁকি নিয়ন্ত্রণ করে এবং খুব তাড়াতাড়ি বন্ধ করে দেয় না, যার ফলে লাভের সুযোগ মিস হয়।

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

সর্বোচ্চ মূল্যের ইএমএ ক্রস কৌশলকে আরও উন্নত করার জন্য, নিম্নলিখিত অপ্টিমাইজেশান দিকগুলি বিবেচনা করা যেতে পারেঃ

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

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

সারসংক্ষেপ

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

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

// @version = 5
strategy(title="BreakHigh Strategy", overlay=true)
Period = input.int(34, "Number of previous bars(34,52 Recommend)")
showbg = input(defval = false,title = "Show BackGround Color")
showema = input(defval = true ,title = "Show Line")
MarkBuySig = input(defval = true ,title = "Show Buy/Sell Signal")

Risk_Per_Trade = input(2.5, '% of Risk Per Trade') / 100  // Risk% Per Trade Switch
SLDAY = input(title='Lowest price of the previous number of bars', defval=9)
Buysig = input(defval=true, title='Start Strategy')
UseSl = input(defval=false, title='Use Stoploss Price')
Compound = input(defval = false ,title =  "Compound Profit")
xtf = input.timeframe(title='** Fix chart to which time frame ? **)', defval='D')


//BUY
float buyLine = na
buyLine := ta.highest(high,Period)[1] 
plot(showema ? buyLine : na, linewidth=1, style=plot.style_linebr, color=color.new(color.green, 0))

//SELL
output = ta.ema(close, Period)
show = request.security(syminfo.tickerid, xtf, output)
FastL = plot(showema ? show : na, color=color.new(color.white, 0), linewidth=2, title='Slow EMA')

//Buy-Sell Signal
Green = close > buyLine   // Buy
Red = close < show // Sell

buycond = Green and Green[1] == 0
sellcond = Red and Red[1] == 0

bullish = ta.barssince(buycond) < ta.barssince(sellcond)
bearish = ta.barssince(sellcond) < ta.barssince(buycond)

buy = bearish[1] and buycond
sell = bullish[1] and sellcond

plotshape(MarkBuySig ? buy : na, style=shape.labelup, text='Buy Next Bar', textcolor=color.new(color.black, 0), location=location.belowbar, color=color.new(color.green, 0))
plotshape(MarkBuySig ? sell : na, style=shape.labeldown, text='Sell Next Bar', textcolor=color.new(color.black, 0), location=location.abovebar, color=color.new(color.red, 0))
bgcolor(showbg ? bullish ? color.new(color.green,90) : color.new(color.red,90) : na )


// === BACKTEST RANGE === //
use_date_range = input(true)
FromYear = input.int(defval=2012, title='From Year', minval=1950)
FromMonth = input.int(defval=1, title='From Month', minval=1)
FromDay = input.int(defval=1, title='From Day', minval=1)
ToYear = input.int(defval=9999, title='To Year', minval=1950)
ToMonth = input.int(defval=1, title='To Month', minval=1)
ToDay = input.int(defval=1, title='To Day', minval=1)
in_date_range = use_date_range ? time > timestamp(FromYear, FromMonth, FromDay, 00, 00) and time < timestamp(ToYear, ToMonth, ToDay, 23, 59) : true

//****************************************************************************//

//////////////////////////////////////////////
//    define strategy entry / exit          //
//////////////////////////////////////////////

//****************************************************************************//
// LONG CONDITIONS

Select_Long_Condition_1 = close > buyLine // Buy when Have Signal
Open_Long_Condition = Select_Long_Condition_1 and strategy.opentrades == 0

//****************************************************************************//
// STOP LOSS Price

float longSL = na
longSL := Open_Long_Condition ? ta.lowest(low, SLDAY)[1] : longSL[1]  


//****************************************************************************//
// Cal StopLoss

Long_Entry_Price = close
Diff_OPEN_to_SL = math.abs(Long_Entry_Price - longSL)

// Exit CONDITIONS

Exit_Long_Condition = close < show // Sell when Have Signal

//****************************************************************************//
// POSITION SIZE CAP

strategy.initial_capital = 50000

float portSize = Compound ? strategy.netprofit + strategy.initial_capital : strategy.initial_capital
float LossAmoutUnit = portSize * Risk_Per_Trade //50
float PercentSL = ( Diff_OPEN_to_SL / Long_Entry_Price ) * 100
float PositionSize = LossAmoutUnit / Diff_OPEN_to_SL


//****************************************************************************//
// ENTRY/EXIT

if Buysig
    if Open_Long_Condition and in_date_range 
        strategy.entry('LONG', strategy.long, qty=PositionSize)


if Exit_Long_Condition and in_date_range
    strategy.close('LONG')
if close < longSL and UseSl
    strategy.close('LONG')

//****************************************************************************//
// PLOT STOP LOSS

longPlotSL = strategy.opentrades > 0 and strategy.position_size > 0 ? longSL : na
// label.new(bar_index, high, text=str.tostring(longPlotSL),color=color.white, textcolor=color.black)
plot(longPlotSL, title="", linewidth=2, style=plot.style_linebr, color=color.new(color.red, 0))



//****************************************************************************//