
यह रणनीति सूचकांक MACD की तेज रेखा और धीमी रेखा के क्रॉस सिग्नल का उपयोग करती है, जो कई अन्य संकेतकों के साथ संयुक्त निर्णय करती है, जो सूचकांक की चलती औसत के ब्रेकआउट सिग्नल को पल-पल में पकड़ती है, खरीदने या बेचने का निर्णय करती है, जो शॉर्ट-लाइन ट्रेडिंग रणनीति के अंतर्गत आती है।
मुख्य ट्रेडिंग सिग्नल के रूप में MACD के फास्ट लाइन और स्लो लाइन क्रॉसिंग का उपयोग करना। जब फास्ट लाइन पर स्लो लाइन को पार करते समय लीड में प्रवेश करें, और जब फास्ट लाइन के नीचे स्लो लाइन को पार करते समय लीड में प्रवेश करें।
आरएसआई के साथ संयुक्त, यह निर्धारित करने के लिए कि क्या यह ओवरबॉट या ओवरसोल्ड है। आरएसआई मध्य रेखा से नीचे होने पर bullish है, और मध्य रेखा से ऊपर होने पर bearish है।
वर्तमान समापन मूल्य की गणना एक निश्चित अवधि में SMA औसत के साथ की जाती है। समापन मूल्य SMA से कम होने पर bullish है, और समापन मूल्य SMA से अधिक होने पर bearish है।
एक निश्चित अवधि में उच्चतम 0.5 फाइबोनैचि बिट्स की गणना करें, जो कि पूर्वावलोकन के लिए एक प्रतिरोध बिंदु है। एक निश्चित अवधि में निम्नतम 0.5 फाइबोनैचि बिट्स की गणना करें, जो कि पूर्वावलोकन के लिए एक समर्थन बिंदु है।
जब तेजी से लाइन के नीचे और कीमत के समर्थन से नीचे की स्थिति को पूरा करने के लिए बाजार में प्रवेश करें, और जब तेजी से लाइन के नीचे की स्थिति को पूरा करने के लिए बाजार में प्रवेश करें और कीमत के प्रतिरोध से ऊपर की स्थिति को पूरा करें।
कदम-दर-कदम चलती रोक को अपनाना। प्रवेश के बाद, स्टॉप लॉस की शुरुआत में स्टॉप लॉस को खोलने की कीमत का एक निश्चित प्रतिशत के रूप में तय किया जाता है, और जब नुकसान एक निश्चित अनुपात तक पहुंच जाता है, तो इसे छोटे कदम-दर-कदम ट्रैक किए जाने वाले स्टॉप लॉस में बदल दिया जाता है।
रणनीति MACD के क्रॉस सिग्नल का पूरा लाभ उठाती है, जो एक क्लासिक और प्रभावी तकनीकी संकेतक व्यापार संकेत है।
आरएसआई, एसएमए और कई अन्य संकेतकों के संयोजन से पुष्टि की जाती है, जिससे झूठे संकेतों को फ़िल्टर किया जा सकता है, जिससे संकेतों की विश्वसनीयता बढ़ जाती है।
गतिशील समर्थन प्रतिरोध की गणना करें, और बड़े व्यापार को पकड़ने के लिए व्यापार को तोड़ें।
एक कदम-दर-कदम चलने वाले स्टॉप के साथ, अधिकांश लाभों को लॉक किया जा सकता है और जोखिम को नियंत्रित किया जा सकता है।
रणनीतिक व्यापार तर्क स्पष्ट और सरल है, इसे समझने में आसान है, और शुरुआती लोगों के लिए उपयुक्त है।
MACD सूचकांक में देरी की समस्या है, जो बाजार में सबसे अच्छा खरीद और बिक्री बिंदु से चूक सकता है।
बहु-सूचक संयोजन निर्णय रणनीतिक जटिलता को बढ़ाता है और सूचक संघर्ष के लिए अतिसंवेदनशील होता है।
गतिशील गणना का समर्थन करता है कि प्रतिरोध बिट्स को गलत तरीके से तोड़ने का जोखिम है।
मोबाइल स्टॉप लॉस (Mobile Stop Loss) एक ऐसी स्थिति है जिसमें किसी भी प्रकार के ट्रेडों में समय से पहले स्टॉप लॉस हो सकता है और लगातार लाभ नहीं मिल सकता है।
रणनीति पैरामीटर को बार-बार परीक्षण और अनुकूलन की आवश्यकता होती है, और अनुचित पैरामीटर रणनीति प्रभाव को प्रभावित कर सकते हैं।
विभिन्न मापदंडों के संयोजनों का परीक्षण किया जा सकता है, 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