ٹھوس چلتی اوسط نظام کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-24 15:11:18
ٹیگز:

img

جائزہ

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

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

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

جب مختصر مدت کی حرکت پذیر اوسط (جیسے 3 پیریڈ ایس ایم ایم اے) طویل مدت کی حرکت پذیر اوسط (جیسے 200 پیریڈ ای ایم اے) سے اوپر کی حد کو عبور کرتی ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب مختصر مدت کی حرکت پذیر اوسط طویل مدت کی حرکت پذیر اوسط سے نیچے کی حد کو عبور کرتی ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔ متعدد حرکت پذیر اوسط کی ترتیب کا فیصلہ کرکے ، رجحان کی سمت کا تعین کیا جاتا ہے۔

اس کے علاوہ، حکمت عملی خطرات کو کنٹرول کرنے کے لئے منافع اور نقصان کو روکنے کے لئے بھی مقرر کرتا ہے.

فوائد کا تجزیہ

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

  1. کثیر سطح کی حرکت پذیر اوسط ساخت مؤثر طریقے سے رجحان کی سمت کا تعین کرسکتی ہے اور جھوٹے سگنل کو کم کرسکتی ہے۔

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

  3. یہ تجارتی منافع کو بڑھانے کے لئے اعلی بیعانہ اکاؤنٹس کے لئے موزوں ہے۔

  4. سٹاپ منافع اور سٹاپ نقصان کے مقامات کو مؤثر طریقے سے خطرات کو کنٹرول کرنے کے لئے مقرر کیا جاتا ہے.

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

خطرے کا تجزیہ

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

  1. چلتی اوسط کی بڑی تعداد قلیل مدتی الٹ جانے کے مواقع سے محروم ہوسکتی ہے۔

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

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

  4. EURUSD کرنسی کی شرح میں شدید اتار چڑھاؤ ہوسکتا ہے ، جس سے زیادہ خطرات پیدا ہوتے ہیں۔

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

اصلاح کی ہدایات

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

  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)



مزید