
ڈبل مساوی لائن ٹریڈنگ حکمت عملی تیزی سے چلنے والی اوسط اور آہستہ چلنے والی اوسط کا حساب کتاب کرکے اور دو حرکت پذیر اوسطوں کے کراسنگ کی بنیاد پر ٹریڈنگ سگنل پیدا کرتی ہے۔ جب تیزی سے چلنے والی اوسط پر آہستہ چلنے والی اوسط کو عبور کرتے ہو تو کثیر سر حکمت عملی کا استعمال کریں اور جب تیزی سے چلنے والی اوسط کے نیچے آہستہ چلنے والی اوسط کو عبور کرتے ہو تو ہوائی جہاز کی حکمت عملی کا استعمال کریں۔ یہ حکمت عملی رجحان کی تجارت کے لئے بھی استعمال کی جاسکتی ہے اور اس کے برعکس تجارت کے لئے بھی استعمال کی جاسکتی ہے۔
اس حکمت عملی میں سب سے پہلے تیز رفتار حرکت پذیر اوسط کی لمبائی maFastLength اور سست رفتار حرکت پذیر اوسط کی لمبائی maSlowLength طے کی جاتی ہے۔ اس کے بعد تیز رفتار حرکت پذیر اوسط (fastMA) اور سست رفتار حرکت پذیر اوسط (slowMA) کا حساب لگایا جاتا ہے۔ تیز رفتار حرکت پذیر اوسط قیمت کی تبدیلیوں کے لئے زیادہ حساس ہے اور موجودہ رجحانات کا اندازہ لگانے کے لئے استعمال کیا جاسکتا ہے۔ سست رفتار حرکت پذیر اوسط قیمت کی تبدیلیوں کا جواب دینے میں زیادہ دیر سے ہوتا ہے اور رجحانات کی سمت کا اندازہ لگانے کے لئے استعمال کیا جاسکتا ہے۔
جب تیز رفتار حرکت پذیری اوسط پر سست رفتار حرکت پذیری اوسط سے گزرتا ہے تو ، goLong () سگنل پیدا کرنے کے لئے کثیر حکمت عملی اختیار کریں۔ جب تیز رفتار حرکت پذیری اوسط کے نیچے سست رفتار حرکت پذیری اوسط سے گزرتا ہے تو ، کثیر سر کو مار ڈالو () سگنل پیدا کریں۔
صرف طویل مدتی حکمت عملی ، صرف مختصر مختصر ، یا دو طرفہ تبادلہ کرنے کا انتخاب کریں۔
زیادہ حکمت عملی کرتے وقت ، goLong () سگنل کے آغاز پر زیادہ پوزیشن کھولیں۔ جب killLong () سگنل شروع ہوتا ہے تو پوزیشن کو کم کریں۔
خالی کرنے کی حکمت عملی کے دوران ، جب مارنے کے ل ((() سگنل جاری ہوتا ہے تو پوزیشن خالی ہوجاتی ہے۔ جب جانے کے ل ((() سگنل جاری ہوتا ہے تو پوزیشن صاف ہوجاتی ہے۔
جب دو طرفہ تجارت کی جاتی ہے تو ، goLong () سگنل پر زیادہ پوزیشن کھولی جاتی ہے۔ جب killLong () سگنل پر زیادہ پوزیشن اور خالی پوزیشن کھولی جاتی ہے۔
اس کے علاوہ ، اسٹریٹجی میں اسٹاپ ، اسٹاپ ٹریکنگ ، اور ٹریڈنگ نوٹیفیکیشنز جیسے افعال بھی ہیں ، جن کا استعمال کرنے یا نہ کرنے کے لئے لچکدار انتخاب ہے۔
حکمت عملی کو سمجھنے اور اس پر عمل کرنے میں آسان ہے۔
آپ کو زیادہ، مختصر یا دو طرفہ تجارت کرنے کا اختیار ہے۔
اس کے علاوہ ، آپ کو یہ اختیار حاصل ہے کہ آپ اسٹاپ نقصانات اور اسٹاپ نقصانات کی نگرانی جیسے خطرے سے نمٹنے کے اختیارات استعمال کریں یا نہیں۔
اپنی مرضی کے مطابق ٹرانزیکشن کی اطلاع، ٹرانزیکشن کی سرگرمیوں کو ریئل ٹائم پر اشارہ کریں۔
تیز رفتار اوسط حکمت عملی مارکیٹ کے رجحانات کی تبدیلیوں کے لئے حساس ہے اور مضبوط رجحانات کو پکڑ سکتا ہے.
حکمت عملی کے پیرامیٹرز کو ایڈجسٹ کیا جاسکتا ہے ، مختلف مارکیٹوں کے لئے پیرامیٹرز کو ایڈجسٹ کیا جاسکتا ہے ، اور یہ بہت زیادہ موافقت پذیر ہے۔
جب مارکیٹ میں کوئی واضح رجحان نہیں ہوتا ہے تو ، زیادہ سے زیادہ جھوٹے سگنل ہوسکتے ہیں ، جس سے زیادہ تجارت ہوتی ہے۔
ہم آہنگی نظام کے لئے غیر متوقع واقعات کے ردعمل غیر حساس ہے اور ممکنہ طور پر غیر متوقع مواقع کو یاد کر سکتے ہیں.
اوسط لائن پیرامیٹرز کا معقول انتخاب کرنے کی ضرورت ہے۔ پیرامیٹرز کا غلط انتخاب حکمت عملی کی تاثیر کو متاثر کرسکتا ہے۔
اس کے علاوہ ، اسٹریٹجک سگنلز پر سختی سے عمل کرنے کی ضرورت ہے ، تاکہ کسی بھی طرح کی صوابدیدی تجارت سے بچا جاسکے۔
حکمت عملی کے منافع پر ٹرانزیکشن لاگت کے اثرات پر توجہ دینے کی ضرورت ہے۔
ٹریڈنگ سگنل کی توثیق کرنے کے لئے RSI جیسے دیگر اشارے متعارف کروائے جاسکتے ہیں ، تاکہ غلط سگنل سے بچا جاسکے۔
پیرامیٹرز کو بہتر بنانے کی خصوصیت ترتیب دی جاسکتی ہے ، جو خود بخود بہترین پیرامیٹرز کا مجموعہ ڈھونڈتی ہے۔
منافع کو لاک کرنے کے لئے متحرک اسٹاپ نقصان کی ترتیب دی جاسکتی ہے ، اور جب مناسب ہو تو اسٹاپ نقصان کو ایڈجسٹ کیا جاسکتا ہے۔
مشین سیکھنے کے ماڈل کو رجحانات کی سمت کا تعین کرنے میں مدد کے لئے شامل کیا جاسکتا ہے۔
آپ کو آپ کے ٹریڈنگ کی عادات کو بہتر بنانے کے لئے آپ کے پیغامات کو بہتر بنانے کے کر سکتے ہیں.
ڈبل یکساں ٹریڈنگ حکمت عملی مجموعی طور پر زیادہ آسان عملی ہے ، مارکیٹ کے رجحانات میں تبدیلیوں کے لئے زیادہ حساس ہے ، اور مضبوط رجحانات کے ذریعہ لائے جانے والے تجارتی مواقع کو پکڑ سکتا ہے۔ تاہم ، غیر رجحان مارکیٹ میں غلط تجارت سے بچنے کے لئے بھی توجہ دینے کی ضرورت ہے ، اور مختلف مارکیٹ کے ماحول کے مطابق پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کرنے کی ضرورت ہے۔ اس کے علاوہ ، معاون تکنیکی اشارے اور اصلاحی افعال کو مناسب طریقے سے شامل کرنا حکمت عملی کی استحکام اور موافقت کو مزید بڑھا سکتا ہے۔
/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("SMA Strategy", shorttitle="SMA Strategy", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
// short ma
maFastSource = input(defval=close, title="Fast MA Source")
maFastLength = input(defval=3, title="Fast MA Period", minval=1)
// long ma
maSlowSource = input(defval=close, title="Slow MA Source")
maSlowLength = input(defval=9, title="Slow MA Period", minval=1)
// Trade direction
shorting = input(defval=false, title="Short only?")
longonly = input(defval=true, title="Long only?")
swapping = input(defval=false, title="Swap orders?")
// risk management
useStop = input(defval=false, title="Use Initial Stop Loss?")
slPoints = input(defval=25, title="Initial Stop Loss Points", minval=1)
useTS = input(defval=false, title="Use Trailing Stop?")
tslPoints = input(defval=120, title="Trail Points", minval=1)
useTSO = input(defval=false, title="Use Offset For Trailing Stop?")
tslOffset = input(defval=20, title="Trail Offset Points", minval=1)
// Messages for buy and sell
message_long_entry = input("Long entry message", title="Long entry message")
message_long_exit = input("Long exit message", title="Long exit message")
message_short_entry = input("Short entry message", title="Short entry message")
message_short_exit = input("Short exit message", title="Short exit message")
// Calculate start/end date and time condition
startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)
time_cond = true
// === Vars and Series ===
fastMA = sma(maFastSource, maFastLength)
slowMA = sma(maSlowSource, maSlowLength)
plot(fastMA, color=color.blue)
plot(slowMA, color=color.purple)
goLong() =>
crossover(fastMA, slowMA)
killLong() =>
crossunder(fastMA, slowMA)
// Long only
if longonly
strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_long_entry)
strategy.close("Buy", when=killLong() and time_cond, alert_message = message_long_exit)
// Short only
if shorting
strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_short_entry)
strategy.close("Sell", when=goLong() and time_cond, alert_message = message_short_exit)
// Order Swapping
if swapping
strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_long_entry)
strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_short_entry)
if useStop
strategy.exit("XLS", from_entry="Buy", stop=strategy.position_avg_price / 1.08, alert_message = message_long_exit)
strategy.exit("XSS", from_entry="Sell", stop=strategy.position_avg_price * 1.08, alert_message = message_short_exit)