
یہ حکمت عملی ایک ٹریڈنگ سگنل کی تعمیر کرتی ہے جس میں متحرک اشارے آر ایس آئی اور قیمت کی ایکسپونینشل مووینگ اوسط ((ای ایم اے) اور سادہ مووینگ اوسط ((ایس ایم اے)) پر مبنی ہے۔ یہ ایک رجحان کی پیروی کرنے والی حکمت عملی ہے۔
اس حکمت عملی میں ٹریڈنگ سگنل پیدا کرنے کے لئے تین شرائط استعمال کی جاتی ہیں:
مندرجہ بالا 3 شرائط میں سے کسی بھی 2 کو پورا کرنے پر ، خریدنے کا اشارہ پیدا ہوتا ہے۔ اگر سب کچھ پورا نہیں ہوتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
اس حکمت عملی کے ساتھ ساتھ ہمیشہ خریدنے کے لئے ایک روبوٹ موڈ بھی فراہم کیا جاتا ہے جس میں نظام خود کی کارکردگی کو جانچنے کے لئے استعمال کیا جاتا ہے.
یہ حکمت عملی مجموعی طور پر درمیانی فریکوئینسی ٹریڈنگ حکمت عملی ہے ، جس کا مقصد درمیانی مدت کی قیمتوں کے رجحانات کو پکڑنا ہے ، جبکہ قلیل مدتی مارکیٹ کے اتار چڑھاؤ سے بچنا ہے۔ اس کے فوائد اور خطرات دونوں واضح ہیں۔ پیرامیٹرز کی اصلاح اور قواعد سے مالا مال ، حکمت عملی کی استحکام کو مزید بڑھا سکتا ہے ، یہ ایک اعلی کارکردگی کی مقدار میں تجارت کی حکمت عملی ہے جس کے بارے میں گہری تحقیق اور اصلاح کے قابل ہے۔
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("I11L Unitrend",overlay=false, initial_capital=1000000,default_qty_value=1000000,default_qty_type=strategy.cash,commission_type=strategy.commission.percent,commission_value=0.00)
tradingMode = input.string("Unitrend", "Trading Mode", ["Unitrend", "Always Buy"], tooltip="Choose the Trading Mode by trying Both in your Backtesting. I use it if one is far better then the other one.")
compoundingMode = input.bool(false)
leverage = input.float(1.0,step=0.1)
SL_Factor = 1 - input.float(1,"Risk Capital per Trade unleveraged (%)", minval=0.1, maxval=100, step=0.1) / 100
TPFactor = input.float(2, step=0.1)
var disableAdditionalBuysThisDay = false
var lastTrade = time
if(time > lastTrade + 1000 * 60 * 60 * 8 or tradingMode == "Always Buy")
disableAdditionalBuysThisDay := false
if(strategy.position_size != strategy.position_size[1])
lastTrade := time
disableAdditionalBuysThisDay := true
//Trade Logic
SCORE = 0
//rsi momentum
RSIFast = ta.ema(ta.rsi(close,50),24)
RSISlow = ta.sma(ta.rsi(close,50),24)
RSIMomentum = RSIFast / RSISlow
goodRSIMomentum = RSIMomentum > 1
SCORE := goodRSIMomentum ? SCORE + 1 : SCORE
//rsi trend
RSITrend = RSISlow / 45
goodRSI = RSITrend > 1
SCORE := goodRSI ? SCORE + 1 : SCORE
//price trend
normalTrend = ta.ema(close,50) / ta.sma(close,50)
goodTrend = normalTrend > 1
SCORE := goodTrend ? SCORE + 1 : SCORE
isBuy = SCORE > 1 or tradingMode == "Always Buy"
isSell = false //SCORE == 0
//plot(SCORE, color=isBuy ? color.green : #ffffff88)
//reduced some of the values just for illustrative purposes, you can buy after the signal if the trendlines seem to grow
plot(1, color=isBuy ? #77ff7733 : SCORE == 2 ? #ffff0033 : SCORE == 1 ? #ff888833 : #ff000033,linewidth=10)
plot(1 - (1 - RSIMomentum) * 6,color=#00F569)
plot(1 - (1 - RSITrend) * 0.25,color=#00DB9B)
plot(1 - (1 - normalTrend) * 20,color=#00F5EE)
strategy.initial_capital = 50000
if(isBuy and not(disableAdditionalBuysThisDay))
if(compoundingMode)
strategy.entry("Long", strategy.long, (strategy.equity / close) * leverage)
else
strategy.entry("Long", strategy.long, (strategy.initial_capital / close) * leverage)
if(strategy.position_size != 0)
strategy.exit("TP/SL Long", "Long", stop=strategy.position_avg_price * (1 - (1 - SL_Factor)), limit=strategy.position_avg_price * (1 + (1 - SL_Factor) * TPFactor))