حرکت پذیر اوسط بریک آؤٹ حکمت عملی ایک قلیل مدتی تجارتی حکمت عملی ہے جو اندراجات اور باہر نکلنے کا تعین کرنے کے لئے حرکت پذیر اوسط کا استعمال کرتی ہے۔ اس کی خصوصیت اس کی سادگی اور استعمال میں آسانی ہے۔
بنیادی منطق قیمتوں کے رجحان کا اندازہ کرنے کے لئے دو حرکت پذیر اوسط ، ایک تیز لائن اور ایک سست لائن پر انحصار کرتی ہے۔ تیز لائن کی مدت کم ہے اور زیادہ حساس ہے۔ سست لائن کی مدت زیادہ ہے اور زیادہ مستحکم ہے۔
یہ کوڈ صارفین کو ان پٹ پیرامیٹرز کے ذریعے تیز لائن مدت shortPeriod اور سست لائن مدت longPeriod کی ترتیب دینے کی اجازت دیتا ہے۔ دو حرکت پذیر اوسط کی اقدار کا حساب shortSMA اور longSMA کے طور پر کیا جاتا ہے۔
جب تیز رفتار حرکت پذیر اوسط سست حرکت پذیر اوسط سے اوپر جاتا ہے تو ، اس سے اوپر کی توڑ اور طویل اندراج کی نشاندہی ہوتی ہے۔ جب تیز رفتار ایم اے سست ایم اے سے نیچے جاتا ہے تو ، اس سے نیچے کی توڑ اور مختصر اندراج کی نشاندہی ہوتی ہے۔
طویل اندراج کی شرط:
Fast MA crosses above slow MA
Fast MA > Slow MA
مختصر اندراج کی شرط:
Fast MA crosses below slow MA
Fast MA < Slow MA
اسٹریٹجی میں خطرات کو کنٹرول کرنے کے لئے اسٹاپ نقصان ، منافع حاصل کرنے اور پوزیشن سائزنگ کی ترتیبات بھی شامل ہیں۔
خطرے کا انتظام:
چلتی اوسط بریکآؤٹ حکمت عملی کو سمجھنا آسان ہے ، تیز اور سست ایم اے کے ساتھ سگنل تیار کرتی ہے۔ لیکن اس میں غلط وقفے اور تاخیر کے مسائل جیسے کچھ نقائص بھی ہیں۔ پیرامیٹر ٹوننگ ، اضافی فلٹرز اور دیگر بہتریوں کے ساتھ ، حکمت عملی کو بہتر بنایا جاسکتا ہے۔ مجموعی طور پر یہ ابتدائی دوستانہ پہلا قدم ہے الگورتھم ٹریڈنگ میں ، اور بنیادی تصورات کو سمجھنے کے بعد زیادہ جدید حکمت عملیوں کی راہ ہموار کرتا ہے۔
/*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")