Exponential Smoothing Stochastic Indicator Anomaly Strategy


تخلیق کی تاریخ: 2024-01-18 15:53:41 آخر میں ترمیم کریں: 2024-01-18 15:53:41
کاپی: 0 کلکس کی تعداد: 646
1
پر توجہ دیں
1617
پیروکار

Exponential Smoothing Stochastic Indicator Anomaly Strategy

جائزہ

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

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

اشاریہ فلیٹ رینڈم اشاریہ غیر متحرک حکمت عملی کا مرکز اشاریہ وزن پیرامیٹرز میں ہے۔ روایتی بے ترتیب اشارے کے لئے حساب کتاب کا فارمولا یہ ہے:

s=100 * (close - 最低价) / (最高价 - 最低价) 

اشاریہ پیرامیٹرز کو شامل کرنے کے بعد ، حساب کتاب کا فارمولا بدل جاتا ہے:

exp= ex<10? (ex)/(10-ex) : 99  

s=100 * (close - 最低价) / (最高价 - 最低价)

ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50  
     :-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50

exp کی قدر کو ایڈجسٹ کریں ، جس سے s کے لئے s کے اثر و رسوخ کو تبدیل کیا جاسکتا ہے ، exp کی قدر کو بڑھانا اشارے کو غیر حساس بناتا ہے ، اور exp کی قدر کو کم کرنا اشارے کو زیادہ حساس بناتا ہے۔

خریدنے کا اشارہ پیدا ہوتا ہے جب ks اوورلوڈ زون سے الٹ جاتا ہے۔ فروخت کا اشارہ پیدا ہوتا ہے جب ks اوورلوڈ زون سے الٹ جاتا ہے۔

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

اشاریہ ہموار بے ترتیب اشارے غیر متحرک حکمت عملی کے مقابلے میں روایتی بے ترتیب حکمت عملی کے مندرجہ ذیل فوائد ہیں:

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

اسٹریٹجک رسک

انڈیکیٹر سلائیڈ رینڈم اشارے کی غیر متحرک حکمت عملی میں مندرجہ ذیل خطرات بھی شامل ہیں:

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

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © faytterro

//@version=5
strategy("Exponential Stochastic Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len=input.int(14, "length") 
ex=input.int(2, title="exp", minval=1, maxval=10)
exp= ex<10? (ex)/(10-ex) : 99
s=100 * (close - ta.lowest(low, len)) / (ta.highest(high, len) - ta.lowest(low, len))
ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 :
 -math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
plot(ks, color= color.white)
bot=input.int(20)
top=input.int(80)
longCondition = ta.crossover(ks, bot) and bar_index>0
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = ta.crossunder(ks, top) and bar_index>0
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)
//    strategy.close("My Long Entry Id")
alertcondition(longCondition, title = "buy")
alertcondition(shortCondition, title = "sell")
h1=hline(top)
h2=hline(bot)
h3=hline(100)
h4=hline(0)
fill(h1,h3, color= color.rgb(255,0,0,200-top*2))
fill(h2,h4, color= color.rgb(0,255,0,bot*2))