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