
یہ ایک کثیر سطحی خریداری کی حکمت عملی ہے جو تاریخی اعلی ترین قیمتوں (ATH) کی نقل و حرکت پر مبنی ہے۔ حکمت عملی قیمتوں کو اے ٹی ایچ سے پیچھے ہٹنے کی شدت کی نگرانی کرکے ، مختلف کمی کی سطح پر بیچ خریدنے کے لئے ، اور قیمتوں میں اے ٹی ایچ کے قریب آنے پر منافع کے ساتھ فروخت کرنے کے لئے۔ یہ حکمت عملی مارکیٹ کی اتار چڑھاؤ سے بھرپور فائدہ اٹھاتی ہے ، جس میں منظم بیچ اسٹورنگ کے ذریعہ مجموعی طور پر اسٹور ہولڈنگ لاگت کو کم کیا جاتا ہے۔
حکمت عملی کی بنیادی منطق میں درج ذیل کلیدی عناصر شامل ہیں:
یہ حکمت عملی مارکیٹ کی اتار چڑھاؤ کا اچھی طرح سے فائدہ اٹھاتی ہے ، جس میں منظم بیچوں کی تعمیر اور یکساں طور پر صاف کرنے کا طریقہ کار شامل ہے۔ حکمت عملی کا کامیاب عمل اس بات پر منحصر ہے کہ مارکیٹ میں کافی اتار چڑھاؤ اور بالآخر عروج کا رجحان ہو۔ حکمت عملی معقول خطرے کے کنٹرول اور پیرامیٹرز کی اصلاح کے ذریعہ مختلف مارکیٹ کے حالات میں مستحکم کارکردگی کو برقرار رکھ سکتی ہے۔
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
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/
// © bsticks22
//@version=6
strategy("Long-term Bean Dip (v.1)", overlay=true)
// === Inputs ===
dip1 = input.float(10.0, "First Dip (%)", step=0.1) // 10%
dip2 = input.float(15.0, "Second Dip (%)", step=0.1) // 15%
dip3 = input.float(20.0, "Third Dip (%)", step=0.1) // 20%
recovery_threshold = input.float(5.0, "Sell when within X% of ATH", step=0.1) // 5%
buy_amount = input.float(50000.0, "Buy Amount ($)", step=100) // $1000 increments
// === Variables ===
var float all_time_high = na
var bool dip1_bought = false
var bool dip2_bought = false
var bool dip3_bought = false
// === Update All-Time High ===
if na(all_time_high)
all_time_high := high
else
// Update ATH to the previous bar's high to exclude current bar's high
all_time_high := math.max(all_time_high[1], high[1])
if high[1] > all_time_high[1]
// New ATH reached on the previous bar
dip1_bought := false
dip2_bought := false
dip3_bought := false
// === Calculate Percentage Drop from ATH ===
percent_drop = (all_time_high - close) / all_time_high * 100.0
// === Define Dip Conditions ===
buyDip1 = (percent_drop >= dip1) and not dip1_bought
buyDip2 = (percent_drop >= dip2) and not dip2_bought
buyDip3 = (percent_drop >= dip3) and not dip3_bought
// === Calculate Quantity to Buy ===
qty1 = buy_amount / close
// === Execute Buys on Dips ===
if buyDip1
strategy.entry("Dip1 Buy", strategy.long, qty=qty1)
dip1_bought := true
if buyDip2
strategy.entry("Dip2 Buy", strategy.long, qty=qty1)
dip2_bought := true
if buyDip3
strategy.entry("Dip3 Buy", strategy.long, qty=qty1)
dip3_bought := true
// === Sell Condition: Recovery to Within X% of ATH ===
sell_condition = close >= all_time_high * (1 - recovery_threshold / 100.0)
// === Execute Sell on Recovery ===
if sell_condition and strategy.position_size > 0
strategy.close_all()
// === Plotting ===
plot(all_time_high, title="All-Time High", color=color.new(color.blue, 0))
plot(all_time_high * (1 - dip1 / 100.0), title="Dip1 Level", color=color.new(color.green, 50), style=plot.style_linebr)
plot(all_time_high * (1 - dip2 / 100.0), title="Dip2 Level", color=color.new(color.orange, 50), style=plot.style_linebr)
plot(all_time_high * (1 - dip3 / 100.0), title="Dip3 Level", color=color.new(color.red, 50), style=plot.style_linebr)
plot(all_time_high * (1 - recovery_threshold / 100.0), title="Recovery Level", color=color.new(color.purple, 50), style=plot.style_linebr)
// === Plot Buy and Sell Signals ===
plotshape(buyDip1, title="Dip1 Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy10%")
plotshape(buyDip2, title="Dip2 Buy", location=location.belowbar, color=color.orange, style=shape.labelup, text="Buy15%")
plotshape(buyDip3, title="Dip3 Buy", location=location.belowbar, color=color.red, style=shape.labelup, text="Buy20%")
plotshape(sell_condition and strategy.position_size > 0, title="Sell", location=location.abovebar, color=color.purple, style=shape.labeldown, text="Sell")
// === Alerts ===
alertcondition(buyDip1, title="Dip1 Buy", message="Price dipped 10% from ATH, buying $1000")
alertcondition(buyDip2, title="Dip2 Buy", message="Price dipped 15% from ATH, buying $1000")
alertcondition(buyDip3, title="Dip3 Buy", message="Price dipped 20% from ATH, buying $1000")
alertcondition(sell_condition and strategy.position_size > 0, title="Sell at Recovery", message="Price recovered to within 5% of ATH, selling all")