Stochastic اشارے اور CCI اشارے پر مبنی حکمت عملی کے بعد رجحان


تخلیق کی تاریخ: 2023-11-22 16:23:31 آخر میں ترمیم کریں: 2023-11-22 16:23:31
کاپی: 1 کلکس کی تعداد: 844
1
پر توجہ دیں
1617
پیروکار

Stochastic اشارے اور CCI اشارے پر مبنی حکمت عملی کے بعد رجحان

جائزہ

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

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

  1. اسٹاکسٹک اشارے زیادہ خالی شکل کا فیصلہ کرتے ہیں
    Stochastic اشارے خریدنے کے لئے ایک اشارہ ہے جب اس کی تازہ ترین بار کے اوپر سے گزر جاتا ہے اور فروخت کرنے کے لئے ایک اشارہ ہے جب اس کی تازہ ترین بار سے گزر جاتا ہے
  2. سی سی آئی کے اشارے رجحان کی سمت کا تعین کرتے ہیں
    سی سی آئی 0 سے زیادہ کثیر سر مارکیٹ اور 0 سے کم خالی سر مارکیٹ
  3. Rate of Change اشارے فلٹر ہلچل کے رجحان
    شرح تبدیلی کے پیرامیٹرز کو ترتیب دیں تاکہ یہ معلوم ہو سکے کہ آیا قیمت ایک فعال رجحان میں ہے یا نہیں
  4. داخلہ اور باہر نکلنے کے قواعد
    خریدنے کا اشارہ: اسٹوکاسٹک پر آخری بار پہننا اور سی سی آئی 0 سے زیادہ ہے اور قیمت کا رجحان متحرک ہے
    فروخت کا اشارہ: اسٹوکاسٹک نے حالیہ بار کو عبور کیا اور سی سی آئی 0 سے کم ہے اور قیمت کا رجحان متحرک ہے
    سٹاپ نقصان exit: لمبی لائن 3٪ سٹاپ نقصان، مختصر لائن 3٪ سٹاپ نقصان

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Stochastic CCI BF 🚀", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)

/////////////// Time Frame ///////////////
testStartYear = input(2017, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() => true

///////////// CCI ///////////// 
src = close
ccilength = input(13, minval=1, title="CCI Length")
c=cci(src, ccilength)

///////////// Stochastic ///////////// 
len = input(19, minval=1, title="RSI Length")
lenema = input(12, minval=1, title="RSI-EMA Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
out = ema(rsi, lenema)

///////////// Rate Of Change ///////////// 
source = close
roclength = input(30, minval=1)
pcntChange = input(7.0, minval=1)
roc = 100 * (source - source[roclength]) / source[roclength]
emaroc = ema(roc, roclength / 2)
isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 - (pcntChange / 2))

/////////////// Strategy ///////////////
long = out > out[1] and isMoving() and c > 0
short = out < out[1] and isMoving() and c < 0

last_long = 0.0
last_short = 0.0
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 = 0.0
last_open_short_signal = 0.0
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 = 0.0
last_short_signal = 0.0
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 = 0.0
last_low = 0.0
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])

sl_inp = input(3.0, title='Stop Loss %') / 100 

since_longEntry = barssince(last_open_long_signal != last_open_long_signal[1]) 
since_shortEntry = barssince(last_open_short_signal != last_open_short_signal[1]) 

slLong = in_long_signal ? strategy.position_avg_price * (1 - sl_inp) : na
slShort = strategy.position_avg_price * (1 + sl_inp)
long_sl = in_long_signal ? slLong : na
short_sl = in_short_signal ? slShort : na

/////////////// Execution ///////////////
if testPeriod()
    strategy.entry("L",  strategy.long, when=long_signal)
    strategy.entry("S", strategy.short, when=short_signal)
    strategy.exit("L Ex", "L", stop=long_sl, when=since_longEntry > 0)
    strategy.exit("S Ex", "S", stop=short_sl, when=since_shortEntry > 0)

/////////////// Plotting /////////////// 
bgcolor(long_signal ? color.lime : short_signal ? color.red : na, transp=30)
bgcolor(not isMoving() ? color.white : long ? color.lime : short ? color.red : na, transp=80)
plot(out, color = out > out[1] ? color.lime:color.red, linewidth = 2, title="Stoch")
plot(c, color = c > 0 ? color.lime:color.red, linewidth = 2, title="CCI")