دوہری ریورس آربیٹریج کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-06 09:58:04
ٹیگز:

img

جائزہ

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

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

حکمت عملی میں دو ذیلی حکمت عملی شامل ہیں:

  1. 123 ریورس سسٹم: یہ کتاب سے ہے How I Tripped My Money in The Futures Market by Ulf Jensen, صفحہ 183. اس کے تجارتی قوانین یہ ہیں: جب اختتامی قیمت پچھلی اختتامی قیمت سے زیادہ ہو اور 2 دن پہلے کی اختتامی قیمت سے کم ہو تو ، جب سست K لائن 50 سے نیچے ہو تو طویل ہوجائیں۔ جب اختتامی قیمت پچھلی اختتامی قیمت سے کم ہو اور 2 دن پہلے کی اختتامی قیمت سے زیادہ ہو تو ، جب تیز K لائن 50 سے اوپر ہو تو مختصر ہوجائیں۔

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

اس آربیٹریج حکمت عملی کا تجارتی منطق یہ ہے: جب دو ذیلی حکمت عملیوں کی سگنل سمتیں مستقل ہوتی ہیں تو ، اصل تجارتی سگنل تیار ہوتے ہیں۔ لمبا سگنل اس وقت ہوتا ہے جب دونوں ذیلی حکمت عملی ایک ہی وقت میں لمبے سگنل دیتے ہیں۔ مختصر سگنل اس وقت ہوتا ہے جب دونوں ذیلی حکمت عملی ایک ہی وقت میں مختصر سگنل دیتے ہیں۔

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

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

خطرے کا تجزیہ

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

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

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

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

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

خلاصہ

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


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Gann Swing Oscillator has been adapted from Robert Krausz's book, 
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps 
// define market swings. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
GannSO(Length) =>
    pos = 0.0
    xGSO = 0.0
    xHH = highest(Length)
    xLL = lowest(Length)
    xGSO:= iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], 1,
             iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], -1, nz(xGSO[1],0)))
    pos := iff(xGSO > 0, 1,
    	     iff(xGSO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Gann Swing Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthGSO = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posGannSO = GannSO(LengthGSO)
pos = iff(posReversal123 == 1 and posGannSO == 1 , 1,
	   iff(posReversal123 == -1 and posGannSO == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

مزید