متعدد اشاریوں کے بیچ منافع لینے والی تجارتی حکمت عملی کے بعد متحرک رجحان

EMA MACD RSI ATR
تخلیق کی تاریخ: 2025-02-10 14:49:11 آخر میں ترمیم کریں: 2025-02-10 14:49:11
کاپی: 2 کلکس کی تعداد: 378
1
پر توجہ دیں
1617
پیروکار

متعدد اشاریوں کے بیچ منافع لینے والی تجارتی حکمت عملی کے بعد متحرک رجحان

جائزہ

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

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

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

  1. انٹری سگنل متعدد تکنیکی اشارے فلٹرنگ کا استعمال کرتا ہے: فاسٹ ای ایم اے اور سست ای ایم اے کے ساتھ کراس ، میکڈ گولڈ فورک / ڈیڈ فورک سگنل اور آر ایس آئی اووربائڈ اوور سیل اشارے۔ کثیر سر انٹری کو فاسٹ ای ایم اے پر سست ای ایم اے ، میکڈ گولڈ فورک اور آر ایس آئی 70 سے کم سے گزرنا پڑتا ہے۔ خالی سر انٹری کو فاسٹ ای ایم اے کے نیچے سست ای ایم اے ، میکڈ ڈیڈ فورک اور آر ایس آئی 30 سے زیادہ سے گزرنا پڑتا ہے۔
  2. خطرہ کنٹرول ایک مقررہ تناسب سٹاپ نقصان کا استعمال کرتا ہے، جو پوزیشن کھولنے کی قیمت کے 5 فیصد پر مقرر کیا جاتا ہے۔
  3. بیچ اسٹاپ میکانیزم: پہلا اسٹاپ 8٪ پر ہے ، دوسرا اسٹاپ 12٪ پر ہے ، مارکیٹ میں اتار چڑھاؤ کو متحرک طور پر ایڈجسٹ کرکے دوسرا اسٹاپ کی پوزیشن کو ایڈجسٹ کرتا ہے۔
  4. پوزیشن مینجمنٹ اے ٹی آر متحرک حساب پر مبنی ہے ، جس میں 5٪ تک کا واحد زیادہ سے زیادہ خطرہ کنٹرول ہے ، اور زیادہ سے زیادہ پوزیشن 40٪ سے زیادہ نہیں ہے۔

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Hang Strategy Aggressive", overlay=true, initial_capital=1000, currency=currency.USDT, default_qty_type=strategy.cash, default_qty_value=100)

// === 参数设置 ===
fastLength = input.int(5, "快速EMA长度")
slowLength = input.int(15, "慢速EMA长度")
rsiLength = input.int(7, "RSI长度")
atrPeriod = input.int(10, "ATR周期")
leverageMultiple = input.float(3.0, "杠杆倍数", minval=1.0, step=0.5)

// === 止盈止损参数 ===
stopLossPercent = input.float(5.0, "止损百分比", minval=1.0, step=0.5)
firstTakeProfitPercent = input.float(8.0, "第一止盈点百分比", minval=1.0, step=0.5)
secondTakeProfitPercent = input.float(12.0, "第二止盈点百分比", minval=1.0, step=0.5)
firstTakeProfitQtyPercent = input.float(50.0, "第一止盈仓位百分比", minval=1.0, maxval=100.0, step=5.0)

// === 技术指标 ===
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
superFastEMA = ta.ema(close, 3)
rsi = ta.rsi(close, rsiLength)
atr = ta.atr(atrPeriod)

// === 趋势判断 ===
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
macdCross = (macdLine > signalLine) and (macdLine[1] < signalLine[1])
macdCrossDown = (macdLine < signalLine) and (macdLine[1] > signalLine[1])

// === 交易信号 ===
longCondition = (fastEMA > slowEMA) and macdCross and (rsi < 70)
shortCondition = (fastEMA < slowEMA) and macdCrossDown and (rsi > 30)

// === 平仓信号 ===
exitLong = shortCondition or (fastEMA < slowEMA)
exitShort = longCondition or (fastEMA > slowEMA)

// === 仓位管理 ===
maxRiskPerTrade = 0.05
basePosition = strategy.equity * maxRiskPerTrade
atrAmount = atr * close
riskPosition = basePosition / atrAmount * leverageMultiple
positionSize = math.min(riskPosition, strategy.equity * 0.4 / close)

// === 交易状态变量 ===
var isLong = false
var isShort = false
var partialTpTriggered = false
var float stopPrice = na
var float firstTpPrice = na
var float secondTpPrice = na
var float firstTpQty = na

// === 交易执行 ===
// 多头入场
if (longCondition and not isLong and not isShort)
    strategy.entry("多", strategy.long, qty=positionSize)
    isLong := true
    partialTpTriggered := false

// 空头入场
if (shortCondition and not isShort and not isLong)
    strategy.entry("空", strategy.short, qty=positionSize)
    isShort := true
    partialTpTriggered := false

// === 止盈止损逻辑 ===
if (strategy.position_size > 0)  // 多仓
    stopPrice := strategy.position_avg_price * (1 - stopLossPercent/100)
    firstTpPrice := strategy.position_avg_price * (1 + firstTakeProfitPercent/100)
    // 只在未触发第一止盈时计算第二止盈价格
    if not partialTpTriggered
        secondTpPrice := strategy.position_avg_price * (1 + secondTakeProfitPercent/100)
    
    if (close[1] <= stopPrice or low <= stopPrice)
        strategy.close_all("多止损")
        isLong := false
        partialTpTriggered := false
    
    if (not partialTpTriggered and (close[1] >= firstTpPrice or high >= firstTpPrice))
        strategy.order("多第一止盈", strategy.short, qty=firstTpQty)
        partialTpTriggered := true
        // 在这里重新计算第二止盈价格
        secondTpPrice := high * (1 + 0.04)  // 基于当前最高价再上涨4%
    
    if (close[1] >= secondTpPrice or high >= secondTpPrice)
        strategy.close_all("多第二止盈")
        isLong := false
        partialTpTriggered := false

if (strategy.position_size < 0)  // 空仓
    stopPrice := strategy.position_avg_price * (1 + stopLossPercent/100)
    firstTpPrice := strategy.position_avg_price * (1 - firstTakeProfitPercent/100)
    // 只在未触发第一止盈时计算第二止盈价格
    if not partialTpTriggered
        secondTpPrice := strategy.position_avg_price * (1 - secondTakeProfitPercent/100)
    
    if (close[1] >= stopPrice or high >= stopPrice)
        strategy.close_all("空止损")
        isShort := false
        partialTpTriggered := false
    
    if (not partialTpTriggered and (close[1] <= firstTpPrice or low <= firstTpPrice))
        strategy.order("空第一止盈", strategy.long, qty=firstTpQty)
        partialTpTriggered := true
        // 在这里重新计算第二止盈价格
        secondTpPrice := low * (1 - 0.04)  // 基于当前最低价再下跌4%
    
    if (close[1] <= secondTpPrice or low <= secondTpPrice)
        strategy.close_all("空第二止盈")
        isShort := false
        partialTpTriggered := false

// === 其他平仓条件 ===
if (exitLong and isLong)
    strategy.close_all("多平仓")
    isLong := false
    partialTpTriggered := false

if (exitShort and isShort)
    strategy.close_all("空平仓")
    isShort := false
    partialTpTriggered := false

// === 绘图 ===
plot(fastEMA, "快速EMA", color=color.blue)
plot(slowEMA, "慢速EMA", color=color.red)
plot(superFastEMA, "超快EMA", color=color.green)

// 绘制止盈止损线
plot(strategy.position_size != 0 ? strategy.position_avg_price : na, "开仓价", color=color.yellow)
plot(strategy.position_size != 0 ? stopPrice : na, "止损线", color=color.red)
plot(strategy.position_size != 0 ? firstTpPrice : na, "第一止盈线", color=color.green)
plot(strategy.position_size != 0 ? secondTpPrice : na, "第二止盈线", color=color.blue)