وسائل لوڈ ہو رہے ہیں... لوڈنگ...

حرکت پذیر اوسط بریک آؤٹ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-26 16:18:37
ٹیگز:

جائزہ

حرکت پذیر اوسط بریک آؤٹ حکمت عملی ایک قلیل مدتی تجارتی حکمت عملی ہے جو اندراجات اور باہر نکلنے کا تعین کرنے کے لئے حرکت پذیر اوسط کا استعمال کرتی ہے۔ اس کی خصوصیت اس کی سادگی اور استعمال میں آسانی ہے۔

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

بنیادی منطق قیمتوں کے رجحان کا اندازہ کرنے کے لئے دو حرکت پذیر اوسط ، ایک تیز لائن اور ایک سست لائن پر انحصار کرتی ہے۔ تیز لائن کی مدت کم ہے اور زیادہ حساس ہے۔ سست لائن کی مدت زیادہ ہے اور زیادہ مستحکم ہے۔

یہ کوڈ صارفین کو ان پٹ پیرامیٹرز کے ذریعے تیز لائن مدت shortPeriod اور سست لائن مدت longPeriod کی ترتیب دینے کی اجازت دیتا ہے۔ دو حرکت پذیر اوسط کی اقدار کا حساب shortSMA اور longSMA کے طور پر کیا جاتا ہے۔

جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے اوپر جاتا ہے تو ، اس سے اوپر کی توڑ اور طویل اندراج کی نشاندہی ہوتی ہے۔ جب تیز رفتار ایم اے سست ایم اے سے نیچے جاتا ہے تو ، اس سے نیچے کی توڑ اور مختصر اندراج کی نشاندہی ہوتی ہے۔

طویل اندراج کی شرط:

Fast MA crosses above slow MA
Fast MA > Slow MA

مختصر اندراج کی شرط:

Fast MA crosses below slow MA
Fast MA < Slow MA 

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

فوائد

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

خطرات

  • جھوٹے بریک آؤٹ اور وِپساؤ کے لئے حساس
  • رینج سے منسلک متضاد مارکیٹوں کے لئے مثالی نہیں
  • تاخیر کا اشارہ، اندراجات میں تاخیر ہو سکتی ہے
  • رجحان کی تبدیلیوں کو مؤثر طریقے سے فلٹر کرنے میں ناکام

خطرے کا انتظام:

  • غلط سگنل سے بچنے کے لئے فلٹرز شامل کریں
  • جب رجحان واضح ہو تو حکمت عملی کا اطلاق کریں
  • بہتر اندراجات کے لئے ایم اے پیرامیٹرز کو بہتر بنائیں
  • جلد روکنے سے بچنے کے لئے وسیع رکاوٹوں کی اجازت دیں

بہتر مواقع

  • بہترین مجموعے تلاش کرنے کے لئے ایم اے پیرامیٹرز کو بہتر بنائیں
  • اضافی اشارے شامل کریں جیسے BOLL چینلز یا KD
  • منافع کو زیادہ سے زیادہ کرنے کے لئے باہر نکلنے کے قوانین کو بہتر بنائیں
  • مختلف آلات پر ٹیسٹ استحکام
  • بڑے اعداد و شمار کا استعمال کرتے ہوئے مشین لرننگ کو شامل کریں

نتیجہ

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


/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 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/
// © YohanNaftali

//@version=5

///////////////////////////////////////////////////////////////////////////////
// Heikin Ashi Candle Startegy
// ver 2021.12.29
// © YohanNaftali
// This script composed by Yohan Naftali for educational purpose only 
// Reader who will use this signal must do own research
///////////////////////////////////////////////////////////////////////////////
strategy(
     title = 'Heikin Ashi Candle Startegy Long',  
     shorttitle = 'HA Strategy Long',  
     format = format.price,
     precision = 0,
     overlay = true)

// Input
validationPeriod = input.int( 
     defval = 3, 
     title = 'Validation Period', 
     group = 'Candle')

qtyOrder = input.float(
     defval = 1.0,
     title = 'Qty', 
     group = 'Order')

maxActive = input.float(
     defval = 1.0,
     title = 'Maximum Active Open Position', 
     group = 'Order')

// Long Strategy
tpLong = input.float(
     defval = 1,
     title = "Take Profit (%)",
     minval = 0.0, 
     step = 0.1, 
     group = "Long") * 0.01

slLong = input.float(
     defval = 25,
     title = "Stop Loss (%)", 
     minval=0.0, 
     step=0.1,
     group="Long") * 0.01

trailingStopLong = input.float(
     defval = 0.2,
     title = "Trailing Stop (%)",
     minval = 0.0, 
     step = 0.1,
     group = 'Long') * 0.01

// Calculation
haTicker = ticker.heikinashi(syminfo.tickerid)
haClose = request.security(haTicker, timeframe.period, close)
haOpen = request.security(haTicker, timeframe.period, open)

// Long
limitLong = tpLong > 0.0 ? strategy.position_avg_price * (1 + tpLong) : na
stopLong = slLong > 0.0 ? strategy.position_avg_price * (1 - slLong) : na
float trailLong = 0.0
trailLong := if strategy.position_size > 0
    trailClose = close * (1 - trailLong)
    math.max(trailClose, trailLong[1])
else
    0

isGreen = true
for i = 0 to validationPeriod-1
    isGreen := isGreen and haClose[i] > haOpen[i]        
isLong = isGreen and haClose[validationPeriod] < haOpen[validationPeriod]



plot(
     limitLong,
     title = 'Limit', 
     color = color.rgb(0, 0, 255, 0), 
     style = plot.style_stepline,
     linewidth = 1)

plot(
     trailLong,
     title = 'Trailing', 
     color = color.rgb(255, 255, 0, 0), 
     style = plot.style_stepline,
     linewidth = 1)

plot(
     stopLong,
     title = 'Stop', 
     style = plot.style_stepline,
     color = color.rgb(255, 0, 0, 0), 
     linewidth = 1)

// plotshape(
//      isLong, 
//      title = 'Entry', 
//      style = shape.arrowup, 
//      location = location.belowbar, 
//      offset = 1, 
//      color = color.new(color.green, 0), 
//      text = 'Long Entry',
//      size = size.small)

// Strategy
strategy.risk.max_position_size(maxActive)
strategy.risk.allow_entry_in(strategy.direction.long)

strategy.entry(
     id = "Long", 
     direction = strategy.long, 
     qty = qtyOrder,  
     when = isLong,       
     alert_message = "LN")
if (strategy.position_size > 0)
    strategy.exit(
         id = "Long Exit",
         from_entry = "Long",
         limit = limitLong,
         stop = stopLong,
         trail_price = trailLong,
         alert_message = "LX")      

مزید