
এই কৌশলটি সূচক MACD এর দ্রুত এবং ধীর লাইনের ক্রস সংকেত ব্যবহার করে, অন্যান্য একাধিক সূচকের সাথে মিলিত হয়ে সমন্বিত বিচার করে, মুহুর্তে মুহুর্তে সূচকীয় চলমান গড়ের ব্রেকআপ সংকেত ধরে, ক্রয় বা বিক্রয় সিদ্ধান্ত নেয়, যা সংক্ষিপ্ত ট্রেডিং কৌশল হিসাবে পরিচিত।
MACD-এর ফাস্ট লাইন এবং লং লাইন ক্রসিংকে প্রধান ট্রেডিং সিগন্যাল হিসেবে ব্যবহার করুন। ফাস্ট লাইনে লং লাইন অতিক্রম করার সময় বাজি ধরে প্রবেশ করুন এবং ফাস্ট লাইনে লং লাইন অতিক্রম করার সময় বাজি ধরে প্রবেশ করুন।
আরএসআই সূচকের সাথে মিলিত হয়ে সিদ্ধান্ত নিন যে এটি খুব বেশি বা খুব বেশি বিক্রি হয়েছে কিনা। আরএসআই মধ্যম লাইন থেকে নীচে নেতিবাচক, আরএসআই মধ্যম লাইন থেকে উপরে নেতিবাচক।
বর্তমান সমাপ্তি মূল্যের সাথে একটি নির্দিষ্ট সময়কালের এসএমএ গড়ের তুলনা করা হয়, যখন সমাপ্তি মূল্য এসএমএর নিচে থাকে তখন মুনাফা হয় এবং যখন সমাপ্তি মূল্য এসএমএর উপরে থাকে তখন পতন হয়।
একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ মানের 0.5 ফিবানাক্সি বিট গণনা করুন, যা বিয়ারের প্রতিরোধের বিট। একটি নির্দিষ্ট সময়ের মধ্যে সর্বনিম্ন মানের 0.5 ফিবানাক্সি বিট গণনা করুন, যা বিয়ারের সমর্থন হিসাবে।
যখন আপনি ফাস্ট লাইন অতিক্রম করেন এবং দামটি সাপোর্ট পয়েন্টের নীচে থাকে, তখন আপনি পয়েন্টটি প্রবেশ করুন। যখন আপনি ফাস্ট লাইন অতিক্রম করেন এবং দামটি প্রতিরোধের পয়েন্টের উপরে থাকে তখন আপনি পয়েন্টটি প্রবেশ করুন।
ধাপে ধাপে চলমান স্টপ পদ্ধতি ব্যবহার করুন। প্রবেশের পরে স্টপ লসটি খোলার দামের একটি নির্দিষ্ট শতাংশ হিসাবে শুরু হয়, যখন ক্ষতির একটি নির্দিষ্ট অনুপাত পৌঁছে যায় তখন এটি একটি ছোট ধাপে ধাপে ট্র্যাকিং স্টপ হিসাবে পরিবর্তিত হয়।
কৌশলটি MACD এর ক্রস সিগন্যালের পূর্ণ ব্যবহার করে, যা একটি ক্লাসিক এবং কার্যকর প্রযুক্তিগত সূচক ট্রেডিং সিগন্যাল।
আরএসআই, এসএমএ ইত্যাদির মতো একাধিক সূচকগুলির সাথে একত্রিত হয়ে নিশ্চিতকরণ, মিথ্যা সংকেতগুলি ফিল্টার করতে পারে এবং সংকেতের নির্ভরযোগ্যতা বাড়ায়।
গতিশীলভাবে প্রতিরোধের স্তরকে সমর্থন করার জন্য, একটি ব্রেক-আউট ট্রেডিংয়ের জন্য, একটি বৃহত্তর ট্রেডিং ক্যাপচার করা যায়।
ধাপে ধাপে চলমান স্টপ পদ্ধতি ব্যবহার করে, আপনি আপনার মুনাফার একটি বড় অংশ লক করতে পারেন এবং আপনার ঝুঁকি নিয়ন্ত্রণ করতে পারেন।
কৌশলগত লেনদেনের লজিকটি পরিষ্কার, সহজ, সহজেই বোঝা যায় এবং শিক্ষার জন্য উপযুক্ত।
MACD সূচকটি পিছিয়ে আছে, এবং এটি বাজারের সেরা ক্রয়-বিক্রয় পয়েন্টগুলি মিস করতে পারে।
মাল্টি-মিটার প্যারাডাইমিনেটরি বিচার কৌশলগত জটিলতা বৃদ্ধি করে, যেখানে মিটার দ্বন্দ্বের ঝুঁকি থাকে।
গতিশীল হিসাব সমর্থন করে যে প্রতিরোধের বিন্দুতে ভুল ভাঙ্গার ঝুঁকি রয়েছে।
চলমান ক্ষতির কারণ হল, বড় ব্যবসায়ের ক্ষেত্রে ক্ষতির কারণ হতে পারে, যার ফলে স্থায়ী লাভের সম্ভাবনা থাকে না।
কৌশলগত প্যারামিটারগুলি পুনরাবৃত্তি পরীক্ষার অপ্টিমাইজেশনের প্রয়োজন, এবং অনুপযুক্ত প্যারামিটারগুলি কৌশলটির কার্যকারিতা প্রভাবিত করতে পারে।
বিভিন্ন প্যারামিটার সমন্বয় পরীক্ষা করে MACD চক্রের প্যারামিটারগুলিকে অপ্টিমাইজ করা যায়।
আরো সূচক যেমন বুলিন লাইন, কেডিজে ইত্যাদি বহুমাত্রিক বিশ্লেষণের জন্য প্রবর্তন করা যেতে পারে।
প্রতিরোধকে সমর্থন করার যুক্তিসঙ্গততা নির্ধারণের জন্য আরও অনেক কারণের সাথে মিলিত হতে পারে।
আরও উন্নত গতিশীল ক্ষতির প্রক্রিয়া যেমন সময় ক্ষতি, কম্পন ক্ষতি ইত্যাদি নিয়ে গবেষণা করা যেতে পারে।
একটি স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশান মডিউল যুক্ত করা যেতে পারে, যা প্যারামিটারগুলির স্বয়ংক্রিয় অনুসন্ধান অনুকূলিতকরণ বাস্তবায়ন করে।
এই কৌশলটি একাধিক সূচক যেমন MACD, RSI, SMA এবং আরও অনেক কিছুকে একত্রিত করে এবং মুহুর্তে মুহুর্তে সূচকীয় চলমান গড়ের ব্রেকআপ সংকেতগুলি ধরে। এটি একটি সাধারণ সংক্ষিপ্ত লাইন ব্রেকআপ ট্রেডিং কৌশল। কৌশল সংকেতগুলি কিছুটা পিছিয়ে থাকে, তবে প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে নির্ভুলতা বাড়ানো যেতে পারে। সামগ্রিকভাবে, এই কৌশলটির ট্রেডিং লজিকটি সহজ, সহজেই বোঝা যায়, স্থিতিশীলভাবে কাজ করে এবং বেশিরভাগ লোকের জন্য উপযুক্ত।
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-09 23:00:00
period: 1m
basePeriod: 1m
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/
// © onurenginogutcu
//@version=4
strategy("R19 STRATEGY", overlay=true, calc_on_every_tick=true , margin_long=100, margin_short=100 , process_orders_on_close=true )
sym = input(title="Symbol", type=input.symbol, defval="BINANCE:BTCUSDT" , group = "SYMBOL")
timeFrame = input(title="Strategy Decision Time Frame", type = input.resolution , defval="60")
adxlen = input(14, title="ADX Smoothing" , group = "ADX")
dilen = input(14, title="ADX DI Length", group = "ADX")
adxemalenght = input(30, title="ADX EMA", group = "ADX")
adxconstant = input(19, title="ADX CONSTANT", group = "ADX")
fibvar = input (title = "Fibo Look Back Canles" , defval = 50 , minval = 0 , group = "FIBO MACD SMA")
smaLookback = input (title = "SMA Look Back Candles" , defval = 30 , minval = 0 , group = "FIBO MACD SMA")
MACDFast = input (title = "MACD Fast Lenght" , defval = 15 , minval = 0 , group = "FIBO MACD SMA")
MACDSlow = input (title = "MACD Slow Lenght" , defval = 30 , minval = 0 , group = "FIBO MACD SMA")
MACDSmooth = input (title = "MACD Signal Smoothing" , defval = 9 , minval = 0 , group = "FIBO MACD SMA")
MACDLookback = input (title = "MACD Look Back Candles" , defval = 100 , minval = 0 , group = "FIBO MACD SMA")
trailingStopLong = input (title = "Trailing Long Stop %" , defval = 2.0 , step = 0.1, group = "TP & SL") * 0.01
trailingStopShort = input (title = "Trailing Short Stop %" , defval = 2.0 , step = 0.1 , group = "TP & SL") * 0.01
LongTrailingProfitStart = input (title = "Long Profit Start %" , defval = 2.0 , step = 0.1 , group = "TP & SL") * 0.01
ShortTrailingProfitStart = input (title = "Short Profit Start %" , defval = 2.0 , step = 0.1, group = "TP & SL") * 0.01
lsl = input(title="Max Long Stop Loss (%)",
minval=0.0, step=0.1, defval=3.0, group = "TP & SL") * 0.01
ssl = input(title="Max Short Stop Loss (%)",
minval=0.0, step=0.1, defval=2.5, group = "TP & SL") * 0.01
longtp = input(title="Long Take Profit (%)",
minval=0.0, step=0.1, defval=100, group = "TP & SL") * 0.01
shorttp = input(title="Short Take Profit (%)",
minval=0.0, step=0.1, defval=100, group = "TP & SL") * 0.01
capperc = input(title="Capital Percentage to Invest (%)",
minval=0.0, maxval=100, step=0.1, defval=95, group = "CAPITAL TO INVEST") * 0.01
symClose = security(sym, timeFrame, close)
symHigh = security(sym, timeFrame, high)
symLow = security(sym, timeFrame, low)
atr = atr (14)
/////////adx code
dirmov(len) =>
up = change(symHigh)
down = -change(symLow)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
emasig = ema (sig , adxemalenght )
////////adx code over
i = ema (symClose , MACDFast) - ema (symClose , MACDSlow)
r = ema (i , MACDSmooth)
sapust = highest (i , MACDLookback) * 0.729
sapalt = lowest (i , MACDLookback) * 0.729
simRSI = rsi (symClose , 50 )
fibtop = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50)
fibbottom = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50)
cond1 = 0
cond2 = 0
cond3 = 0
cond4 = 0
longCondition = crossover(i, r) and i < sapalt and sig > adxconstant and symClose < sma (symClose , smaLookback) and simRSI < sma (simRSI , 50) and symClose < fibbottom
shortCondition = crossunder(i, r) and i > sapust and sig > adxconstant and symClose > sma (symClose , smaLookback) and simRSI > sma (simRSI , 50) and symClose > fibtop
//////////////////////probability long/short
if (crossover(i, r) and i < sapalt)
cond1 := 35
else if (crossunder(i, r) and i > sapust)
cond1 := -35
else
cond1 := 0
if (symClose < sma (symClose , smaLookback))
cond2 := 30
else if (symClose > sma (symClose , smaLookback))
cond2 := -30
else
cond2 := 0
if (simRSI < sma (simRSI , 50))
cond3 := 25
else if (simRSI > sma (simRSI , 50))
cond3 := -25
else
cond3 := 0
if (symClose < fibbottom)
cond4 := 10
else if (symClose > fibbottom)
cond4 := -10
else
cond4 := 0
probab = cond1 + cond2 + cond3 + cond4
////////////////////////////////////////////////////////////////
///////////////////////////////////////////STRATEGY ENTRIES AND STOP LOSSES /////
var startTrail = 0
var trailingLongPrice = 0.0
var trailingShortPrice = 0.0
if (longCondition and strategy.position_size == 0)
strategy.entry("Long", strategy.long , qty = capperc * strategy.equity / close )
if (shortCondition and strategy.position_size == 0)
strategy.entry("Short" , strategy.short , qty = capperc * strategy.equity / close )
if (strategy.position_size == 0)
trailingShortPrice := 0.0
trailingLongPrice := 0.0
startTrail := 0
/////////////////////////////////strategy exit
if (strategy.position_size > 0 and close >= strategy.position_avg_price * (1 + LongTrailingProfitStart))
startTrail := 1
if (strategy.position_size < 0 and close <= strategy.position_avg_price * (1 - ShortTrailingProfitStart))
startTrail := -1
trailingLongPrice := if strategy.position_size > 0 and startTrail == 1
stopMeasure = close * (1 - trailingStopLong)
max (stopMeasure , trailingLongPrice [1])
else if strategy.position_size > 0 and startTrail == 0
strategy.position_avg_price * (1 - lsl)
trailingShortPrice := if strategy.position_size < 0 and startTrail == -1
stopMeasure = close * (1 + trailingStopShort)
min (stopMeasure , trailingShortPrice [1])
else if strategy.position_size < 0 and startTrail == 0
strategy.position_avg_price * (1 + ssl)
if (strategy.position_size > 0)
strategy.exit("Exit Long", "Long", stop = trailingLongPrice , limit=strategy.position_avg_price*(1 + longtp))
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", stop = trailingShortPrice , limit=strategy.position_avg_price*(1 - shorttp))
////////////////////////vertical colouring signals
bgcolor(color=longCondition ? color.new (color.green , 70) : na)
bgcolor(color=shortCondition ? color.new (color.red , 70) : na)
plot (trailingLongPrice , color = color.green) ///long price trailing stop
plot (trailingShortPrice , color = color.red) /// short price trailing stop
plot (startTrail , color = color.yellow)
plot (probab , color = color.white) ////probability