
اس حکمت عملی میں ٹریڈنگ سگنل پیدا کرنے کے لئے دو متحرک اوسط ((MA) کا استعمال کیا جاتا ہے۔ خریدنے کا سگنل پیدا ہوتا ہے جب مختصر مدت کا MA نیچے سے اوپر کی طرف سے طویل مدت کا MA پار کرتا ہے۔ فروخت کا سگنل پیدا ہوتا ہے جب مختصر مدت کا MA اوپر سے نیچے کی طرف سے طویل مدت کا MA پار کرتا ہے۔ اس حکمت عملی میں ٹریڈنگ کا وقت کا دورانیہ ((UTC 8 سے 20 بجے تک) اور اسٹاپ پوائنٹ ((150 پوائنٹس) ایک ساتھ طے کیا گیا ہے۔
یہ حکمت عملی ٹریڈنگ سگنل پیدا کرنے کے لئے دو مختلف ادوار کی متحرک اوسط کی کراسنگ پر مبنی ہے ، اور یہ رجحان کی منڈیوں کے لئے موزوں ہے۔ ٹریڈنگ ٹائم فریم اور فکسڈ اسٹاپ پوائنٹس کی ترتیب کے ذریعہ ، خطرے کو کچھ حد تک کنٹرول کیا جاسکتا ہے۔ تاہم ، یہ حکمت عملی ہلچل والی مارکیٹوں میں خراب کارکردگی کا مظاہرہ کرسکتی ہے ، اور فکسڈ اسٹاپ پوائنٹس حکمت عملی کے لئے منافع کی گنجائش کو محدود کرسکتی ہیں۔ مستقبل میں ، اس حکمت عملی کو بہتر بنانے کے ل more مزید تکنیکی اشارے متعارف کرانے ، اسٹاپ نقصان کی ترتیب کو بہتر بنانے ، مارکیٹ کی مائکرو اسٹرکچر کی معلومات کو جوڑنے اور مارکیٹ کی مختلف حالتوں کے ل different مختلف پیرامیٹرز کی ترتیبات کو اپنانے پر غور کیا جاسکتا ہے۔
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Moving Average Crossover Strategy", overlay=true)
// User-defined moving average periods
ma1Periods = input(5, title="First Moving Average Periods")
ma2Periods = input(20, title="Second Moving Average Periods")
// Calculate moving averages
ma1 = sma(close, ma1Periods)
ma2 = sma(close, ma2Periods)
// Plot moving averages
plot(ma1, color=color.red, linewidth=2, title="First Moving Average")
plot(ma2, color=color.blue, linewidth=2, title="Second Moving Average")
// Detect crossovers and crossunders
bullishCross = crossover(ma1, ma2)
bearishCross = crossunder(ma1, ma2)
// Define trading hours (8 AM to 2 PM UTC)
startHour = 8
endHour = 20
utcHour = hour(time, "UTC")
isMarketOpen = true
// Define profit target
profitTarget = 150
// Check if the price has closed above/below the MA for the past 4 bars
aboveMa = close[4] > ma1[4] and close[3] > ma1[3] and close[2] > ma1[2] and close[1] > ma1[1]
belowMa = close[4] < ma1[4] and close[3] < ma1[3] and close[2] < ma1[2] and close[1] < ma1[1]
// Create buy and sell signals
if (bullishCross and isMarketOpen and aboveMa)
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", "Buy", profit=profitTarget)
if (bearishCross and isMarketOpen and belowMa)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", profit=profitTarget)
// Plot shapes on crossovers
plotshape(series=bullishCross and isMarketOpen and aboveMa, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=bearishCross and isMarketOpen and belowMa, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")