منتقل اوسط کراس اوور حکمت عملی

SMA MA
تخلیق کی تاریخ: 2024-06-03 11:25:43 آخر میں ترمیم کریں: 2024-06-03 11:25:43
کاپی: 0 کلکس کی تعداد: 643
1
پر توجہ دیں
1617
پیروکار

منتقل اوسط کراس اوور حکمت عملی

جائزہ

اس آرٹیکل میں ایک ایسی کوانٹومیٹک ٹریڈنگ حکمت عملی کا تعارف کیا گیا ہے جو ایک چلتی اوسط کراسنگ اصول پر مبنی ہے۔ اس حکمت عملی کو حکمت عملی کے سگنل کی خودکار تجارت کے لئے حکمت عملی کا استعمال کرتے ہوئے پائن اسکرپٹ کا استعمال کرتے ہوئے لکھا گیا ہے۔

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

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

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © syam-mohan-vs @ T7 - wwww.t7wealth.com www.t7trade.com
//This is an educational code done to describe the fundemantals of pine scritpting language and integration with Indian discount broker Dhan. This strategy is not tested or recommended for live trading. 

//@version=5
strategy("Pine & Dhan - Moving Average Crossover Strategy", overlay=true)

//Remove excess signals
exrem(condition1, condition2) =>
    temp = false
    temp := na(temp[1]) ? false : not temp[1] and condition1 ? true : temp[1] and condition2 ? false : temp[1]
    ta.change(temp) == true ? true : false

// Define MA period
ma_period = input(20, title = "MA Length")

// Define target and stop loss levels
target_percentage = input.float(title="Target Profit (%)", defval=2.0)
stop_loss_percentage = input.float(title="Stop Loss (%)", defval=1.0)

// Calculate the MA
ma = ta.sma(close, ma_period)

// Entry conditions
long_entry = close >= ma
short_entry = close < ma

// Calculate target and stop loss prices
target_price = long_entry ? strategy.position_avg_price + (close * (target_percentage / 100)) : strategy.position_avg_price - (close * (target_percentage / 100)) 
stop_loss_price = short_entry ? strategy.position_avg_price + (close * (stop_loss_percentage/ 100)) : strategy.position_avg_price - (close * (stop_loss_percentage / 100)) 

long_entry := exrem(long_entry,short_entry)
short_entry := exrem(short_entry,long_entry)

// Plot the MA
plot(ma, color=color.blue, linewidth=2, title="MA")

// Plot the entry and exit signals
plotshape(long_entry, style=shape.arrowup, color=color.green, size=size.small,location = location.belowbar)
plotshape(short_entry, style=shape.arrowdown, color=color.red, size=size.small,location = location.abovebar)

//Find absolute value of positon size to exit position properly
size = math.abs(strategy.position_size)

//Replace these four JSON strings with those generated from user Dhan account
long_msg = '{"secret":"C0B2u","alertType":"multi_leg_order","order_legs":[{"transactionType":"B","orderType":"MKT","quantity":"1","exchange":"NSE","symbol":"NIFTY1!","instrument":"FUT","productType":"I","sort_order":"1","price":"0"}]}'
long_exit_msg = '{"secret":"C0B2u","alertType":"multi_leg_order","order_legs":[{"transactionType":"S","orderType":"MKT","quantity":"1","exchange":"NSE","symbol":"NIFTY1!","instrument":"FUT","productType":"M","sort_order":"1","price":"0"}]}'
short_msg = '{"secret":"C0B2u","alertType":"multi_leg_order","order_legs":[{"transactionType":"S","orderType":"MKT","quantity":"1","exchange":"NSE","symbol":"NIFTY1!","instrument":"FUT","productType":"M","sort_order":"1","price":"0"}]}'
short_exit_msg = '{"secret":"C0B2u","alertType":"multi_leg_order","order_legs":[{"transactionType":"B","orderType":"MKT","quantity":"1","exchange":"NSE","symbol":"NIFTY1!","instrument":"FUT","productType":"M","sort_order":"1","price":"0"}]}'

// Submit orders based on signals
if(strategy.position_size == 0)
    if long_entry 
        strategy.order("Long", strategy.long,alert_message=long_msg)          

    if short_entry
        strategy.order("Short", strategy.short,alert_message=short_msg)        
    
if(strategy.position_size > 0)
    
    if(short_entry)
        strategy.order("Short", strategy.short, qty = size, alert_message=short_msg)     
    else
        strategy.exit("Long Exit", from_entry="Long", qty = size, stop=stop_loss_price, limit= target_price, alert_message=long_exit_msg)

if(strategy.position_size < 0)
    
    if(long_entry)
        strategy.order("Long", strategy.long, qty = size, alert_message=long_msg)    
    else           
        strategy.exit("Short Exit", from_entry="Short", qty = size, stop=stop_loss_price, limit= target_price, alert_message=short_exit_msg)