روزانہ فاریکس حکمت عملی چلتی اوسط اور ولیمز اشارے پر مبنی ہے

مصنف:چاؤ ژانگ، تاریخ: 2024-01-29 14:35:48
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

  1. مجموعی رجحان کا تعین کرنے کے لئے 20 دن کی حرکت پذیر اوسط (بیس لائن) کا استعمال کریں۔ نیچے سے اوپر کی طرف قیمت عبور کرنا خریدنے کا اشارہ ہے ، جبکہ اوپر سے نیچے کی طرف عبور کرنا فروخت کا اشارہ ہے۔
  2. ولیمز اشارے کا استعمال قیمت کے الٹ کی تصدیق کے لئے کیا جاتا ہے۔ اشارے سے تجاوز کرنا -35 خرید کی تصدیق ہے ، جبکہ -70 سے نیچے عبور کرنا فروخت کی تصدیق ہے۔
  3. اے ٹی آر اشارے گزشتہ 2 دنوں کے دوران قیمت کی حد کا اوسط حساب لگاتا ہے۔ ایک عنصر سے ضرب شدہ قدر کو اسٹاپ نقصان کے فاصلے کے طور پر مقرر کیا جاتا ہے۔
  4. پوزیشن کا سائز اکاؤنٹ کی ایکویٹی کے 50 فیصد خطرے پر مبنی ہے۔ تجارت کا سائز اسٹاپ نقصان کے فاصلے اور خطرے کے فیصد کی بنیاد پر شمار کیا جاتا ہے۔
  5. لانگ پوزیشن میں داخل ہونے کے بعد ، اسٹاپ نقصان کی قیمت کم مائنس اسٹاپ نقصان کا فاصلہ مقرر کیا جاتا ہے۔ منافع حاصل کرنے کی قیمت 100 پوائنٹس کے علاوہ داخلہ قیمت پر مقرر کی جاتی ہے۔ باہر نکلنے کا منطق مزید باہر نکلنے کے اشاروں کی تصدیق کرتا ہے۔
  6. اسی طرح شارٹ پوزیشن کے لئے ، اسٹاپ نقصان اور منافع حاصل کریں اسی طرح مقرر کیے جاتے ہیں۔ باہر نکلنے کی منطق کو بھی باہر نکلنے کی تصدیق کے لئے استعمال کیا جاتا ہے۔

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

  1. چلتی اوسط اور اشارے کی تصدیق کے ذریعہ رجحان کا فیصلہ کرنے سے غلط بریک آؤٹ سے ہونے والے نقصانات سے مؤثر طریقے سے بچایا جاسکتا ہے۔
  2. اے ٹی آر کے ذریعہ متحرک اسٹاپ نقصان مارکیٹ میں اتار چڑھاؤ کی بنیاد پر معقول اسٹاپ فاصلہ طے کرسکتا ہے۔
  3. خطرہ کنٹرول اور متحرک پوزیشن سائزنگ ایک ہی تجارت کے نقصان پر زیادہ سے زیادہ کنٹرول کرسکتے ہیں۔
  4. باہر نکلنے کی منطق کے ساتھ ساتھ چلتی اوسط کے ساتھ مل کر باہر نکلنے کے اچھے وقت کی مزید تصدیق کرنے اور قبل از وقت منافع لینے سے بچنے میں مدد مل سکتی ہے۔

خطرے کا تجزیہ

  1. چلتی اوسط سگنل میں غلط ہونے کا زیادہ امکان ہوسکتا ہے ، اشارے سے مزید تصدیق کی ضرورت ہے۔
  2. خود اشارے غلط سگنل بھی پیدا کر سکتے ہیں، نقصانات سے مکمل طور پر بچنے کے قابل نہیں.
  3. یہ حکمت عملی ٹرینڈنگ جوڑوں کو بہتر طور پر فٹ بیٹھتی ہے، رینج سے منسلک جوڑوں کے لئے خراب نتائج ہوسکتے ہیں۔
  4. خطرے کے کنٹرول کے تناسب کی غلط ترتیبات بھی حکمت عملی کی منافع بخش پر اثر انداز کر سکتی ہیں.

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

نتیجہ

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


/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("GBPJPY DAILY FX",initial_capital = 1000,currency="USD", overlay=true)

UseHAcandles    = input(false, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===

// === BASE FUNCTIONS ===

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low

//INDICATOR---------------------------------------------------------------------    
    //Average True Range (1. RISK)
atr_period = 2
atr = atr(atr_period)



    //Ichimoku Cloud - Kijun Sen (2. BASELINE)
ks_period = 20
kijun_sen = (highest(haHigh,ks_period) + lowest(haLow,ks_period))/2
base_long = haOpen < kijun_sen and haClose > kijun_sen
base_short = haOpen > kijun_sen and haClose < kijun_sen

    //Williams Percent Range (3. Confirmation#1)
use_wpr = true
wpr_len = 4
wpr = -100*(highest(haHigh,wpr_len) - haClose)/(highest(haHigh,wpr_len) - lowest(haLow,wpr_len))
wpr_up = -35
wpr_low = -70
conf1_long = wpr >= wpr_up
conf1_short = wpr <= wpr_low
if(use_wpr == false)
    conf1_long := true
    conf1_short := true
//TRADE LOGIC-------------------------------------------------------------------
    //Long Entry
    //if -> WPR crosses below -39 AND MACD line is less than signal line
l_en = base_long and conf1_long
    //Long Exit
    //if -> WPR crosses above -14
l_ex = haClose < kijun_sen
    //Short Entry
    //if -> WPR crosses above -39 AND MACD line is greater than signal line
s_en = base_short and conf1_short
    //Short Exit
    //if -> WPR crosses under -14
s_ex = haClose > kijun_sen
    
strategy.initial_capital = 50000
//MONEY MANAGEMENT--------------------------------------------------------------
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
isTwoDigit = input(true,"Is this a 2 digit pair? (JPY, XAU, XPD...")
risk = input(50,"Risk %")/100           //risk % per trade
equity_protector = input(30,"Equity Protection %")/100  //equity protection %
stop = atr*100000*input(1,"Average True Range multiplier")    //Stop level
if(isTwoDigit)
    stop := stop/100
target = input(100, "Target TP in Points")  //TP level
    //Calculate current DD and determine if stopout is necessary
equity_stopout = false
if(floating<0 and abs(floating/balance)>equity_protector)
    equity_stopout := true
    
    //Calculate the size of the next trade
temp01 = balance * risk     //Risk in USD
temp02 = temp01/stop        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = temp03 - temp03%1000 //Normalize to 1000s (Trade size)
if(size < 1)
    size := 1            //Set min. lot size

//TRADE EXECUTION---------------------------------------------------------------
strategy.close_all(equity_stopout)      //Close all trades w/equity protector
is_open = strategy.opentrades > 0

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)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, 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)
time_cond = true

if(time_cond)
    strategy.entry("l_en",true,1,oca_name="a",when=l_en and not is_open)  //Long entry
    strategy.entry("s_en",false,1,oca_name="a",when=s_en and not is_open) //Short entry
    
    strategy.exit("S/L","l_en",loss=stop, profit=target)      //Long exit (stop loss)
    strategy.close("l_en",when=l_ex)            //Long exit (exit condition)
    strategy.exit("S/L","s_en",loss=stop, profit=target)      //Short exit (stop loss)
    strategy.close("s_en",when=s_ex)            //Short exit (exit condition)


مزید