قمری مرحلے پر مبنی بٹ کوائن ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-01-15 12:31:06
ٹیگز:

img

جائزہ

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

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

اس حکمت عملی کا بنیادی منطق قمری مرحلے کے مختلف مراحل کی بنیاد پر طویل یا مختصر مواقع کا تعین کرنا ہے۔ قمری مرحلے کا حساب اس طرح کیا جاتا ہے:

قمری مرحلے کی لمبائی = 29.5305882 دن مکمل چاند کے وقت کو دیکھتے ہوئے، اس مکمل چاند سے موجودہ وقت تک دنوں کی تعداد کا حساب لگایا جا سکتا ہے
قمری عمر = چاند کے مکمل ہونے کے بعد سے دن معلوم ہیں ٪ قمری مرحلے کی مدت قمری مرحلے کی قیمت = (1 + cos(قمر کی عمر / قمری مرحلے کی سائیکل کی لمبائی * 2 * π)) / 2

چاند کے مرحلے کی قدر 0 سے 1 کے درمیان اتار چڑھاؤ کرتی ہے۔ قدر جتنی زیادہ ہوگی اس کا مطلب چاند کی مکمل روشنی کے قریب ہوگا ، جبکہ قدر جتنی کم ہوگی اس کا مطلب چاند کی نئی روشنی کے قریب ہوگا۔

حکمت عملی قمری مرحلے کی حدوں کی بنیاد پر طویل یا مختصر مواقع کا فیصلہ کرتی ہے۔ اگر قمری مرحلے کی قیمت طویل حد سے زیادہ ہے (ڈیفالٹ 0.51) ، تو طویل ہونے کا امکان ہے۔ اگر قمری مرحلے کی قیمت مختصر حد سے کم ہے (ڈیفالٹ 0.49) ، تو مختصر ہونے کا امکان ہے۔

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

فوائد کا تجزیہ

اس حکمت عملی کے اہم فوائد:

  1. منفرد قمری مرحلے ٹریڈنگ سگنل کا استعمال کریں، کسی حد تک مارکیٹ میں ہیرا پھیری سے بچیں
  2. مارکیٹ کی حالت کا تعین کرنے کے لئے اشارے کو یکجا کریں، غیر سازگار ماحول میں تجارت سے بچیں
  3. مناسب پوزیشن سائز کا حساب کرنے کے لئے اے ٹی آر کا استعمال کریں، فی تجارت زیادہ سے زیادہ نقصان کو مؤثر طریقے سے کنٹرول کریں
  4. بڑے نقصان کو روکنے کے لئے ڈراؤ ڈاؤن سٹاپ نقصان مقرر کریں
  5. او بی وی کے ساتھ فنڈز کے بہاؤ کی سمت کا فیصلہ کریں ، رجحان کے خلاف تجارت سے گریز کریں
  6. منافع میں تالا لگانے کے لئے ٹریلنگ اسٹاپ نقصان مقرر کریں

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

خطرے کا تجزیہ

اس حکمت عملی کے اہم خطرات میں شامل ہیں:

  1. قمری مرحلے اور مارکیٹ کی نقل و حرکت کبھی کبھار ناکام ہوسکتی ہے
  2. غیر مناسب ڈراؤنڈ اسٹاپ نقصان سے حکمت عملی کو قبل از وقت روک دیا جا سکتا ہے
  3. ایم اے سی ڈی، آر ایس آئی سے غلط سگنل کا امکان
  4. غلط ٹریلنگ اسٹاپ نقصان سے حکمت عملی میں زیادہ منافع کی کمی واقع ہوسکتی ہے

ان خطرات پر قابو پانے کے لیے مندرجہ ذیل اقدامات کئے جا سکتے ہیں:

  1. درست قمری سگنل کو یقینی بنانے کے لئے قمری مرحلے کی حد کو ایڈجسٹ کریں
  2. ٹیسٹ متعدد ڈراؤنڈ سٹاپ نقصان پیرامیٹرز اور بہترین منتخب کریں
  3. سگنلز کو موثر انداز میں پیدا کرنے کے لئے MACD اور RSI پیرامیٹرز کو ٹھیک کریں
  4. زیادہ سے زیادہ منافع کے لئے ٹریلنگ سٹاپ نقصان کے پیرامیٹرز کے متعدد سیٹ کی جانچ کریں

پیرامیٹر کی اصلاح اور مشترکہ اشارے کے ذریعے تجارتی خطرات کو بڑی حد تک کم کیا جاسکتا ہے۔

اصلاح کی ہدایات

اس حکمت عملی کو مزید بہتر بنانے کے لئے ابھی بھی گنجائش ہے:

  1. بہترین حد تلاش کرنے کے لئے مختلف قمری پیرامیٹرز کی جانچ کریں
  2. مجموعی تجارت کے لئے زیادہ اشارے کو یکجا کرنے کی کوشش کریں اور کارکردگی کو بہتر بنائیں
  3. خطرات اور منافع کو متوازن کرنے کے لئے سٹاپ نقصان کے میکانزم پیرامیٹرز کو بہتر بنائیں
  4. عام کرنے کی صلاحیت کو جانچنے کے لئے مزید تجارتی اثاثوں میں توسیع کریں

نتیجہ

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


/*backtest
start: 2023-01-08 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Lunar Phase Strategy by Symphoenix", overlay=true)

// Input parameters
start_year = input(2023, title="Start year")
end_year = input(2023, title="End year")
longPhaseThreshold = input(0.51, title="Long Phase Threshold")
shortPhaseThreshold = input(0.49, title="Short Phase Threshold")
riskPerTrade = input(0.05, title="Risk Per Trade (as a % of Equity)")
stopLossPerc = input(0.01, title="Stop Loss Percentage")
atrLength = input(21, title="ATR Length for Volatility")
trailPerc = input(0.1, title="Trailing Stop Percentage")
maxDrawdownPerc = input(0.1, title="Maximum Drawdown Percentage")
volumeLength = input(7, title="Volume MA Length")

// Constants for lunar phase calculation and ATR
atr = ta.atr(atrLength)
volMA = ta.sma(volume, volumeLength) // Volume moving average

// Improved Lunar Phase Calculation
calculateLunarPhase() =>
    moonCycleLength = 29.5305882
    daysSinceKnownFullMoon = (time - timestamp("2019-12-12T05:12:00")) / (24 * 60 * 60 * 1000)
    lunarAge = daysSinceKnownFullMoon % moonCycleLength
    phase = ((1 + math.cos(lunarAge / moonCycleLength * 2 * math.pi)) / 2)
    phase

lunarPhase = calculateLunarPhase()

// Advanced Volume Analysis
priceChange = ta.change(close)
obv = ta.cum(priceChange > 0 ? volume : priceChange < 0 ? -volume : 0)

// Additional Technical Indicators
rsi = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Calculate Position Size based on Volatility and Account Equity
calculatePositionSize() =>
    equity = strategy.equity
    riskAmount = equity * riskPerTrade
    positionSize = riskAmount / atr
    if positionSize > 1000000000000
        positionSize := 1000000000000
    positionSize

positionSize = calculatePositionSize()

// Maximum Drawdown Tracking
var float maxPortfolioValue = na
maxPortfolioValue := math.max(maxPortfolioValue, strategy.equity)
drawdown = (maxPortfolioValue - strategy.equity) / maxPortfolioValue

// Check for maximum drawdown
if drawdown > maxDrawdownPerc
    strategy.close_all()
    strategy.cancel_all()

// Volume Analysis
isVolumeConfirmed = volume > volMA

// Date Check for Backtesting Period
isWithinBacktestPeriod = year >= start_year and year <= end_year

// Entry and Exit Conditions
// Adjusted Entry and Exit Conditions
longCondition = lunarPhase > longPhaseThreshold and lunarPhase < 0.999 and isVolumeConfirmed and obv > obv[1] and rsi < 70 and macdLine > signalLine and isWithinBacktestPeriod
shortCondition = lunarPhase < shortPhaseThreshold and lunarPhase > 0.001 and isVolumeConfirmed and obv < obv[1] and rsi > 30 and macdLine < signalLine and isWithinBacktestPeriod

if longCondition
    if strategy.position_size < 0
        strategy.close_all()
    if strategy.position_size < positionSize
        strategy.entry("Long", strategy.long, qty=positionSize)
        strategy.exit("Exit Long", "Long", trail_offset=atr * trailPerc, trail_points=atr)

if shortCondition
    if strategy.position_size > 0
        strategy.close_all()
    if strategy.position_size > -positionSize
        strategy.entry("Short", strategy.short, qty=positionSize)
        strategy.exit("Exit Short", "Short", trail_offset=atr * trailPerc, trail_points=atr)

// Implementing Stop-Loss Logic
longStopLoss = strategy.position_avg_price * (1 - stopLossPerc)
shortStopLoss = strategy.position_avg_price * (1 + stopLossPerc)

if strategy.position_size > 0 and close < longStopLoss
    strategy.close("Long")

if strategy.position_size < 0 and close > shortStopLoss
    strategy.close("Short")


مزید