
اس حکمت عملی کا بنیادی خیال یہ ہے کہ تیزی سے چلنے والی اوسط لائن اور آہستہ چلنے والی اوسط لائن کے کراس کا استعمال کرکے مارکیٹ کے رجحانات کا اندازہ لگایا جائے ، اور مختصر اور لمبی اوسط لائن میں الٹ ہونے پر کھیل میں داخل ہوں ، تاکہ رجحانات کی پیروی کی جاسکے۔
یہ حکمت عملی مجموعی طور پر منطقی طور پر واضح اور سمجھنے میں آسان ہے ، مارکیٹ کے رجحان کے موڑ کے نقطہ کو تیزی سے اوسط اور سست اوسط الٹ کے ذریعے فیصلہ کیا جاتا ہے۔ یہ نظریاتی طور پر رجحانات کی موثر پیروی کرنے کے قابل ہے۔ لیکن عملی استعمال میں حکمت عملی کے الگورتھم کے ساتھ ساتھ پیرامیٹرز کی ترتیب کو بہتر بنانے کی ضرورت ہے تاکہ اسے زیادہ مستحکم اور عملی بنایا جاسکے۔
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Up Down", "Up Down", precision = 6, pyramiding = 1, default_qty_type = strategy.percent_of_equity, default_qty_value = 99, commission_type = strategy.commission.percent, commission_value = 0.0, initial_capital = 1000, overlay = true)
buy = close > open and open > close[1]
sell = close < open and open < close[1]
longma = input(77,"Long MA Input")
shortma = input(7,"Short MA Input")
long = sma(close,longma)
short = sma(close, shortma)
mabuy = crossover(short,long) or buy and short > long
masell = crossunder(short,long) or sell and short > long
num_bars_buy = barssince(mabuy)
num_bars_sell = barssince(masell)
//plot(num_bars_buy, color = teal)
//plot(num_bars_sell, color = orange)
xbuy = crossover(num_bars_sell, num_bars_buy)
xsell = crossunder(num_bars_sell, num_bars_buy)
plotshape(xbuy,"Buy Up Arrow", shape.triangleup, location.belowbar, white, size = size.tiny)
plotshape(xsell,"Sell Down Arrow", shape.triangledown, location.abovebar, white, size = size.tiny)
plot(long,"Long MA", fuchsia, 2)
// Component Code Start
// Example usage:
// if testPeriod()
// strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
// Component Code Stop
if testPeriod()
strategy.entry("buy", true, when = xbuy, limit = close)
strategy.close("buy", when = xsell)