ڈوئل موونگ ایوریج کراس اوور ڈے ٹریڈنگ فیوچرز کی حکمت عملی


تخلیق کی تاریخ: 2023-11-15 16:48:02 آخر میں ترمیم کریں: 2023-11-15 16:48:02
کاپی: 2 کلکس کی تعداد: 683
1
پر توجہ دیں
1617
پیروکار

ڈوئل موونگ ایوریج کراس اوور ڈے ٹریڈنگ فیوچرز کی حکمت عملی

جائزہ

اس حکمت عملی میں ڈبل مساوی لائن کراس کے اصول کا استعمال کیا گیا ہے۔ اس حکمت عملی میں اے ٹی آر اشارے کے ساتھ مل کر اسٹاپ نقصان کی حد طے کی گئی ہے ، جس میں ٹریڈنگ کے وقت پر قابو پانے کی مدد کی گئی ہے۔ حکمت عملی سادہ ، سمجھنے میں آسان اور ابتدائی افراد کے لئے موزوں ہے۔

حکمت عملی کا اصول

اس حکمت عملی میں 5 اور 20 دوروں کی WMA اوسط لائنوں کے کراسنگ کو بطور انٹری سگنل استعمال کیا جاتا ہے۔ جب 5 کی اوسط لائن نیچے کی طرف سے 20 کی اوسط لائن کو توڑ دیتی ہے تو ، زیادہ کام کریں۔ جب 5 کی اوسط لائن اوپر کی طرف سے 20 کی اوسط لائن کو توڑ دیتی ہے تو ، خالی ہوجائیں۔ اس کے علاوہ ، حکمت عملی 50 کی اوسط WMA اوسط لائن کا استعمال کرتی ہے تاکہ رجحان کی سمت کا تعین کیا جاسکے۔ جب قیمت اوسط لائن کو توڑنے کی سمت بڑے رجحان کی سمت سے مطابقت رکھتی ہے تو ہی تجارتی سگنل پیدا ہوتا ہے۔

اس کے علاوہ ، حکمت عملی اسٹاپ نقصان کی پوزیشن کو قائم کرنے کے لئے اے ٹی آر اشارے کا استعمال کرتی ہے۔ اے ٹی آر اشارے متحرک طور پر مارکیٹ میں اتار چڑھاؤ کی شدت کی عکاسی کرتے ہیں۔ حکمت عملی اسٹاپ نقصان کی پوزیشن کو مقرر کرنے کے لئے اے ٹی آر اشارے کی قدر کو ایک ضرب سے ضرب دیتی ہے (جیسے 3 گنا) ، تاکہ ایک ہی نقصان کو کنٹرول کیا جاسکے۔

آخر میں ، حکمت عملی صرف امریکی ٹریڈنگ کے اوقات ((09: 00-14: 30 CST) کے دوران تجارتی سگنل کو متحرک کرتی ہے۔ اس سے تجارت کے آغاز اور اختتام کے اوقات میں تجارت سے گریز کیا جاتا ہے ، کیونکہ ان دونوں اوقات میں زیادہ اتار چڑھاؤ ہوتا ہے ، جس سے جعلی سگنل پیدا ہوتے ہیں۔

طاقت کا تجزیہ

یہ حکمت عملی مندرجہ ذیل فوائد رکھتی ہے:

  1. ڈبل مساوی لائن کراسنگ کا استعمال کرتے ہوئے ، ٹرینڈ ٹرنورپ پوائنٹس کو مؤثر طریقے سے پکڑ سکتے ہیں ، اور وقت پر داخل ہوسکتے ہیں۔

  2. بڑے رجحانات کا اندازہ لگانے کے لئے ، شور کے کچھ تجارتی سگنل کو فلٹر کریں ، اور مخالف سمت سے بچیں۔

  3. اے ٹی آر اشارے کو متحرک طور پر اسٹاپ نقصان کی پوزیشن کو ایڈجسٹ کرنے کے لئے لاگو کریں ، تاکہ انفرادی نقصان کو مؤثر طریقے سے کنٹرول کیا جاسکے۔

  4. ٹریڈنگ کے اوقات کو محدود کریں اور مارکیٹ کے کھلنے اور بند ہونے کے وقت شدید اتار چڑھاؤ سے بچیں۔

  5. حکمت عملی کے قواعد سادہ اور واضح ہیں ، ان کو سمجھنا اور ان پر عمل درآمد کرنا آسان ہے ، جو ابتدائی افراد کے لئے موزوں ہے۔

  6. اپنی مرضی کے مطابق پیرامیٹرز ، جیسے اوسط لائن کا دورانیہ ، اے ٹی آر ضرب ، تجارت کا وقت ، اور بہت کچھ ، حکمت عملی کو بہتر بنائیں۔

خطرے کا تجزیہ

اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:

  1. زلزلے کی صورت حال میں، زیادہ سے زیادہ نقصانات ہوسکتے ہیں.

  2. ڈبل مساوی لائن کراسنگ میں کچھ تاخیر ہو سکتی ہے اور ممکن ہے کہ شارٹ لائن کی توڑ سے محروم ہو جائیں۔

  3. ATR پیرامیٹرز کو غلط طریقے سے ترتیب دینے سے اسٹاپ نقصان بہت بڑا یا بہت چھوٹا ہوسکتا ہے۔

  4. صرف تکنیکی اشارے پر بھروسہ کریں اور بنیادی معلومات کو نظرانداز کریں۔

  5. غیر مناسب قسم اور دورانیہ کی تجارت حکمت عملی کی تاثیر کو متاثر کرتی ہے۔

  6. میکانی ٹریڈنگ سسٹم میں سودے بازی کا خطرہ ہے۔

  7. مختلف ٹرانزیکشن اوقات کے پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔

اس میں بہتری لائی جائے گی، مثال کے طور پر، پیرامیٹرز کی اصلاح، اشارے کا مجموعہ، اور مناسب انسانی مداخلت.

اصلاح کی سمت

یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔

  1. EMA، DMA وغیرہ جیسے مختلف یکساں نظاموں کو آزمائیں

  2. دیگر تکنیکی اشارے جیسے MACD، RSI وغیرہ کو فلٹر کریں.

  3. اے ٹی آر پیرامیٹرز کو بہتر بنائیں تاکہ اسٹاپ نقصان کو روکنے میں زیادہ معقول ہو۔

  4. ٹرانزیکشن حجم کے اشارے کے ساتھ مل کر موثر انٹری پوائنٹس تلاش کریں۔

  5. مختلف اقسام کی خصوصیات کے مطابق پیرامیٹرز کو ایڈجسٹ کریں۔

  6. بنیادی عوامل کے ساتھ مل کر ، مارکیٹ کے خلاف کارروائیوں سے بچنے کے لئے۔

  7. مشین سیکھنے کے اجزاء کو شامل کریں اور نیورل نیٹ ورکس کو ڈیٹا ماڈلنگ کے لئے استعمال کریں.

  8. اس کے علاوہ، آپ کو ایک بار پھر آپ کے کاروبار کو فروغ دینے کے لئے ایک بار پھر آپ کے کاروبار کو فروغ دینے کے لئے ایک بار پھر آپ کے کاروبار کو فروغ دینے کے لئے.

  9. استحکام کے لئے حکمت عملی کا ایک مجموعہ تیار کرنا

خلاصہ کریں۔

یہ حکمت عملی مجموعی طور پر سادہ اور عام ہے ، جو ابتدائی افراد کے لئے عملی مشق کے لئے موزوں ہے۔ اس کے ساتھ ہی بہت زیادہ اصلاح کی گنجائش بھی باقی ہے ، جس میں مزید تکنیکی اشارے یا مشین لرننگ کے طریقے متعارف کرائے جاسکتے ہیں۔ اس کے علاوہ ، مختلف تجارتی اقسام کی خصوصیات اور مارکیٹ کے ماحول کے مطابق ایڈجسٹ پیرامیٹرز بھی اہم ہیں۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © james4392010

//@version=4

strategy(title="DayTradingFutures Cross-Strategy", overlay=true)




// === GENERAL INPUTS ===
Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true)
//highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn



wmaFastSource   = input(defval = close, title = "Fast WMA Source")
wmaFastLength   = input(defval = 5, title = "Fast WMA Period")
wmaSlowSource   = input(defval = close, title = "Slow WMA Source")
wmaSlowLength   = input(defval = 20, title = "Slow WMA Period")
wmaDirectionSource  = input(defval = close, title = "Trend 50 Period Source")
wmaDirectionLength  = input(defval = 50, title = "Trend 50 Period")
timeinrange(res, sess) => time(res, sess) != 0



// === SERIES SETUP ===
/// a couple of ma's..
wmaFast = wma(close, 5)
wmaSlow = wma(close, 20)
wmaDirection = wma(close, 50)





// === PLOTTING ===
fast = plot(series=wmaFast, color=color.white, linewidth=2)
slow = plot(series=wmaSlow, color=color.yellow, linewidth=2)
direction = plot(series=wmaDirection, color=color.red, linewidth=2)


// === INPUT BACKTEST RANGE ===

//fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
//fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
//fromYear = input(defval = 2022, title = "From Year", minval = 2022)
 
// To Date Inputs
//toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
//toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
//toYear = input(defval = 2022, title = "To Year", minval = 2022)
//startDate = timestamp(fromYear, fromMonth, fromDay)
//finishDate = timestamp(toYear, toMonth, toDay)
//inDateRange= (time >= fromDay, fromMonth, fromYear and time <= toDay, toMonth, toYear) 



// === FUNCTION EXAMPLE ===
//inDateRange = (time >= fromDay, fromMonth, fromYear) and (time <= toDay, toMonth, toYear)


// === LOGIC ===

enterLong = crossover(wmaFast, wmaSlow) and close > wmaDirection and timeinrange(timeframe.period, "0900-1430")
enterShort = crossunder(wmaFast, wmaSlow) and close < wmaDirection and timeinrange(timeframe.period, "0900-1430")

//trend := nz(trend[1], trend)
//trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
//upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)

buySignal = enterLong 
//plotshape(enterLong ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green)
plotshape(enterLong and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white)
//dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)

sellSignal = enterShort
//plotshape(enterShort ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red)
plotshape(enterShort and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white)
//mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
//longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white
//shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white
//fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
//fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
alertcondition(buySignal, title="Buy", message="Buy!")
alertcondition(sellSignal, title="Sell", message="Sell!")
//changeCond = trend != trend[1]
//alertcondition(changeCond, title="SuperTrend Direction Change", message="SuperTrend has changed direction!")



// Entry for strategy //

//tp=input(25,title="TakeProfit")
//sl=input(40,title="StopLoss")

strategy.entry("Long",1, when=buySignal)
//strategy.exit("Exit",profit=tp,loss=sl)
//strategy.exit("TakeProfit",profit=tp)
//strategy.exit("StopLoss",loss=sl)

strategy.entry("Short",1, when=sellSignal)
//strategy.exit("Exit",profit=tp,loss=sl)
//strategy.exit("TakeProfit",profit=tp)
//strategy.exit("StopLoss",loss=sl)
//strategy.exit("Exit", wmaFastwmaSlow)

//Buy and Sell Signals

//strategy.close_all(when =not timeinrange(timeframe.period, "1000-1430"))   


// === FILL ====

fill (fast, slow, color = wmaSlow > wmaDirection ? color.green : color.red)
//fill(when=enterLong, tp, color = color.new(color.green, 90), title = "Profit area")
//fill(when=enterLong, sl, color = color.new(color.red, 90), title = "Loss area")
//fill(when=enterShort, tp, color = color.new(color.green, 90), title = "Profit area")
//fill(when=enterShort, sl, color = color.new(color.red, 90), title = "Loss area")