ڈونچین چینلز اور لیری ولیمز بگ ٹریڈ انڈیکس کی حکمت عملی


تخلیق کی تاریخ: 2024-04-12 17:27:25 آخر میں ترمیم کریں: 2024-04-12 17:27:25
کاپی: 7 کلکس کی تعداد: 2820
1
پر توجہ دیں
1617
پیروکار

ڈونچین چینلز اور لیری ولیمز بگ ٹریڈ انڈیکس کی حکمت عملی

جائزہ

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

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

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

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

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-04-04 00:00:00
end: 2024-04-11 00:00:00
period: 1m
basePeriod: 1m
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/
// © DillonGrech
//
//This is a Donchian Channel Trading Strategy which was found through the 
//YouTube channel TradingLab. 
//
//This Strategy uses the Donchian Channel, Larry Williams Large Trade Index,
//and Volume with Moving Average indicators for long and short trades.
//
//Strategy will enter based off indicator entry conditions and will not
//re-enter a trade until the price crosses through the Donchian Channel
//basis line (to prevent re-entering trades in same trend). Strategy will
//exit at stop loss or take profit, or when price crosses donchian basis.
//
//The strategy has been coded by Dillon Grech as part of his YouTube channel
//and a detailed video can be found on his channel at:
//https://www.youtube.com/c/DillonGrech
//https://www.youtube.com/watch?v=5IFe2Vjf61Y
//Source code and template files can be found on his GitHub at:
//https://github.com/Dillon-Grech
//==============================================================================
//@version=5
strategy("Donchian Channel Strategy [DillonGrech]", overlay=true, margin_long=100, margin_short=100)

//==============================================================================
//DONCHIAN CHANNEL
//==============================================================================
//Allow user to select whether they would like to use indicator
Don_Input = input(true, title='Use Donchian Channel?', group = "Donchian Settings")

//Indicator
don_length = input.int(96, minval = 1, group = "Donchian Settings")
don_lower  = ta.lowest(don_length)
don_upper  = ta.highest(don_length)
don_basis  = math.avg(don_upper, don_lower)
plot(don_basis,     "Don Basis", color = #FF6D00)
u = plot(don_upper, "Don Upper", color = #2962FF)
l = plot(don_lower, "Don Lower", color = #2962FF)
fill(u, l, color = color.rgb(33, 150, 243, 95), title = "Background")

//Conditions - Enter trades when there is a cross of price and previous donchian channel value
Ind_1_L = Don_Input == false ? false : ta.crossover(close,don_upper[1])
Ind_1_S = Don_Input == false ? false : ta.crossunder(close,don_lower[1])

//==============================================================================
//LARRY WILLIAMS LARGE TRADE INDEX (LWTI) - LOXX
//==============================================================================
//Allow user to select whether they would like to use indicator
LWTI_Input = input(true, title='Use LWTI?', group = "LWTI Settings")

//Indicator
greencolor = #2DD204
redcolor = #D2042D 

variant(type, src, len) =>
    sig = 0.0
    if type == "SMA"
        sig := ta.sma(src, len) 
    else if type == "EMA"
        sig := ta.ema(src, len) 
    else if type == "WMA"
        sig := ta.wma(src, len)   
    else if type == "RMA"
        sig := ta.rma(src, len)  
    sig
    
LWTI_per = input.int(25, "Period", group = "LWTI Settings")
LWTI_smthit = input.bool(false, "Smooth LWPI?", group = "LWTI Settings")
LWTI_type = input.string("SMA", "Smoothing Type", options = ["EMA", "WMA", "RMA", "SMA"], group = "LWTI Settings")
LWTI_smthper = input.int(20, "Smoothing Period", group = "LWTI Settings")

LWTI_ma = ta.sma(close - nz(close[LWTI_per]), LWTI_per)
LWTI_atr = ta.atr(LWTI_per)
LWTI_out = LWTI_ma/LWTI_atr * 50 + 50
LWTI_out := LWTI_smthit ? variant(LWTI_type, LWTI_out, LWTI_smthper) : LWTI_out

LWTI_colorout = LWTI_out > 50 ? greencolor : redcolor

//Conditions - Enter on color of indicator
Ind_2_L = LWTI_Input == false ? true : LWTI_colorout == greencolor
Ind_2_S = LWTI_Input == false ? true : LWTI_colorout == redcolor

//==============================================================================
//VOLUME INDICATOR
//==============================================================================
//Allow user to select whether they would like to use indicator
Vol_Input = input(true, title='Use Volume?', group = "Volume Settings")

//Indicator
Vol_Ma_Period = input.int(30,"Volume MA Period", group = "Volume Settings")
Vol_Ma = ta.sma(volume,Vol_Ma_Period)

//Conditions - Enter when volume is greater than moving average
Ind_3_L = Vol_Input == false ? true : volume > Vol_Ma
Ind_3_S = Vol_Input == false ? true : volume > Vol_Ma

//==============================================================================
//DONCHIAN CHANNEL TRADE COUNTER
//==============================================================================
//Stores whether a trade has been taken, and resets when there is a cross of price and donchain basis
Trade_Counter = float(0)
Don_Basis_Cross = ta.cross(don_basis[1], close)
if strategy.position_size!=0
    Trade_Counter := 1
else if Don_Basis_Cross
    Trade_Counter := 0
else 
    Trade_Counter := Trade_Counter[1]

Plot_Trade_Counter = input.bool(false, "Plot Trade Position Counter?", group = "Plot Settings")
plotchar(Plot_Trade_Counter and Trade_Counter == 0 ? true : false, color = na, text = '0')
plotchar(Plot_Trade_Counter and Trade_Counter == 1 ? true : false, color = na, text = '1')

//==============================================================================
//ENTRY CONDITIONS
//==============================================================================
entry_long  = strategy.position_size<=0 and Ind_1_L and Ind_2_L and Ind_3_L and Trade_Counter[1] == 0
entry_short = strategy.position_size>=0 and Ind_1_S and Ind_2_S and Ind_3_S and Trade_Counter[1] == 0

if(entry_long)
    strategy.entry("Long Entry", strategy.long)
if(entry_short)
    strategy.entry("Short Entry", strategy.short)

//==============================================================================
// TAKE PROFIT AND STOP LOSS CONDITIONS
//==============================================================================
Stop_Input   = input(true, title='Use Stop Loss?', group = "Risk Settings")
Profit_Input = input(true, title='Use Take Profit?', group = "Risk Settings")
Profit_RR = input.float(2.0,"Risk Reward Profit Target", group = "Risk Settings")

//Store Price on new entry signal
Entry_Price = strategy.opentrades.entry_price(strategy.opentrades - 1)

//Store Donchain Channel Basis value on new entry signal
Entry_Don_Basis = float(0.0)
if strategy.position_size == 0 or entry_long or entry_short
    Entry_Don_Basis := don_basis
else
    Entry_Don_Basis := Entry_Don_Basis[1]

//Get stop loss distance
Stop_Distance = math.abs(Entry_Price - Entry_Don_Basis)*1.02

//For Long Trades, find the stop loss level
Stop_L = float(0.0)
if Stop_Input == true
    Stop_L := Entry_Price - Stop_Distance
else
    na

//For Long Trades, find the profit level
Profit_L = float(0.0)
if Profit_Input == true
    Profit_L := Entry_Price + Stop_Distance*Profit_RR
else
    na

//For Short Trades, find the stop loss level
Stop_S = float(0.0)
if Stop_Input == true
    Stop_S   := Entry_Price + Stop_Distance
else
    na

//For Short Trades, find the profit level
Profit_S = float(0.0)
if Profit_Input == true
    Profit_S := Entry_Price - Stop_Distance*Profit_RR
else
    na

//Plot profit and stop loss levels for long and short trades
plot(strategy.position_size > 0 ? Profit_L : na, color=color.lime, style=plot.style_linebr, linewidth=2)
plot(strategy.position_size > 0 ? Stop_L : na,   color=color.red,  style=plot.style_linebr, linewidth=2)
plot(strategy.position_size < 0 ? Profit_S : na, color=color.lime, style=plot.style_linebr, linewidth=2)
plot(strategy.position_size < 0 ? Stop_S : na,   color=color.red,  style=plot.style_linebr, linewidth=2)

//==============================================================================
//EXIT ORDERS
//==============================================================================
//Exit long trades
if Stop_Input
    strategy.exit(id = 'Exit Long', from_entry ='Long Entry', comment='Long Stop',  stop = Stop_L)

if Profit_Input
    strategy.exit(id = 'Exit Long', from_entry ='Long Entry', comment='Long Profit', limit = Profit_L)

//Exit short trades
if Stop_Input
    strategy.exit(id = 'Exit Short', from_entry ='Short Entry', comment='Short Stop', stop = Stop_S)

if Profit_Input
    strategy.exit(id = 'Exit Short', from_entry ='Short Entry', comment='Short Profit', limit = Profit_S)

//==============================================================================
//CLOSE ORDERS
//==============================================================================
exit_long  = close < don_basis
exit_short = close > don_basis

if(exit_long)
    strategy.close("Long Entry", comment='Long Close', qty_percent=100)
if(exit_short)
    strategy.close("Short Entry", comment='Short Close', qty_percent=100)