
یہ حکمت عملی آر ایس آئی ، بے ترتیب اشارے کی کراس حکمت عملی کے ساتھ مل کر ، لیول پوائنٹ کو بہتر بنانے کی حکمت عملی کے ساتھ مل کر ، ٹریڈنگ منطق کے عین مطابق کنٹرول اور اسٹاپ نقصان کو درست طریقے سے روکنے کا احساس کرتی ہے۔ اس کے علاوہ ، سگنل کی اصلاح کو متعارف کرانے کے ذریعے ، رجحانات پر بہتر قابو پانا اور فنڈز کے مناسب انتظام کا احساس کرنا ممکن ہے۔
اس حکمت عملی میں متعدد مرکزی دھارے میں آنے والے تکنیکی اشارے کے فوائد کو مربوط کیا گیا ہے ، جس میں پیرامیٹرز کی اصلاح اور قواعد کی بہتری کے ذریعہ ، تجارتی سگنل کے معیار اور اسٹاپ اسٹاپ نقصان کے توازن کو حاصل کیا گیا ہے۔ اس میں کچھ عالمگیریت اور مستحکم منافع بخش صلاحیت ہے۔ مسلسل اصلاح کے ذریعہ ، جیت اور منافع کی شرح کو مزید بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//study(title="@sentenzal strategy", shorttitle="@sentenzal strategy", overlay=true)
strategy(title="@sentenzal strategy", shorttitle="@sentenzal strategy", overlay=true )
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
overbought = input(80, minval=1)
oversold = input(20, minval=1)
smaLengh = input(100, minval=1)
smaLengh2 = input(50, minval=1)
smaLengh3 = input(20, minval=1)
src = input(close, title="RSI Source")
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testPeriod() =>
time >= testPeriodStart ? true : false
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
crossBuy = crossover(k, d) and k < oversold
crossSell = crossunder(k, d) and k > overbought
dcLower = lowest(low, 10)
dcUpper = highest(high, 10)
heikinashi_close = security(heikinashi(syminfo.tickerid), timeframe.period, close)
heikinashi_open = security(heikinashi(syminfo.tickerid), timeframe.period, open)
heikinashi_low = security(heikinashi(syminfo.tickerid), timeframe.period, low)
heikinashi_high = security(heikinashi(syminfo.tickerid), timeframe.period, high)
heikinashiPositive = heikinashi_close >= heikinashi_open
heikinashiBuy = heikinashiPositive == true and heikinashiPositive[1] == false and heikinashiPositive[2] == false
heikinashiSell = heikinashiPositive == false and heikinashiPositive[1] == true and heikinashiPositive[2] == true
//plotshape(heikinashiBuy, style=shape.arrowup, color=green, location=location.belowbar, size=size.tiny)
//plotshape(heikinashiSell, style=shape.arrowdown, color=red, location=location.abovebar, size=size.tiny)
buy = (crossBuy == true or crossBuy[1] == true or crossBuy[2] == true) and (heikinashiBuy == true or heikinashiBuy[1] == true or heikinashiBuy[2] == true)
sell = (crossSell == true or crossSell[1] == true or crossSell[2] == true) and (heikinashiSell == true or heikinashiSell[1] == true or heikinashiSell[2] == true)
mult = timeframe.period == '15' ? 4 : 1
mult2 = timeframe.period == '240' ? 0.25 : mult
movingAverage = sma(close, round(smaLengh))
movingAverage2 = sma(close, round(smaLengh2))
movingAverage3 = sma(close, round(smaLengh3))
uptrend = movingAverage < movingAverage2 and movingAverage2 < movingAverage3 and close > movingAverage
downtrend = movingAverage > movingAverage2 and movingAverage2 > movingAverage3 and close < movingAverage
signalBuy = (buy[1] == false and buy[2] == false and buy == true) and uptrend
signalSell = (sell[1] == false and sell[2] == false and sell == true) and downtrend
takeProfitSell = (buy[1] == false and buy[2] == false and buy == true) and uptrend == false
takeProfitBuy = (sell[1] == false and sell[2] == false and sell == true) and uptrend
plotshape(signalBuy, style=shape.triangleup, color=green, location=location.belowbar, size=size.tiny)
plotshape(signalSell, style=shape.triangledown, color=red, location=location.abovebar, size=size.tiny)
plot(movingAverage, linewidth=3, color=orange, transp=0)
plot(movingAverage2, linewidth=2, color=purple, transp=0)
plot(movingAverage3, linewidth=1, color=navy, transp=0)
alertcondition(signalBuy, title='Signal Buy', message='Signal Buy')
alertcondition(signalSell, title='Signal Sell', message='Signal Sell')
strategy.close("L", when=dcLower[1] > low)
strategy.close("S", when=dcUpper[1] < high)
strategy.entry("L", strategy.long, 1, when = signalBuy and testPeriod() and uptrend)
strategy.entry("S", strategy.short, 1, when = signalSell and testPeriod() and uptrend ==false)
//strategy.exit("Exit Long", from_entry = "L", loss = 25000000, profit=25000000)
//strategy.exit("Exit Short", from_entry = "S", loss = 25000000, profit=25000000)