ایک ٹھوس اور مضبوط متحرک اوسط نظام کی حکمت عملی


تخلیق کی تاریخ: 2023-11-24 15:11:18 آخر میں ترمیم کریں: 2023-11-24 15:11:18
کاپی: 0 کلکس کی تعداد: 587
1
پر توجہ دیں
1617
پیروکار

ایک ٹھوس اور مضبوط متحرک اوسط نظام کی حکمت عملی

جائزہ

یہ حکمت عملی 4 مختلف ادوار پر مبنی ایس ایم ایم اے ((سستے چلنے والی اوسط) اور ایک ای ایم اے اشارے پر مبنی ایک متحرک اوسط نظام ہے۔ یہ متعدد سیکیورٹیز کے تکنیکی تجزیہ کے اوزار کو جوڑتا ہے تاکہ رجحانات کا فیصلہ کرکے تجارتی حکمت عملی تشکیل دی جاسکے۔ یہ حکمت عملی بنیادی طور پر اعلی لیوریجڈ اکاؤنٹس کے لئے EURUSD 15 منٹ کے بانڈز پر دن کے اندر تجارت کے لئے موزوں ہے۔

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

اس حکمت عملی میں 4 مختلف پیرامیٹرز کے ایس ایم ایم اے ((3، 6، 9، 50) اور ایک ای ایم اے ((200) کا استعمال کرتے ہوئے ایک کثیر سطحی متحرک اوسط کا نظام بنایا گیا ہے۔ ایس ایم ایم اے اشارے مارکیٹ کے شور کو مؤثر طریقے سے فلٹر کرسکتے ہیں اور رجحان کی سمت کا فیصلہ کرسکتے ہیں۔ ای ایم اے اشارے طویل مدتی رجحانات کا پتہ لگاتے ہیں۔ مخصوص ٹریڈنگ منطق یہ ہے:

خریدنے کا اشارہ پیدا ہوتا ہے جب قلیل مدتی منتقل اوسط ((مثال کے طور پر 3 دور SMMA) پر طویل مدتی منتقل اوسط ((مثال کے طور پر 200 دور ای ایم اے) کے ذریعے گھومتے ہیں۔ فروخت کا اشارہ پیدا ہوتا ہے جب قلیل مدتی منتقل اوسط کے نیچے طویل مدتی منتقل اوسط کے ذریعے گھومتے ہیں۔ اس طرح ایک سے زیادہ منتقل اوسط کی صف بندی کے تعلقات کا فیصلہ کرکے رجحان کی سمت طے کی جاتی ہے۔

اس کے علاوہ ، حکمت عملی میں خطرے کو کنٹرول کرنے کے لئے اسٹاپ اسٹاپ پوائنٹس بھی مرتب کیے گئے ہیں۔

طاقت کا تجزیہ

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

  1. ایک کثیر درجے کی حرکت پذیری اوسط ڈھانچے کو مؤثر طریقے سے رجحان کی سمت کا تعین کرنے اور غلط سگنل کو کم کرنے کے لئے استعمال کیا جاتا ہے.

  2. ایس ایم ایم اے اشارے مارکیٹ کے شور کو مؤثر طریقے سے فلٹر کرتا ہے ، ای ایم اے اشارے لمبی لائن رجحانات کا پتہ لگاتا ہے۔

  3. اعلی لیوریجڈ اکاؤنٹس کے لئے موزوں ، جو آپ کو زیادہ منافع بخش تجارت کرنے کی اجازت دیتا ہے۔

  4. اسٹاپ اسٹاپ نقصان کا نقطہ مقرر کیا گیا ہے ، جو خطرے کو مؤثر طریقے سے کنٹرول کرتا ہے۔

  5. ٹریڈنگ کی اقسام کو بہتر بنایا گیا ہے (EURUSD) اور اس کی مدت (15 منٹ) ، جس سے اسے زیادہ فائدہ مند بنایا گیا ہے۔

خطرے کا تجزیہ

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

  1. بہت زیادہ چلتی اوسط کا استعمال ، مختصر مدت میں واپسی کے مواقع سے محروم ہوسکتا ہے۔

  2. اعلی بیعانہ نقصان کو بڑھانے کے ساتھ ساتھ منافع کو بھی بڑھا دیتا ہے۔

  3. جب ایک حرکت پذیر اوسط سگنل پیدا کرتا ہے تو ، قلیل مدتی رجحانات پہلے ہی بدل چکے ہوں گے۔

  4. EUR/USD کی شرح میں شدید اتار چڑھاؤ کا امکان ہے، جس سے زیادہ خطرہ لاحق ہے۔

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

اصلاح کی سمت

اس حکمت عملی کے اہم اصلاحات میں شامل ہیں:

  1. مختلف اقسام اور ادوار کی کارکردگی کا جائزہ لیں اور بہترین پیرامیٹرز کا انتخاب کریں۔

  2. مختلف پیرامیٹرز کے مجموعے اور تعداد کی جانچ کرنا۔

  3. تجارت میں اضافے یا اتار چڑھاؤ کی شرح کے اشارے میں اضافے سے قلیل مدتی الٹ پوائنٹس کا تعین ہوتا ہے۔

  4. اسٹاپ نقصان کی شدت میں اضافے کے لئے متحرک ایڈجسٹمنٹ۔

  5. ENU کے انڈیکس میں شامل ہونے کا فیصلہ

اس کے نتیجے میں ، آپ کو متعدد طریقوں سے جانچ اور اصلاح کے ذریعہ حکمت عملی کے استحکام اور منافع میں نمایاں اضافہ ہوسکتا ہے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 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/
// © SoftKill21

//@version=4
strategy("Money maker EURUSD 15min" )
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 = 2000, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 8, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
 


startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)




len = input(3, minval=1, title="Length")
src = input(hl2, title="Source")
smma = 0.0
sma1 = sma(src, len)
smma := na(smma[1]) ? sma1 : (smma[1] * (len - 1) + src) / len

len2 = input(6, minval=1, title="Length")
src2 = input(hl2, title="Source")
smma2 = 0.0
sma2 = sma(src2, len2)
smma2 := na(smma2[1]) ? sma2 : (smma2[1] * (len2 - 1) + src2) / len2

len3 = input(9, minval=1, title="Length")
src3 = input(hl2, title="Source")
smma3 = 0.0
sma3 = sma(src3, len3)
smma3 := na(smma3[1]) ? sma3 : (smma3[1] * (len3 - 1) + src3) / len3

len4 = input(50, minval=1, title="Length")
src4 = input(close, title="Source")
smma4 = 0.0
sma4 = sma(src4, len4)
smma4 := na(smma4[1]) ? sma4  : (smma4[1] * (len4 - 1) + src4) / len4

len5 = input(200, minval=1, title="Length")
src5 = input(close, title="Source")
out5 = ema(src5, len5)

timeinrange(res, sess) => time(res, sess) != 0
london=timeinrange(timeframe.period, "0300-1045")
londonEntry=timeinrange(timeframe.period, "0300-0845")

extraEntry =timeinrange(timeframe.period, "0745-1030")

time_cond = true
//time_cond2 = time >= startDate and time <= finishDate and extraEntry

//

longCond = close > out5 and close > smma4 and close > smma3 and close > smma2 and close > smma  and smma > smma2 and smma2>smma3 and smma3>smma4 and smma4>out5 and time_cond
shortCond = close < out5 and close < smma4 and close < smma3 and close < smma2 and close < smma  and smma < smma2 and smma2<smma3 and smma3<smma4 and smma4<out5 and time_cond


//longCond = close > out5 and close > smma4 and close > smma3 and close > smma2 and close > smma  and smma > smma2 and smma2>smma3 and smma3>smma4 and smma4>out5 and time_cond2
//shortCond = close < out5 and close < smma4 and close < smma3 and close < smma2 and close < smma  and smma < smma2 and smma2<smma3 and smma3<smma4 and smma4<out5 and time_cond2

//longCond2 = crossover(close,out5) and crossover(close,smma4) and crossover(close,smma3) and crossover(close,smma2) and crossover(close,smma) and time_cond
//shortCond2 = crossunder(close,out5) and crossunder(close,smma4) and crossunder(close,smma3) and crossunder(close,smma2) and crossunder(close,smma) and time_cond



tp=input(300,title="tp")
sl=input(300,title="sl")

strategy.initial_capital  = 50000

//MONEY MANAGEMENT--------------------------------------------------------------
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
risk = input(1,type=input.float,title="Risk %")/100           //risk % per trade


    //Calculate the size of the next trade
temp01 = balance * risk     //Risk in USD
temp02 = temp01/sl        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = temp03 - temp03%1000 //Normalize to 1000s (Trade size)
if(size < 1000)
    size := 1000           //Set min. lot size

dataL = (close-out5)*100000
dataS = (out5-close)*100000

minDistanceL = (smma4 - out5)*100000
minDistanceS= (out5 - smma4)*100000


strategy.entry("long",1,1,when=longCond )
strategy.exit("closelong","long", profit=tp,loss=sl)
    
strategy.entry("short",0,1,when=shortCond )
strategy.exit("closeshort","short", profit=tp,loss=sl)



strategy.close_all(when = not london, comment="london finish")
//strategy.close_all(when = not extraEntry, comment="london finish")



// maxEntry=input(2,title="max entries")
// strategy.risk.max_intraday_filled_orders(maxEntry)