মুভিং এভারেজ কৌশলের উপর ভিত্তি করে ইন্টিগ্রেটেড ইচিমোকু কেল্টনার ট্রেডিং সিস্টেম


সৃষ্টির তারিখ: 2023-12-20 13:40:08 অবশেষে সংশোধন করুন: 2023-12-20 13:40:08
অনুলিপি: 0 ক্লিকের সংখ্যা: 745
1
ফোকাস
1621
অনুসারী

মুভিং এভারেজ কৌশলের উপর ভিত্তি করে ইন্টিগ্রেটেড ইচিমোকু কেল্টনার ট্রেডিং সিস্টেম

ওভারভিউ

এই কৌশলটি সমান্তরাল কৌশল, ইচিমোকু ক্লাউড গ্রাফ এবং কেল্টনার চ্যানেল প্রযুক্তিগত সূচকগুলিকে একত্রিত করে, যা ট্রেন্ড ট্র্যাকিং এবং ব্রেক-আউট ট্রেডিংকে উচ্চ-ফ্রিকোয়েন্সি অ্যালগরিদম ট্রেডিংয়ের জন্য প্রয়োগ করে।

কৌশল নীতি

  1. কেল্টনার চ্যানেল ব্যবহার করে শেয়ারের দাম চ্যানেলের উপরে এবং নীচে ট্র্যাকের চেয়ে বেশি কিনা তা নির্ধারণ করুন, একটি সংরক্ষণাগার সংকেত হিসাবে
  2. ইচিমোকু ক্লাউড ম্যাপ, কেল্টনার চ্যানেলের সাথে মিলিত হয়ে প্রবণতা নির্ধারণ করে
  3. সমান্তরাল কৌশল সমান্তরাল সংকেত দেয়

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

  1. বিভিন্ন প্রযুক্তিগত সূচককে একত্রিত করা, সমন্বিত বিচার, সিদ্ধান্ত গ্রহণের সঠিকতা বৃদ্ধি করা
  2. Keltner Channel: ওভারবয় ওভারসোলের বিচার করে, পজিশন তৈরি করা থেকে বিরত থাকুন
  3. ইচিমোকু ক্লাউড ম্যাপ ট্রেডিংয়ের প্রবণতা নির্ধারণ করে এবং বিপরীতমুখী ট্রেডিং এড়ায়
  4. সমান্তরাল কৌশলগুলি অত্যাধিক সংবেদনশীলতা প্রতিরোধে কম্পন ফিল্টার করে

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

  1. মাল্টিমিটার ইন্টিগ্রেশন, প্যারামিটার সেট করা জটিল, সাবধানে পরীক্ষার প্রয়োজন
  2. ক্লাউডগ্রাফ রূপান্তর লাইন এবং বেঞ্চমার্ক লাইন ক্রস সবসময় নির্ভরযোগ্য ট্রেডিং সংকেত নয়
  3. কেল্টনার চ্যানেলের প্যারামিটারগুলিকে বিভিন্ন স্টক বৈশিষ্ট্যের সাথে সামঞ্জস্য করতে হবে

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

  1. সার্ভার পারফরম্যান্স মূল্যায়ন, যথাযথভাবে গড় লাইন চক্র সংক্ষিপ্তকরণ, লেনদেনের ফ্রিকোয়েন্সি বৃদ্ধি
  2. বিভিন্ন শেয়ারের প্যারামিটারের সংবেদনশীলতা পরীক্ষা করে, স্বনির্ধারিত প্যারামিটার সেট করে
  3. স্টপ লস কৌশল বাড়ান এবং একক ক্ষতি হ্রাস করুন

সারসংক্ষেপ

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

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

//@version=3
// Author: Persio Flexa
// Description: Ichimoku Clouds with Keltner Channel, perfect for margin trading 
strategy("Ichimoku Keltner Strategy", overlay=true) 

// -- Keltner ------------------------------------------------------------------
source = close

useTrueRange = input(true)
length = input(18, minval=1) 
mult = input(1.8)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

plot(ma, title="BASE", color=orange,transp=85)
plot(upper, title="UPPER", color=red)
plot(lower, title="LOWER", color=green)

//crossUpper = crossover(source, upper)
//crossLower = crossunder(source, lower)
crossUpper = source > upper
crossLower = source  < lower

bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])

sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1]) 

crossBcond = false
crossBcond := crossUpper ? true 
 : na(crossBcond[1]) ? false : crossBcond[1]

crossScond = false
crossScond := crossLower ? true 
 : na(crossScond[1]) ? false : crossScond[1]

cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )

// ---------------------------------------------------------------------


// -- Ichimoku

ATRlength = input(200, minval=1)
ATRMult = input(2.272, minval=1)

ATR = rma(tr(true), ATRlength)

len = input(26, minval=1, title="EMA Length")
src = input(close, title="Source")
out = ema(src, len)

emaup = out+(ATR*ATRMult)
emadw = out-(ATR*ATRMult)

conversionPeriods = input(15, minval=1),
basePeriods = input(35, minval=1)
laggingSpan2Periods = input(52, minval=1),
displacement = input(26, minval=1)

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

p1 = plot(leadLine1, offset = displacement, color=green,transp=85, title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,transp=85, title="Lead 2")
fill(p1, p2,silver) 

longCond    = crossover(conversionLine, baseLine)
shortCond   = crossunder(conversionLine, baseLine)
// -------------------------------------------------------------------------

if (crossUpper and (conversionLine > baseLine))
    strategy.entry("long", strategy.long, stop=bprice, comment="LONG")

if (crossLower and (conversionLine < baseLine))
    strategy.entry("short", strategy.short, stop=sprice, comment="SHORT")
    
strategy.close("long", when = (shortCond and source < lower))
strategy.close("short", when = (longCond and source > upper))