یہ حکمت عملی مارکیٹ کے رجحان کی سمت کی نشاندہی کرنے کے لئے مختلف ادوار کے تین چلتے ہوئے اوسط استعمال کرتی ہے۔ یہ اس پوزیشن میں داخل ہوتا ہے جب تین چلتے ہوئے اوسط ایک ہی سمت میں چل رہے ہیں۔ اسی وقت ، حالیہ N موم بتیوں کی سب سے زیادہ یا کم قیمت کے ساتھ مل کر ، یہ اسٹاپ نقصان اور منافع حاصل کرتا ہے۔
طویل مدتی ، درمیانی مدتی اور قلیل مدتی تین چلتی اوسطوں کا حساب لگائیں۔ صارفین خود ہی ادوار طے کرسکتے ہیں۔ ڈیفالٹ اقدار 20 ، 10 اور 5 ہیں۔
تینوں متحرک اوسط کی سمتوں کا موازنہ کریں۔ جب قلیل مدتی متحرک اوسط درمیانی مدت کے اوپر عبور کرتا ہے ، اور درمیانی مدت طویل مدتی کے اوپر عبور کرتی ہے ، تو اسے بیل مارکیٹ کہا جاتا ہے۔ جب مختصر مدت درمیانی مدت سے نیچے عبور کرتی ہے ، اور درمیانی مدت طویل مدتی سے نیچے عبور کرتی ہے ، تو اسے ریچھ مارکیٹ کہا جاتا ہے۔
ایک بیل مارکیٹ میں ، اگر قیمت تازہ ترین N موم بتیوں کی سب سے زیادہ قیمت کو توڑ دیتی ہے تو ، طویل عرصے تک جائیں۔ ایک ریچھ مارکیٹ میں ، اگر قیمت تازہ ترین N موم بتیوں کی سب سے کم قیمت کو توڑ دیتی ہے تو ، مختصر ہوجائیں۔ N صارفین کے ذریعہ بھی ایک مرضی کے مطابق پیرامیٹر ہے۔
کسی پوزیشن میں داخل ہونے کے بعد ، اسٹاپ نقصان مقرر کریں اور منافع حاصل کریں۔ بیل مارکیٹ میں اسٹاپ نقصان کو حالیہ N موم بتیوں کی سب سے کم قیمت اور ریچھ مارکیٹ میں سب سے زیادہ قیمت کے طور پر مقرر کیا گیا ہے۔
اس حکمت عملی میں حرکت پذیر اوسط اشارے اور موم بتی کے چارٹ کو جوڑ دیا گیا ہے ، جو مارکیٹ کے رجحان کو بہتر طور پر طے کرسکتا ہے۔ اسی وقت ، اسٹاپ نقصان اور منافع حاصل کرنے کی ترتیب معقول ہے ، جو بڑے نقصانات سے بچنے کے لئے موزوں ہے۔
ایک واحد حرکت پذیر اوسط اور دیگر اشارے کے مقابلے میں ، یہ حکمت عملی مارکیٹ کے رجحان کو زیادہ قابل اعتماد انداز میں اندازہ کرنے کے لئے تین حرکت پذیر اوسط استعمال کرتی ہے۔ دریں اثنا ، حالیہ N موم بتیوں کی سب سے زیادہ یا کم قیمت کو توڑنے پر پوزیشن میں داخل ہونا ایک عام بریک آؤٹ حکمت عملی ہے۔ مجموعی طور پر ، حکمت عملی کا خیال واضح اور لاگو کرنا آسان ہے۔
اس حکمت عملی کے اہم ممکنہ خطرات یہ ہیں:
تینوں چلتی اوسطوں کی سمت پر غلط فیصلے کا امکان۔ اگر درمیانی مدت کے چلتے اوسط غلط سگنل پیدا کرتے ہیں تو ، غیر ضروری نقصانات پیدا ہوسکتے ہیں۔
پوزیشن میں داخل ہونے کے لئے وقت کا غلط انتخاب ، جس میں پھنس جانا آسان ہے۔ اندراجات کے وقت کو مناسب طریقے سے بہتر بنایا جانا چاہئے۔
اسٹاپ نقصان کا فاصلہ بہت چھوٹا ہے۔ اسٹاپ نقصان کا فاصلہ بڑھانے سے قیمت کے لئے زیادہ چلانے کی جگہ کی اجازت ملتی ہے۔
اس حکمت عملی کو بہتر بنانے کی سمتوں میں شامل ہیں:
فلٹرنگ کے لئے دوسرے اشارے شامل کریں تاکہ حرکت پذیر اوسط سگنلز کی وشوسنییتا کو یقینی بنایا جاسکے۔ مثال کے طور پر ، تجارتی حجم کا لمبا / مختصر فیصلہ شامل کریں۔
مختلف مصنوعات کو بہتر طور پر اپنانے کے لئے گھومنے والے اوسط ادوار کو بہتر بنائیں۔
خودکار پیرامیٹر اصلاح حاصل کرنے کے لئے مشین لرننگ الگورتھم شامل کریں.
ہائی فریکوئینسی ڈیٹا پر اس حکمت عملی کی تاثیر کا تجربہ کریں۔
یہ حکمت عملی نسبتا simple آسان اور عالمگیر ہے۔ خیال مضبوط فزیبلٹی کے ساتھ واضح ہے۔ ایک حرکت پذیر اوسط کراس اوور سسٹم کی ایک مثال کے طور پر ، یہ ابتدائیوں کے لئے ایک عام انتخاب ہے۔ مناسب اصلاح کے ذریعے ، نظام کو زیادہ مصنوعات اور وقت کے فریموں پر لاگو کیا جاسکتا ہے تاکہ مستحکم واپسی حاصل کی جاسکے۔
/*backtest start: 2023-01-30 00:00:00 end: 2024-02-05 00:00:00 period: 1d basePeriod: 1h 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/ // © hobbiecode //@version=5 strategy("Cross Breakout - Hobbiecode", shorttitle="Cross - HOBBIE", overlay=true) // User-defined input for moving averages long_period = input(20, title="Long Period") medium_period = input(10, title = "Medium Period") short_period = input(5, title="Short Period") type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"]) candles_back = input(10, title = "Candles Back") bars_valid = input(3, title = "Bars to Exit") // Calculating moving averages long_ma = 0.0 medium_ma = 0.0 short_ma = 0.0 if type_ma == "SMA" long_ma := ta.sma(close, long_period) medium_ma := ta.sma(close, medium_period) short_ma := ta.sma(close, short_period) else long_ma := ta.ema(close, long_period) medium_ma := ta.ema(close, medium_period) short_ma := ta.ema(close, short_period) // Plot moving averages plot(long_ma, title="Long Moving Average", color=color.red) plot(medium_ma, title = "Medium Moving Average", color = color.yellow) plot(short_ma, title="Short Moving Average", color=color.green) // Check last min/max last_min = ta.lowest(candles_back) last_max = ta.highest(candles_back) // Strategy logic for crossing of moving averages longCondition = short_ma > medium_ma and medium_ma > long_ma and high == last_max shortCondition = short_ma < medium_ma and medium_ma < long_ma and low == last_min longCondition_entry = longCondition and strategy.position_size == 0 shortCondition_entry = shortCondition and strategy.position_size == 0 // Check last min/max for operation last_min_op = ta.lowest(candles_back)[1] last_max_op = ta.highest(candles_back)[1] // Plot lines var line r1Line = na // Entry orders // if (longCondition) // from_line = chart.point.now(high) // to_line = chart.point.from_index(bar_index + candles_back, high) // r1Line := line.new(from_line, to_line, color = color.green, width = 2) if longCondition_entry and ta.crossover(close,last_max_op) strategy.entry("Long", strategy.long) strategy.exit("Exit Long", from_entry="Long", stop=low) // if (shortCondition) // from_line = chart.point.now(low) // to_line = chart.point.from_index(bar_index + candles_back, low) // r1Line := line.new(from_line, to_line, color = color.red, width = 2) if shortCondition_entry and ta.crossunder(close,last_min_op) strategy.entry("Short", strategy.short) strategy.exit("Exit Short", from_entry="Short", stop=high) if ta.barssince(longCondition_entry) >= bars_valid strategy.close("Long") if ta.barssince(shortCondition_entry) >= bars_valid strategy.close("Short")