
یہ ایک رجحان سے باخبر رہنے کی حکمت عملی ہے جو 44 ادوار کی انڈیکس کی حرکت پذیری اوسط ((EMA) پر مبنی ہے۔ یہ حکمت عملی بنیادی طور پر بڑھتے ہوئے رجحان میں خریدنے کے مواقع کی تلاش کرتی ہے ، جس میں EMA کی جھلک ، چارٹ کی شکل اور قیمت کی واپسی جیسے متعدد شرائط کا تجزیہ کرکے داخلے کا وقت طے کیا جاتا ہے۔ حکمت عملی کا ڈیزائن 2 منٹ اور 5 منٹ جیسے مختصر وقت کی مدت کے لئے ہے ، جس کا مقصد مختصر مدت کی قیمتوں میں اتار چڑھاؤ میں تجارتی مواقع کو پکڑنا ہے۔
گوس کراس ای ایم اے ٹرینڈ سلائڈ پوائنٹ ٹریکنگ اسٹریٹجی ایک ٹرینڈ ٹریکنگ سسٹم ہے جس میں متعدد تکنیکی اشارے شامل ہیں۔ ای ایم اے ، چارٹ پیٹرن تجزیہ اور قیمتوں میں واپسی جیسے کثیر جہتی فیصلوں کے ذریعہ ، اس حکمت عملی میں بڑھتے ہوئے رجحانات کی نشاندہی کرنے اور داخلے کے وقت کو بہتر بنانے کے لئے اچھی صلاحیت ظاہر کی گئی ہے۔ تاہم ، صارفین کو ضرورت سے زیادہ تجارت کے خطرے پر قابو پانے اور مارکیٹ کے مختلف حالات کے لئے پیرامیٹرز کو بہتر بنانے پر توجہ دینے کی ضرورت ہے۔ اضافی تکنیکی اشارے متعارف کرانے اور خطرے کے انتظام کے طریقہ کار کو بہتر بنانے کے ذریعہ ، اس حکمت عملی کو قلیل مدتی تجارت میں زیادہ مستحکم کارکردگی کی توقع ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Custom Strategy with EMA and Candle Conditions", overlay=true)
// Define parameters
ema_length = 44
// Calculate EMA
ema_44 = ta.ema(close, ema_length)
// Calculate the slope of the EMA
ema_slope = ta.ema(close, ema_length) - ta.ema(close[9], ema_length)
// Define a threshold for considering the EMA flat
flat_threshold = 0.5
// Check if the EMA is flat or inclined
ema_is_inclined = math.abs(ema_slope) > flat_threshold
// Define the previous candle details
prev_candle_high = high[1]
prev_candle_low = low[1]
prev_candle_close = close[1]
prev_candle_open = open[1]
// Candle before the previous candle (for high comparison)
candle_before_prev_high = high[2]
// Current candle details
current_candle_high = high
current_candle_low = low
current_candle_close = close
current_candle_open = open
// Previous to previous candle details
prev_prev_candle_low = low[2]
// Previous candle body and wick length
prev_candle_body = math.abs(prev_candle_close - prev_candle_open)
prev_candle_wick_length = math.max(prev_candle_high - prev_candle_close, prev_candle_close - prev_candle_low)
// Calculate retrace level for the current candle
retrace_level = prev_candle_close - (prev_candle_close - prev_candle_low) * 0.5
// Check if the previous candle's wick is smaller than its body
prev_candle_condition = prev_candle_wick_length < prev_candle_body
// Check if the previous candle is a green (bullish) candle and if the previous candle's close is above EMA
prev_candle_green = prev_candle_close > prev_candle_open
prev_candle_red = prev_candle_close < prev_candle_open
prev_candle_above_ema = prev_candle_close > ema_44
// Entry condition: The current candle has retraced to 50% of the previous candle's range, previous candle was green and above EMA, and the high of the current candle is above the retrace level, and EMA is inclined
entry_condition = prev_candle_close > candle_before_prev_high and
prev_candle_green and
prev_candle_above_ema and
current_candle_low <= retrace_level and
current_candle_high >= retrace_level and ema_is_inclined
// Exit condition
exit_condition = (strategy.position_size > 0 and prev_candle_red) or (strategy.position_size > 0 and current_candle_low < prev_candle_low)
// Ensure only one trade is open at a time
single_trade_condition = strategy.position_size == 0
// Plot EMA for visualization
plot(ema_44, color=color.blue, title="44 EMA")
// Plot conditions for debugging
plotshape(series=entry_condition and single_trade_condition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=exit_condition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
// Print entry condition value on chart
var label entry_label = na
if (entry_condition and single_trade_condition)
entry_label := label.new(bar_index, low, text="Entry Condition: TRUE", color=color.green, textcolor=color.white, size=size.small, yloc=yloc.belowbar)
else
entry_label := label.new(bar_index, high, text="Entry Condition: FALSE", color=color.red, textcolor=color.white, size=size.small, yloc=yloc.abovebar)
// Debugging: Plot retrace level and other key values
plot(retrace_level, color=color.orange, title="Retrace Level")
plot(prev_candle_high, color=color.purple, title="Previous Candle High")
plot(candle_before_prev_high, color=color.yellow, title="Candle Before Previous High")
// Trigger buy order if entry condition and single trade condition are met
if (entry_condition and single_trade_condition)
strategy.entry("Buy", strategy.long)
// Trigger sell order if exit condition is met
if (exit_condition)
strategy.close("Buy")