وسائل لوڈ ہو رہے ہیں... لوڈنگ...

موجودہ رجحان حکمت عملی کے بعد رجحان

مصنف:چاؤ ژانگ، تاریخ: 2023-09-21 15:00:08
ٹیگز:

جائزہ

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

یہ کیسے کام کرتا ہے

اسٹریٹیجی میں دو حصے ہیں:

  1. اپنی مرضی کے مطابق آر ایس آئی یا ایم ایف آئی اشارے: یہ اشارے آر ایس آئی یا ایم ایف آئی کی بنیاد پر ایک موجودہ رجحان کی قیمت کا حساب لگاتا ہے، اس کے کراس اوور اور کراس اوور کی بنیاد پر خرید اور فروخت کے سگنل پیدا کرتا ہے، جو ممکنہ رجحان کی تبدیلیوں کی نشاندہی کرتا ہے.

  2. اے ٹی آر اشارے: اوسط حقیقی رینج (اے ٹی آر) کا استعمال کرتے ہوئے ایک مقبول رجحان کی پیروی کرنے والا اشارہ۔

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

فوائد

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

خطرات اور حل

  • تمام رجحانات کی پیروی کی حکمت عملی کی طرح whipsaws کے لئے کمزور
  • دو طرفہ تجارت تجارت اور فیسوں کی تعداد میں اضافہ کر سکتی ہے
  • ناقص پیرامیٹر ٹوننگ زیادہ جھوٹے سگنل پیدا کر سکتا ہے
  • ہپساؤ کے خطرے کو کم کرنے کے لئے کم سے کم انعقاد کی مدت کا استعمال کر سکتے ہیں
  • طویل یا مختصر کے لئے اختیار صرف تجارت کی تعداد کو کم کرتا ہے
  • پیرامیٹرز کو مکمل طور پر جانچنا چاہئے اور قابل عمل کو یقینی بنانے کے لئے ایڈجسٹ کیا جانا چاہئے

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

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

نتیجہ

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


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © PresentTrading

//@version=5

// Define the strategy settings
strategy('PresentTrend - Strategy [presentTrading]' , overlay=true, precision=3, default_qty_type=strategy.cash, 
 commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, 
  currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000)

// Define the input parameters
priceSource  = input.source(title='Source', defval=hlc3, group='PresentTrend') // The price source to use
lengthParam  = input.int(title='Length', defval=14, group='PresentTrend') // The length of the moving average
multiplier = input.float(title='Multiplier', defval=1.618, step=0.1, group='PresentTrend') // The multiplier for the ATR
indicatorChoice  = input.bool(title='Whether to use RSI or MFI', defval=false, group='PresentTrend') // Whether to use RSI or MFI

// Add a parameter for choosing Long or Short
tradeDirection = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"])

// Calculate the ATR and the upT and downT values
ATR = ta.sma(ta.tr, lengthParam)
upperThreshold = low - ATR * multiplier 
lowerThreshold  = high + ATR * multiplier 

// Initialize the PresentTrend indicator
PresentTrend = 0.0

// Calculate the PresentTrend indicator
PresentTrend := (indicatorChoice ? ta.rsi(priceSource, lengthParam) >= 50 : ta.mfi(hlc3, lengthParam) >= 50) ? upperThreshold < nz(PresentTrend[1]) ? nz(PresentTrend[1]) : upperThreshold : lowerThreshold > nz(PresentTrend[1]) ? nz(PresentTrend[1]) : lowerThreshold

// Calculate the buy and sell signals
longSignal  = ta.crossover(PresentTrend, PresentTrend[2])
shortSignal  = ta.crossunder(PresentTrend, PresentTrend[2])

// Calculate the number of bars since the last buy and sell signals
barsSinceBuy = ta.barssince(longSignal)
barsSinceSell = ta.barssince(shortSignal)
previousBuy = ta.barssince(longSignal[1])
previousSell = ta.barssince(shortSignal[1])

// Initialize the direction variable
trendDirection = 0

// Calculate the direction of the trend
trendDirection := longSignal and previousBuy > barsSinceSell ? 1 : shortSignal and previousSell > barsSinceBuy ? -1 : trendDirection[1]

// Check the trade direction parameter before entering a trade
if (trendDirection == 1 and (tradeDirection == "Long" or tradeDirection == "Both"))
    strategy.entry("Buy", strategy.long) 
if (trendDirection == -1 and (tradeDirection == "Short" or tradeDirection == "Both"))
    strategy.entry("Sell", strategy.short) 

// Add a stop mechanism when the tradeDirection is one-sided
if (tradeDirection == "Long" and trendDirection == -1)
    strategy.close("Buy")
if (tradeDirection == "Short" and trendDirection == 1)
    strategy.close("Sell")

// Visualization
plot(PresentTrend, color=color.blue, title="PresentTrend")
plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")


مزید