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

افراتفری ٹریڈنگ کے قوانین سٹاپ نقصان کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-07 16:44:31
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

حکمت عملی سب سے پہلے RSI اشارے کا حساب لگاتی ہے۔ جب RSI oversold سطح سے نیچے ہوتا ہے تو یہ طویل ہوجاتا ہے اور جب RSI overbought سطح سے اوپر ہوتا ہے تو یہ مختصر ہوجاتا ہے۔

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

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

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

اس کے علاوہ ، لیوریج ٹریکنگ اسٹاپ نقصان لائن لیوریج کی بنیاد پر مقرر کی جاتی ہے۔ اگر قیمت لیوریج ٹریکنگ اسٹاپ نقصان لائن کو چھوتی ہے تو ، پوزیشن اسٹاپ نقصان کے ذریعہ بند کردی جاتی ہے۔

اپ ٹرینڈز کے دوران سب سے زیادہ قیمت اور ڈاؤن ٹرینڈز کے دوران سب سے کم قیمت کی پیروی کرکے ، مقررہ منافع لینے اور اسٹاپ نقصان کے فاصلے کے ساتھ مل کر ، رجحان سازی کی منڈیوں میں زیادہ منافع حاصل کیا جاسکتا ہے۔ دریں اثنا ، لیوریج ٹریکنگ اسٹاپ نقصان سے بڑھتے ہوئے نقصانات سے بچنے میں مدد ملتی ہے۔

فوائد کا تجزیہ

اس حکمت عملی کا سب سے بڑا فائدہ متعدد تجارتی انتظامیہ کے قوانین کا تعارف ہے جو RSI حکمت عملی کی طاقتوں کا فائدہ اٹھاتے ہوئے خطرات کو بہتر طور پر کنٹرول کرتے ہیں۔

خاص طور پر، فوائد یہ ہیں:

  1. ٹریلنگ سٹاپ نقصان مسلسل رجحان کے دوران زیادہ منافع حاصل کرنے کے لئے رجحان کی پیروی کر سکتے ہیں.

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

  3. لیورج ٹریکنگ سٹاپ نقصان سے بڑھتے ہوئے نقصانات سے بچنے اور خطرے کو کنٹرول کرنے میں مدد ملتی ہے۔

  4. مختلف سٹاپ نقصان کے طریقوں کا مجموعہ مختلف مارکیٹ کے ماحول میں اپنی طاقت کا مظاہرہ کرسکتا ہے ، جس سے حکمت عملی کا مجموعی استحکام بہتر ہوتا ہے۔

  5. حکمت عملی کے پیرامیٹرز کی لچکدار ایڈجسٹمنٹ مختلف تجارتی آلات اور مارکیٹ کے ماحول کے مطابق ہے.

  6. سمجھنے میں آسان منطق توثیق، اصلاح اور اطلاق کی سہولت فراہم کرتی ہے۔

خطرے کا تجزیہ

اس حکمت عملی کے اہم خطرات مندرجہ ذیل ہیں:

  1. آر ایس آئی کی حکمت عملی میں خود کچھ وِپسا خطرات ہیں ، جو اسٹاپ نقصان کو متحرک کرسکتے ہیں۔ آر ایس آئی پیرامیٹرز کو بہتر بنایا جاسکتا ہے۔

  2. اسٹاپ نقصان کے مقامات کے ارد گرد اتار چڑھاؤ اکثر اسٹاپ نقصان کو متحرک کرسکتا ہے۔ اسٹاپ نقصان کی حد کو وسیع کیا جاسکتا ہے۔

  3. منافع لینے کا فاصلہ رجحان کی مارکیٹوں کے دوران منافع کو مکمل طور پر مقفل نہیں کرسکتا ہے۔ دوسرے اشارے رجحان کے اختتام کا تعین کرنے میں مدد کرسکتے ہیں۔

  4. فکسڈ اسٹاپ نقصان کا فاصلہ نقصانات سے مکمل طور پر بچنے کے لئے بہت چھوٹا ہوسکتا ہے۔ آسکیلٹنگ اسٹاپ نقصان یا متحرک اسٹاپ نقصان کا استعمال کرنے پر غور کریں۔

  5. بہت زیادہ لیوریج کے نتیجے میں اسٹاپ نقصان داخلہ قیمت کے بہت قریب ہوتا ہے۔ لیوریج کی کم ترتیب کا استعمال کیا جانا چاہئے۔

  6. بیک ٹیسٹ کی مدت مستقبل کے مارکیٹ کے حالات کو مکمل طور پر ظاہر نہیں کرسکتی ہے۔ مناسب رسک کنٹرول کو نافذ کیا جانا چاہئے اور مختلف ادوار کی جانچ کی جانی چاہئے۔

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

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

اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:

  1. Whipsaw تجارت کو کم کرنے کے لئے RSI پیرامیٹرز کو بہتر بنائیں، اور مختلف مارکیٹوں کے لئے زیادہ سے زیادہ پیرامیٹرز کی جانچ کریں.

  2. اندراجات کو فلٹر کرنے کے لئے RSI کے ساتھ مل کر KD، MACD جیسے دیگر اشارے آزمائیں.

  3. سٹاپ نقصان اور منافع لینے کے پیرامیٹرز کو متحرک طور پر بہتر بنانے کے لئے مشین سیکھنے کا استعمال کریں.

  4. زیادہ پیچیدہ سٹاپ نقصان کے طریقہ کار کی جانچ پڑتال کریں جیسے آسکیلنگ سٹاپ نقصان، اوسط سٹاپ نقصان، متحرک سٹاپ نقصان وغیرہ.

  5. لیوریج کی ترتیب کو بہتر بنائیں اور منافع اور خطرے کے کنٹرول پر اثرات کا مطالعہ کریں۔

  6. مارکیٹ کے نظام کی تبدیلیوں کی بنیاد پر آٹو ایڈجسٹ پیرامیٹرز، جیسے α-Dual Thrust.

  7. رجحان کی مستقل مزاجی کا تعین کرنے کے لئے دوسرے عوامل کو شامل کریں، مثال کے طور پر حجم توانائی.

  8. زیادہ مضبوط اور تشریح شدہ سٹاپ نقصان کے طریقوں کو تیار کرنے کے لئے گہری سیکھنے کے ماڈلز کا استعمال کریں.

  9. حکمت عملی کی مضبوطی کا اندازہ کرنے کے لئے مختلف آلات اور وقت کے ادوار سے ڈیٹا کی جانچ کریں۔

نتیجہ

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


/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Adding some essential components to a prebuilt RSI strategy", overlay=true)

/////////////// Component Code Start ///////////////
testStartYear = input(2011, "Backtest Start Year") 
testStartMonth = input(8, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2016, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(29, "Backtest Stop Day")
// testStopDay = testStartDay + 1
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
/////////////// Component Code Stop ///////////////

///////////// RSI component /////////////
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close

vrsi = rsi(price, length)
notna = not na(vrsi)

/////////////// STRATEGY ///////////////
ts = input(99999, "Trailing Stop") / 100
tp = input(99999, "Take Profit") / 100
sl = input(99999, "Stop Loss") / 100

long = notna and crossover(vrsi, overSold)
short = notna and crossunder(vrsi, overBought)

last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])

long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

last_open_long_signal = long_signal ? open : nz(last_open_long_signal[1])
last_open_short_signal = short_signal ? open : nz(last_open_short_signal[1])

last_long_signal = long_signal ? time : nz(last_long_signal[1])
last_short_signal = short_signal ? time : nz(last_short_signal[1])

in_long_signal = last_long_signal > last_short_signal
in_short_signal = last_short_signal > last_long_signal

last_high = not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
last_low = not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])

long_ts = not na(last_high) and high <= (last_high - ts) //and high >= last_open_long_signal
short_ts = not na(last_low) and low >= (last_low + ts) //and low <= last_open_short_signal

long_tp = high >= (last_open_long_signal + tp)
short_tp = low <= (last_open_short_signal - tp)

long_sl = low <= (last_open_long_signal - sl)
short_sl = high >= (last_open_short_signal + sl)

leverage = input(200, "Leverage")
long_call = last_open_long_signal - (0.8 + 0.2 * (1/leverage)) / leverage * last_open_long_signal
short_call = last_open_short_signal + (0.78 + 0.2 * (1/leverage)) / leverage * last_open_short_signal
long_call_signal = low <= long_call
short_call_signal = high >= short_call

if testPeriod()
    strategy.entry("Long", strategy.long, when=long_signal)
    strategy.entry("Short", strategy.short, when=short_signal)

    // plot(long_call, color=red)
    // plot(short_call, color=green)
    strategy.close("Long", when=long_call_signal)
    strategy.close("Short", when=short_call_signal)
    strategy.close("Long", when=long_tp)
    strategy.close("Short", when=short_tp)
    strategy.close("Long", when=long_sl)
    strategy.close("Short", when=short_sl)
    strategy.close("Long", when=long_ts)
    strategy.close("Short", when=short_ts)

مزید