متحرک DCA پر مبنی کریپٹو کرنسی مقداری تجارتی حکمت عملی

DCA TP SO (Safety Orders) API OHLC4 HL2 HL3 ROI
تخلیق کی تاریخ: 2025-02-19 16:59:45 آخر میں ترمیم کریں: 2025-02-27 17:56:06
کاپی: 1 کلکس کی تعداد: 462
2
پر توجہ دیں
319
پیروکار

متحرک DCA پر مبنی کریپٹو کرنسی مقداری تجارتی حکمت عملی متحرک DCA پر مبنی کریپٹو کرنسی مقداری تجارتی حکمت عملی

جائزہ

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

حکمت عملی کا اصول

حکمت عملی میں چار بنیادی ماڈیولز شامل ہیں:

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

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

حکمت عملی کی اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2020-08-29 15:00:00
end: 2025-02-18 17:22:45
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/

//@version=5
strategy('Autotrade.it DCA', overlay=true, pyramiding=999, default_qty_type=strategy.cash, initial_capital=10000, commission_value=0.02)

// Date Ranges
from_month = 1
from_day = 1
from_year = 2021
to_month = 1
to_day = 1
to_year = 9999
start = timestamp(from_year, from_month, from_day, 00, 00)  // backtest start window
finish = timestamp(to_year, to_month, to_day, 23, 59)  // backtest finish window
window = time >= start and time <= finish ? true : false  // create function "within window of time"

source_type = 'OHLC4'
source_function(type) =>
    if type == 'Close'
        close
    else if type == 'Open'
        open
    else if type == 'High'
        high
    else if type == 'Low'
        low
    else if type == 'HL2'
        hl2
    else if type == 'HL3'
        hlc3
    else if type == 'OHLC4'
        ohlc4
    else if type == 'Median Body'
        (open + close) / 2
    else if type == 'Weighted Close'
        (high + low + 2 * close) / 4
    else if type == 'Trend Biased'
        close > open ? (high + close) / 2 : (low + close) / 2
    else if type == 'Trend Biased Extreme'
        close > open ? high : low
truncate(number, decimals) =>
    factor = math.pow(10, decimals)
    int(number * factor) / factor
// Strategy Inputs
price_deviation = input.float(1.0, title='Price deviation to open safety orders (%)', minval=0.0) / 100
take_profit = 1.0 / 100
base_order = 10.0
safe_order = 10.0
safe_order_volume_scale = 1.1
safe_order_step_scale = 1.1
max_safe_order = 30

var current_so = 0
var initial_order = 0.0
var previous_high_value = 0.0
var original_ttp_value = 0.0
// Calculate our key levels
take_profit_level = strategy.position_avg_price * (1 + take_profit)
startTrade = input.int(defval=1, title='Trade Start')
margin = input.float(title='Margin', defval=1, step=1, tooltip='USDT')
leverage = input.int(title='Leverage', defval=50, tooltip='it only used on futures trade')
multi = 1.125
var float multiplier = 1
symbol = str.replace_all(syminfo.ticker, '.P', '')
var float totalMargin = 0.0
var bool isTrade =false
var float totalPrice = 0.0
var int totalTrade = 0
var float totalQtys = 0
var float sellPrice = 0
var float sellQty = 0


// // First Position
if strategy.position_size == 0 and window and source_function(source_type) > 0 and previous_high_value == 0.0
    strategy.entry('No Position', strategy.long, qty=base_order / source_function(source_type))
    initial_order := source_function(source_type)
    current_so := 1
    previous_high_value := 0.0
    original_ttp_value := 0
    original_ttp_value

threshold = 0.0
if safe_order_step_scale == 1.0
    threshold := initial_order - initial_order * price_deviation * safe_order_step_scale * current_so
    threshold
else
    threshold := initial_order - initial_order * ((price_deviation * math.pow(safe_order_step_scale, current_so) - price_deviation) / (safe_order_step_scale - 1))
    threshold

// Average Down
if current_so > 0 and source_function(source_type) <= threshold and current_so <= max_safe_order and previous_high_value == 0.0
    if(startTrade<=current_so)
        margin := math.round(margin * multiplier * 100) / 100
        multiplier *= multi
        totalMargin += margin
        avePrice = (totalPrice/totalTrade)
        qty = margin*leverage/close
        isTrade := true
        totalPrice+=close
        totalTrade+=1
        totalQtys+=qty
        alert('{"category": "linear", "mode": 3, "tradeMode": 0, "symbol": "' + str.tostring(symbol) + '", "leverage": "' + str.tostring(leverage) + '", "side": "Buy", "orderType": "Market", "marketUnit": "quoteCoin", "qty": "' + str.tostring(margin) + '", "reduceOnly": false, "positionIdx": 1 }')
        strategy.entry('Trade # ' + str.tostring(current_so) +"---Margin: $" + str.tostring(margin), direction=strategy.long, qty=safe_order * math.pow(safe_order_volume_scale, current_so - 1) / source_function(source_type))
    else
        strategy.entry('Trade # ' + str.tostring(current_so) +" No position", direction=strategy.long, qty=safe_order * math.pow(safe_order_volume_scale, current_so - 1) / source_function(source_type))
    current_so += 1
    current_so


// Take Profit!
if take_profit_level <= source_function(source_type) and strategy.position_size > 0 or previous_high_value > 0.0
    if(isTrade)
        avePrice = totalMargin * leverage / totalQtys * 1.002  // Include fee directly
        percentGain = math.round((close - avePrice) / avePrice * 100 * 100) / 100
        gain = math.round(percentGain * leverage * totalMargin / 100 * 100) / 100
        isTrade := false
        sellPrice := avePrice*0.95
        sellQty := totalMargin * leverage/sellPrice
        loop = current_so-1
        testQty = sellQty/loop
        strategy.close_all(comment= "Take Profit: $" + str.tostring(gain))
        alert('{"category": "linear", "mode": 3, "tradeMode": 0, "symbol": "' + str.tostring(symbol) + '", "leverage": "' + str.tostring(testQty) + '", "side": "Sell", "orderType": "Market", "marketUnit": "baseCoin", "qty": "' + str.tostring(sellQty) + '", "reduceOnly": true, "positionIdx": 1, "loop": "' + str.tostring(loop) + '" }')
                    
    else
        strategy.close_all(comment='No Position')
    current_so := 0
    previous_high_value := 0
    original_ttp_value := 0
    multiplier:=1
    totalMargin:=0.0
    totalPrice:=0
    totalTrade:=0
    totalQtys:=0