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

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

مصنف:چاؤ ژانگ، تاریخ: 2024-04-12 17:27:25
ٹیگز:

img

جائزہ

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

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

  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)

مزید