ٹرینڈ فالونگ مین ریورژن چینل کی حکمت عملی


تخلیق کی تاریخ: 2023-11-01 16:20:45 آخر میں ترمیم کریں: 2023-11-01 16:20:45
کاپی: 0 کلکس کی تعداد: 747
1
پر توجہ دیں
1617
پیروکار

ٹرینڈ فالونگ مین ریورژن چینل کی حکمت عملی

جائزہ

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

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

  1. مارکیٹ کے رجحانات کا تعین کرنے کے لئے سی سی آئی اشارے کے 0 محور کراسنگ کا استعمال کریں ، سی سی آئی اوپر سے 0 محور کو پائیڈ سگنل کے طور پر ، سی سی آئی نیچے سے 0 محور کو پائیڈ سگنل کے طور پر استعمال کریں۔

  2. اپنی مرضی کے مطابق سی سی آئی اوپر اور نیچے چینل بینڈ کے ذریعے ، جب سی سی آئی اوپر پہنے چینل بینڈ میں ایک مثبت سگنل ہوتا ہے ، تو سی سی آئی نیچے پہنے چینل بینڈ میں ایک منفی سگنل ہوتا ہے۔ چینل بینڈ کا کراسنگ ایک اسٹاپ نقصان کا اشارہ ہوتا ہے۔

  3. صرف ایک مخصوص وقت کے دوران تجارت کرنے کے لئے سیٹ کریں ، غیر تجارت شدہ وقت کے لئے فلیٹ پوزیشن۔ روزانہ مقررہ وقت کی تجارت کے لئے سیٹ کریں۔

  4. سٹاپ نقصان، سٹاپ بریک تناسب مقرر کیا جا سکتا ہے.

  5. اپنی مرضی کے مطابق ٹریڈنگ کے لئے الرٹ پیغام

  6. حکمت عملی مکمل طور پر اپنی مرضی کے مطابق لچکدار ہے ، آپ کو CCI پیرامیٹرز ، ٹریل بینڈ پیرامیٹرز ، سٹاپ نقصان روکنے والے پیرامیٹرز وغیرہ کو بہتر بنانے کی حکمت عملی کو ایڈجسٹ کرنے کی ضرورت ہے۔

طاقت کا تجزیہ

  1. مارکیٹ کے رجحانات کا تعین کرنے کے لئے سی سی آئی کے اشارے کا استعمال کرتے ہوئے ، سی سی آئی قیمتوں میں ہونے والی تبدیلیوں کے لئے حساس ہے اور مارکیٹ کے موڑ کے مقامات کو تیزی سے پکڑ سکتا ہے۔

  2. اپنی مرضی کے مطابق چینل بینڈ مختلف مارکیٹوں کے مطابق پیرامیٹرز کو ایڈجسٹ کرسکتا ہے ، چینل بینڈ کراس اسٹاپ نقصان کو مؤثر طریقے سے خطرے کو کنٹرول کرسکتا ہے۔

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

  4. فکسڈ اسٹاپ نقصان کی روک تھام کی حمایت کرتا ہے ، جو منافع اور نقصان کا تناسب پیش کرتا ہے ، جو انفرادی تجارت کے خطرے کو مؤثر طریقے سے کنٹرول کرتا ہے۔

  5. مکمل طور پر اپنی مرضی کے مطابق پیرامیٹرز، مختلف اقسام اور مارکیٹ کے حالات کے لئے حکمت عملی کو بہتر بنانے کے لئے، بہتر نتائج حاصل کرنے کے لئے.

خطرے کا تجزیہ

  1. سی سی آئی اشارے قیمتوں میں تبدیلیوں کے لئے حساس ہیں اور ممکنہ طور پر کچھ غلط سگنل پیدا کرسکتے ہیں ، جس کی تصدیق طویل مدتی اشارے کے ساتھ کی جانی چاہئے۔

  2. فکسڈ اسٹاپ لاسٹ اسٹاپ تناسب کو مارکیٹ میں ہونے والی تبدیلیوں کے مطابق ایڈجسٹ نہیں کیا جاسکتا ہے۔ اس تناسب کو مناسب طریقے سے برقرار رکھا جانا چاہئے۔

  3. فکسڈ ٹریڈنگ کے اوقات میں مارکیٹ کی شارٹ لائن ایڈجسٹمنٹ کا موقع ضائع ہوسکتا ہے ، اور مناسب طریقے سے ٹریڈنگ ویلیو کا انتخاب کیا جانا چاہئے۔

  4. بار بار پیرامیٹرز کو بہتر بنانے کی ضرورت ہے ، اور اگر آپ کو بہتر نہیں بنایا گیا ہے تو اس سے زیادہ تجارت یا تجارت کے مواقع ضائع ہوسکتے ہیں۔

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

اصلاح کی سمت

  1. سی سی آئی کو غلط سگنل سے بچنے کے لئے طویل اور مختصر دورانیہ کے اشارے کے ساتھ مل کر تصدیق کریں۔

  2. اے ٹی آر جیسے اشارے کا استعمال کرتے ہوئے متحرک اسٹاپ نقصان کی روک تھام کا تعین کریں۔

  3. مختلف ٹائم فریموں کے پیرامیٹرز کے اثر کو جانچیں اور ٹائم فریموں کو منتخب کریں جن میں تجارت زیادہ موثر ہو۔

  4. سی سی آئی پیرامیٹرز کو بہتر بنائیں ، مارکیٹ میں تبدیلیوں کے مطابق چینل بینڈ پیرامیٹرز۔

  5. رجحانات ، اتار چڑھاؤ ، اور تبادلوں کی مقدار جیسے متعدد عوامل کو مدنظر رکھتے ہوئے ایک جامع فیصلے کریں۔

  6. ٹرانزیکشن کی نوعیت کی خصوصیات کے مطابق مناسب ٹرانزیکشن کا وقت منتخب کریں۔

  7. مشین سیکھنے کے الگورتھم کو شامل کرنے پر غور کریں تاکہ حکمت عملی کو خود کار طریقے سے بہتر بنایا جاسکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
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/
// © REV0LUTI0N

//@version=4

strategy(title="CCI Strategy", overlay=true, initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)


//CCI Code

length = input(20, minval=1, title="CCI Length")
src = input(close, title="Source")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))


// Strategy Backtesting
startDate  = input(timestamp("2099-10-01T00:00:00"), type = input.time, title='Backtesting Start Date')
finishDate = input(timestamp("9999-12-31T00:00:00"), type = input.time, title='Backtesting End Date')

time_cond  = true


//Time Restriction Settings
startendtime = input("", title='Time Frame To Enter Trades')
enableclose = input(false, title='Enable Close Trade At End Of Time Frame')
timetobuy = true
timetoclose = true


//Strategy Settings

//Strategy Settings - Enable Check Boxes
enableentry = input(true, title="Enter First Trade ASAP")
enableconfirmation = input(false, title="Wait For Cross To Enter First Trade")
enablezero =input(true, title="Use CCI Simple Cross Line For Entries & Exits")
enablebands = input(false, title="Use Upper & Lower Bands For Entries & Exits")

//Strategy Settings - Band Sources
ccisource = input(0, title="CCI Simple Cross")
upperbandsource =input(100, title="CCI Enter Long Band")
upperbandexitsource =input(100, title="CCI Exit Long Band")
lowerbandsource =input(-100, title="CCI Enter Short Band")
lowerbandexitsource =input(-100, title="CCI Exit Short Band")

//Strategy Settings - Crosses
simplecrossup = crossover(cci, ccisource)
simplecrossdown = crossunder(cci, ccisource)
uppercrossup = crossover(cci, upperbandsource)
lowercrossdown = crossunder(cci, lowerbandsource)
uppercrossdown = crossunder(cci, upperbandexitsource)
lowercrossup = crossover(cci, lowerbandexitsource)
upperstop = crossunder(cci, upperbandsource)
lowerstop = crossover(cci, lowerbandsource)


// Stop Loss & Take Profit % Based
enablesl = input(false, title='Enable Stop Loss')
enabletp = input(false, title='Enable Take Profit')
stopTick = input(5.0, title='Stop Loss %', type=input.float, step=0.1) / 100
takeTick = input(10.0, title='Take Profit %', type=input.float, step=0.1) / 100

longStop = strategy.position_avg_price * (1 - stopTick)
shortStop = strategy.position_avg_price * (1 + stopTick)
shortTake = strategy.position_avg_price * (1 - takeTick)
longTake = strategy.position_avg_price * (1 + takeTick)

plot(strategy.position_size > 0 and enablesl ? longStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Fixed SL")
plot(strategy.position_size < 0 and enablesl ? shortStop : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Short Fixed SL")
plot(strategy.position_size > 0 and enabletp ? longTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Long Take Profit")
plot(strategy.position_size < 0 and enabletp ? shortTake : na, style=plot.style_linebr, color=color.green, linewidth=1, title="Short Take Profit")


// Alert messages
message_enterlong  = input("", title="Long Entry message")
message_entershort = input("", title="Short Entry message")
message_closelong = input("", title="Close Long message")
message_closeshort = input("", title="Close Short message")
    

//Strategy Execution

//Strategy Execution - Simple Line Cross
if (cci > ccisource and enablezero and enableentry and time_cond and timetobuy)
    strategy.entry("Long", strategy.long, alert_message = message_enterlong)
if (cci < ccisource and enablezero and enableentry and time_cond and timetobuy)
    strategy.entry("Short", strategy.short, alert_message = message_entershort)

if (simplecrossup and enablezero and enableconfirmation and time_cond and timetobuy)
    strategy.entry("Long", strategy.long, alert_message = message_enterlong)
if (simplecrossdown and enablezero and enableconfirmation and time_cond and timetobuy)
    strategy.entry("Short", strategy.short, alert_message = message_entershort)

//Strategy Execution - Upper and Lower Band Entry
if (uppercrossup and enablebands and time_cond and timetobuy)
    strategy.entry("Long", strategy.long, alert_message = message_enterlong)
if (lowercrossdown and enablebands and time_cond and timetobuy)
    strategy.entry("Short", strategy.short, alert_message = message_entershort)

//Strategy Execution - Upper and Lower Band Exit
if strategy.position_size > 0 and uppercrossdown and enablebands and time_cond and timetobuy
    strategy.close_all(alert_message = message_closelong)
if strategy.position_size < 0 and lowercrossup and enablebands and time_cond and timetobuy
    strategy.close_all(alert_message = message_closeshort)

//Strategy Execution - Upper and Lower Band Stops
if strategy.position_size > 0 and upperstop and enablebands and time_cond and timetobuy
    strategy.close_all(alert_message = message_closelong)
if strategy.position_size < 0 and lowerstop and enablebands and time_cond and timetobuy
    strategy.close_all(alert_message = message_closeshort)

//Strategy Execution - Close Trade At End Of Time Frame    
if strategy.position_size > 0 and timetoclose and enableclose and time_cond
    strategy.close_all(alert_message = message_closelong)
if strategy.position_size < 0 and timetoclose and enableclose and time_cond
    strategy.close_all(alert_message = message_closeshort)

//Strategy Execution - Stop Loss and Take Profit
if strategy.position_size > 0 and enablesl and time_cond
    strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_closelong)
if strategy.position_size < 0 and enablesl and time_cond
    strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_closeshort)
    
if strategy.position_size > 0 and enabletp and time_cond
    strategy.exit(id="Close Long", stop=longStop, limit=longTake, alert_message = message_closelong)
if strategy.position_size < 0 and enabletp and time_cond
    strategy.exit(id="Close Short", stop=shortStop, limit=shortTake, alert_message = message_closeshort)