ডাবল EMA গোল্ডেন ক্রস ট্রেন্ড কৌশল


সৃষ্টির তারিখ: 2023-12-29 15:46:15 অবশেষে সংশোধন করুন: 2023-12-29 15:46:15
অনুলিপি: 1 ক্লিকের সংখ্যা: 701
1
ফোকাস
1621
অনুসারী

ডাবল EMA গোল্ডেন ক্রস ট্রেন্ড কৌশল

ওভারভিউ

এই কৌশলটি একটি প্রচলিত ট্রেন্ড ট্র্যাকিং কৌশল হিসাবে ব্যবহৃত হয়। এটি বর্তমান প্রবণতার দিকনির্দেশনা নির্ধারণের জন্য ডাবল ইএমএ সূচকগুলির একটি গোল্ডেন ফর্ক ব্যবহার করে এবং RSI সূচকগুলির সাথে মিলিত হয়।

কৌশল নীতি

  1. ১০ এবং ২০ তারিখের EMA গড়রেখা গণনা করা হয়, যথাক্রমে ma00 এবং ma01 নামকরণ করা হয়
  2. যখন ma00 এর উপর ma01 চাপা পড়ে তখন একটি ক্রয় সংকেত তৈরি হয়
  3. যখন ma00 এর নিচে ma01 প্রবেশ করে তখন বিক্রয় সংকেত উৎপন্ন হয়
  4. একই সময়ে, যখন দাম ma00 অতিক্রম করে, যদি ma00 ma01 এর চেয়ে বেশি হয় তবে এটি একটি ক্রয় সংকেত তৈরি করে
  5. একইভাবে, যখন দাম ma00 এর নিচে চলে যায়, তখন যদি ma00 ma01 এর নিচে চলে যায়, তাহলে এটি একটি বিক্রয় সংকেত তৈরি করে।
  6. এই দ্বৈত বিচারের মাধ্যমে, আপনি কিছু বিক্রয়-বিক্রয় পয়েন্ট মিস করতে পারবেন না।
  7. স্টপ লস এবং স্টপ-অফ মূল্য নির্ধারণ করুন এবং ঝুঁকি নিয়ন্ত্রণ করুন

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

  1. ডাবল ইএমএ বিচার ব্যবহার করে, ভুয়া ব্রেকআপগুলিকে কার্যকরভাবে ফিল্টার করা যায়
  2. দ্বৈত শর্তাদির বিচার
  3. স্টপ লস স্টপ সেটিং ঝুঁকি নিয়ন্ত্রণে সহায়ক

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

  1. ডাবল ইএমএ সমান্তরাল কৌশলটি প্রবণতা অনুসরণকারী কৌশলগুলির মধ্যে একটি, যা ঘন ঘন ক্রয় এবং বিক্রয় করে, যা ঝড়ের সময় ক্ষতিগ্রস্থ হতে পারে
  2. ট্রেন্ড রিভার্সের সঠিক অনুমান না করা, ক্ষতির কারণ হতে পারে
  3. স্টপ লস পয়েন্টের ভুল সেটআপ ক্ষতি বাড়াতে পারে

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

  1. EMA চক্র যথাযথভাবে অপ্টিমাইজ করা যেতে পারে, সর্বোত্তম প্যারামিটার সমন্বয় খুঁজুন
  2. অন্যান্য সূচক যুক্ত করে কৌশলগত স্থিতিশীলতা বাড়ানো যায়
  3. গতিশীল স্টপ সেট করুন, বাজারের অস্থিরতার উপর নির্ভর করে রিয়েল টাইমে স্টপ পয়েন্টগুলি সামঞ্জস্য করুন
কৌশল সোর্স কোড
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title='[STRATEGY][RS]MicuRobert EMA cross V1', shorttitle='S', overlay=true, pyramiding=0, initial_capital=100000)
USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
USE_TRAILINGSTOP = input(title='Use Trailing Stop?', type=bool, defval=true)
trade_session = input(title='Trade Session:',  defval='0400-1500', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?color.gray:na)
trade_size = input(title='Trade Size:', type=float, defval=1)
tp = input(title='Take profit in pips:', type=float, defval=55.0) * (syminfo.mintick*10)
sl = input(title='Stop loss in pips:', type=float, defval=11.0) * (syminfo.mintick*10)
ma_length00 = input(title='EMA length:',  defval=10)
ma_length01 = input(title='DEMA length:',  defval=20)
price = input(title='Price source:', defval=open)

//  ||--- NO LAG EMA, Credit LazyBear:  ---||
f_LB_zlema(_src, _length)=>
    _ema1=ema(_src, _length)
    _ema2=ema(_ema1, _length)
    _d=_ema1-_ema2
    _zlema=_ema1+_d
//  ||-------------------------------------||

ma00 = f_LB_zlema(price, ma_length00)
ma01 = f_LB_zlema(price, ma_length01)
plot(title='M0', series=ma00, color=black)
plot(title='M1', series=ma01, color=black)

isnewbuy = change(strategy.position_size)>0 and change(strategy.opentrades)>0
isnewsel = change(strategy.position_size)<0 and change(strategy.opentrades)>0

buy_entry_price = isnewbuy ? price : buy_entry_price[1]
sel_entry_price = isnewsel ? price : sel_entry_price[1]
plot(title='BE', series=buy_entry_price, style=circles, color=strategy.position_size <= 0 ? na : aqua)
plot(title='SE', series=sel_entry_price, style=circles, color=strategy.position_size >= 0 ? na : aqua)
buy_appex = na(buy_appex[1]) ? price : isnewbuy ? high : high >= buy_appex[1] ? high : buy_appex[1]
sel_appex = na(sel_appex[1]) ? price : isnewsel ? low : low <= sel_appex[1] ? low : sel_appex[1]
plot(title='BA', series=buy_appex, style=circles, color=strategy.position_size <= 0 ? na : teal)
plot(title='SA', series=sel_appex, style=circles, color=strategy.position_size >= 0 ? na : teal)
buy_ts = buy_appex - sl
sel_ts = sel_appex + sl
plot(title='Bts', series=buy_ts, style=circles, color=strategy.position_size <= 0 ? na : red)
plot(title='Sts', series=sel_ts, style=circles, color=strategy.position_size >= 0 ? na : red)

buy_cond1 = crossover(ma00, ma01) and (USE_TRADESESSION ? istradingsession : true)
buy_cond0 = crossover(price, ma00) and ma00 > ma01 and (USE_TRADESESSION ? istradingsession : true)
buy_entry = buy_cond1 or buy_cond0
buy_close = (not USE_TRAILINGSTOP ? false : low <= buy_ts) or high>=buy_entry_price+tp//high>=last_traded_price + tp or low<=last_traded_price - sl //high >= hh or 
sel_cond1 = crossunder(ma00, ma01) and (USE_TRADESESSION ? istradingsession : true)
sel_cond0 = crossunder(price, ma00) and ma00 < ma01 and (USE_TRADESESSION ? istradingsession : true)
sel_entry = sel_cond1 or sel_cond0
sel_close = (not USE_TRAILINGSTOP ? false : high >= sel_ts) or low<=sel_entry_price-tp//low<=last_traded_price - tp or high>=last_traded_price + sl //low <= ll or 

strategy.entry('buy', long=strategy.long, qty=trade_size, comment='buy', when=buy_entry)
strategy.close('buy', when=buy_close)
strategy.entry('sell', long=strategy.short, qty=trade_size, comment='sell', when=sel_entry)
strategy.close('sell', when=sel_close)

//What i add .!
pos = iff(ma01 < ma00 , 1,
	    iff(ma01 > ma00 , -1, nz(pos[1], 0))) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue)
plot(ma00, color=red, title="MA")
plot(ma01, color=blue, title="EMA")