یہ حکمت عملی 4 SMMAs (Smoothed Moving Average) پر مبنی ایک چلتی اوسط نظام ہے جس میں مختلف ادوار اور 1 EMA اشارے ہیں۔ یہ رجحانات کے فیصلے کے ذریعے تجارتی حکمت عملی بنانے کے لئے متعدد تکنیکی تجزیہ کے اوزار کو جوڑتا ہے۔ یہ حکمت عملی بنیادی طور پر اعلی بیعانہ EURUSD 15 منٹ کے بانڈز کے اندرونی دن کی تجارت کے لئے موزوں ہے۔
یہ حکمت عملی ایک کثیر سطح کے چلتے ہوئے اوسط نظام کی تعمیر کے لئے مختلف پیرامیٹرز (3, 6, 9, 50) اور 1 ای ایم اے (200) کے ساتھ 4 ایس ایم ایم اے کا استعمال کرتی ہے۔ ایس ایم ایم اے اشارے مؤثر طریقے سے مارکیٹ شور کو فلٹر کرسکتے ہیں اور رجحان کی سمت کا تعین کرسکتے ہیں۔ ای ایم اے اشارے طویل مدتی رجحانات کا پتہ لگاتا ہے۔ مخصوص تجارتی منطق یہ ہے:
جب مختصر مدت کی حرکت پذیر اوسط (جیسے 3 پیریڈ ایس ایم ایم اے) طویل مدت کی حرکت پذیر اوسط (جیسے 200 پیریڈ ای ایم اے) سے اوپر کی حد کو عبور کرتی ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب مختصر مدت کی حرکت پذیر اوسط طویل مدت کی حرکت پذیر اوسط سے نیچے کی حد کو عبور کرتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ متعدد حرکت پذیر اوسط کی ترتیب کا فیصلہ کرکے ، رجحان کی سمت کا تعین کیا جاتا ہے۔
اس کے علاوہ، حکمت عملی خطرات کو کنٹرول کرنے کے لئے منافع اور نقصان کو روکنے کے لئے بھی مقرر کرتا ہے.
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
کثیر سطح کی حرکت پذیر اوسط ساخت مؤثر طریقے سے رجحان کی سمت کا تعین کرسکتی ہے اور جھوٹے سگنل کو کم کرسکتی ہے۔
ایس ایم ایم اے اشارے مؤثر طریقے سے مارکیٹ شور کو فلٹر کرتا ہے، اور ای ایم اے اشارے طویل مدتی رجحانات کا پتہ لگاتا ہے.
یہ تجارتی منافع کو بڑھانے کے لئے اعلی بیعانہ اکاؤنٹس کے لئے موزوں ہے۔
سٹاپ منافع اور سٹاپ نقصان کے مقامات کو مؤثر طریقے سے خطرات کو کنٹرول کرنے کے لئے مقرر کیا جاتا ہے.
زیادہ فائدہ مند بنانے کے لئے تجارت کی اقسام (EURUSD) اور سائیکل (15 منٹ) کو بہتر بناتا ہے۔
اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:
چلتی اوسط کی بڑی تعداد قلیل مدتی الٹ جانے کے مواقع سے محروم ہوسکتی ہے۔
ہائی لیورج نقصانات کو بڑھا دیتا ہے جبکہ منافع کو بڑھا دیتا ہے۔
جب حرکت پذیر اوسط سگنل پیدا کرتا ہے تو، قلیل مدتی رجحان پہلے ہی الٹ ہو سکتا ہے.
EURUSD کرنسی کی شرح میں شدید اتار چڑھاؤ ہوسکتا ہے ، جس سے زیادہ خطرات پیدا ہوتے ہیں۔
ان خطرات کے جواب میں ہم مناسب طریقے سے لیوریج ریشو کو ایڈجسٹ کرسکتے ہیں ، حرکت پذیر اوسط کے پیرامیٹرز کو بہتر بناسکتے ہیں ، رجحان کے الٹ جانے کا فیصلہ کرنے کے لئے دوسرے اشارے متعارف کروا سکتے ہیں ، وغیرہ۔
اس حکمت عملی کی اصلاح کی اہم سمتوں میں شامل ہیں:
مختلف اقسام اور سائیکلوں کی کارکردگی کا اندازہ کریں اور بہترین پیرامیٹرز کا انتخاب کریں۔
مختلف مجموعے اور چلتی اوسط کی مقدار کی جانچ کریں.
قلیل مدتی الٹ پوائنٹس کا تعین کرنے کے لئے حجم یا اتار چڑھاؤ کے اشارے میں اضافہ کریں۔
سٹاپ منافع اور سٹاپ نقصان کی حد کی متحرک ایڈجسٹمنٹ میں اضافہ کریں.
الٹ نقطہ کا تعین کرنے کے لئے 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)