
یہ حکمت عملی متحرک طور پر مختلف اقسام کی متحرک اوسط کو منتخب کرکے اور متعدد ٹائم پیکیجز کے ساتھ مل کر ٹریڈنگ سگنل پیدا کرتی ہے۔
اس حکمت عملی میں SMA ، EMA ، TEMA ، WMA ، اور HMA کی پانچ حرکت پذیر اوسط اشارے کا انتخاب کرنے کی اجازت دی گئی ہے ، اور اوسط کی مدت طے کی گئی ہے۔ حکمت عملی متحرک انتخاب کے مطابق مختلف قسم کی اوسط کا نقشہ تیار کرتی ہے۔ جب بند قیمت بڑھتی ہے تو اوسط سے تجاوز کر جاتی ہے ، اور جب بند قیمت گرتی ہے تو اوسط سے تجاوز کر جاتی ہے۔
خاص طور پر ، حکمت عملی نے پہلے ان پٹ پیرامیٹرز کے مطابق فاریکس ٹریڈنگ کے فوائد اور نقصانات کی پیمائش کی مدت کی وضاحت کی۔ پھر پانچ اوسط اشارے کا حساب لگائیں:
انتخاب کے مطابق ، اسی طرح کی اوسط لائن بنائیں۔ جب اختتامی قیمت اوسط سے زیادہ ہو تو ، زیادہ کام کریں۔ جب اختتامی قیمت اوسط سے کم ہو تو ، خالی کریں۔
اس حکمت عملی میں مختلف قسم کے میڈین لائنز کا استعمال کیا جاتا ہے ، جس سے قیمت کے اعداد و شمار کو ہموار کیا جاسکتا ہے ، مارکیٹ کے شور کو فلٹر کیا جاسکتا ہے ، اور زیادہ قابل اعتماد تجارتی سگنل پیدا کیا جاسکتا ہے۔ جبکہ میڈین لائن کی مدت کی لمبائی کو اپنی مرضی کے مطابق کرنے کی اجازت دی جاتی ہے ، جس سے مختلف دوروں کے رجحانات کے لئے تجارت کی جاسکتی ہے۔
مندرجہ ذیل پہلوؤں کو بہتر بنا کر خطرے کو کم کیا جا سکتا ہے:
اس حکمت عملی کو مندرجہ ذیل طریقوں سے بہتر بنایا جاسکتا ہے:
مثال کے طور پر، آپ کو ایک مقدار کی صلاحیت کے اشارے شامل کر سکتے ہیں، صرف اس صورت میں ٹریڈنگ سگنل پیدا کرنے کے لئے جب آپ کے کاروبار کی مقدار میں اضافہ ہوتا ہے، اور آپ کو کچھ جعلی توڑ فلٹر کر سکتے ہیں.
ایک چینل قائم کیا جاسکتا ہے ، صرف اس وقت داخل ہوتا ہے جب قیمت چینل کو توڑ دیتی ہے۔ اسٹاپ نقصان کی لائن قائم کریں ، قیمت اسٹاپ نقصان کی لائن کو چھونے کے بعد فلیٹ پوزیشن۔ اس سے غیر ضروری نقصان کو کم کیا جاسکتا ہے۔
مارکیٹ کے حالات کی نقل و حرکت کے مطابق اوسط اوسط کا دورانیہ ایڈجسٹ کیا جاسکتا ہے ، جب رجحان زیادہ واضح ہوتا ہے تو طویل مدتی اوسط کا استعمال کیا جاتا ہے ، اور اختتام پر مختصر مدت کی اوسط کا استعمال کیا جاتا ہے۔
واپسی کے حالات کے مطابق پوزیشن کا سائز ایڈجسٹ کیا جاسکتا ہے ، واپسی کے وقت پوزیشن کو کم کیا جاسکتا ہے ، جب منافع ہوتا ہے تو پوزیشن میں اعتدال پسند اضافہ ہوتا ہے۔
یہ حکمت عملی متعدد اوسط لائن اشارے کے مجموعی استعمال کے ذریعے ، متعدد وقت کی مدت کے ساتھ مل کر ، نسبتا stable مستحکم رجحان سے باخبر رہنے کا اثر پیدا کرتی ہے۔ حکمت عملی کو بہتر بنانے کی گنجائش زیادہ ہے ، جس میں داخلہ فلٹرنگ ، باہر نکلنے کے طریقوں ، پیرامیٹرز کی اصلاح وغیرہ میں بہتری لائی جاسکتی ہے ، تاکہ حکمت عملی کو حقیقی وقت میں بہتر اثر مل سکے۔
/*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=3
strategy("MA_strategy ", shorttitle="MA_strategy", overlay=true, initial_capital=100000)
qty = input(100000000, "Buy quantity")
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testStartMin = input(0, "Backtest Start Minute")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,testStartMin)
testStopYear = input(2099, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
ma1 = input( "SMA",title="Select MA", options=["SMA", "EMA","TEMA", "WMA","HMA"])
len1 = input(7, minval=1, title="Period")
s=sma(close,len1)
e=ema(close,len1)
xEMA1 = ema(close, len1)
xEMA2 = ema(xEMA1, len1)
xEMA3 = ema(xEMA2, len1)
t = 3 * xEMA1 - 3 * xEMA2 + xEMA3
f_hma(_src, _length)=>
_return = wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
h = f_hma(close, len1)
w = wma(close, len1)
ma = ma1 == "SMA"?s:ma1=="EMA"?e:ma1=="WMA"?w:ma1=="HMA"?h:ma1=="TEMA"?t:na
buy= close>ma
sell= close<ma
alertcondition(buy, title='buy', message='buy')
alertcondition(sell, title='sell', message='sell')
ordersize=floor(strategy.equity/close)
if testPeriod()
strategy.entry("long",strategy.long,ordersize,when=buy)
strategy.close("long", when = sell )