یہ حکمت عملی اسٹوکاسٹک اوسیلیٹر اشارے کی بنیاد پر مارکیٹ میں اوور خرید اوور فروخت کی حیثیت کا اندازہ لگانے کے لئے ہے ، جس میں لچکدار اسٹاپ اصول کے ساتھ مل کر قلیل مدتی تجارت کی جاتی ہے۔ اسٹوکاسٹک اشارے پر گولڈ فورک کے دوران زیادہ کریں ، مردہ فورک کے وقت خالی کریں ، اور سابقہ محور پر مبنی لچکدار اسٹاپ قائم کریں ، منافع کو یقینی بنانے کے ساتھ ساتھ خطرے پر قابو پالیں۔
Stochastic oscillator اشارے میں٪ K لائن اور٪ D لائن شامل ہے۔ جب٪ K لائن نیچے سے اوپر کی طرف سے٪ D لائن کو توڑتی ہے تو ، گولڈ فورک سگنل کے لئے ، زیادہ کام کریں۔ جب٪ K لائن اوپر سے نیچے کی طرف سے٪ D لائن کو توڑتی ہے تو ، ڈائی فورک سگنل کے لئے ، خالی۔ اس حکمت عملی کا مقصد اسٹوکاسٹک اشارے کے مطابق گولڈ فورک ڈائی فورک سگنل کا فیصلہ کرنا ہے۔
خاص طور پر ، اسٹوکاسٹک اشارے کے گولڈ فورک پر ، اگر K لائن کی٪ 80 سے کم ہے (کوئی اوورلوڈ نہیں ہے) ، تو زیادہ کام کریں۔ اسٹوکاسٹک اشارے کے مردہ فورک پر ، اگر K لائن کی٪ 20 سے زیادہ ہے (کوئی اوورلوڈ نہیں ہے) ، تو خالی ہے۔
GoLong=crossover(k,d) and k<80
GoShort=crossunder(k,d) and k>20
اس حکمت عملی میں لچکدار اسٹاپ کا طریقہ استعمال کیا گیا ہے ، جس میں اسٹاپ قیمتوں کو پچھلے مرحلے کے محور کے مطابق ترتیب دیا گیا ہے ، جس کا کوڈ مندرجہ ذیل ہے:
piv_high = pivothigh(high,1,1)
piv_low = pivotlow(low,1,1)
stoploss_long=valuewhen(piv_low,piv_low,0)
stoploss_short=valuewhen(piv_high,piv_high,0)
محور پوائنٹس اہم معاونت کی مزاحمت کی نمائندگی کرتے ہیں ، اگر قیمت محور پوائنٹس کو توڑ دیتی ہے تو ، پوزیشن سے باہر نکل جاتی ہے ، جس سے اسٹاپ قیمت کی لچکدار جھولی محور پوائنٹس میں تبدیلی کے ساتھ چلتی ہے۔
اس کے علاوہ، سٹاپ نقصان کی قیمت بھی موجودہ مدت کے لئے کم از کم قیمت اور زیادہ سے زیادہ قیمت پر غور کرے گا، اور روکنے کی پوزیشن کو مزید بہتر بنانے کے لئے، مندرجہ ذیل کوڈ کے طور پر دکھایا گیا ہے:
if GoLong
stoploss_long := low<pl ? low : pl
if GoShort
stoploss_short := high>ph ? high : ph
اسٹوکاسٹک اشارے کا استعمال کرتے ہوئے ، اوور بیئر اور اوور سیل مارکیٹ کا اندازہ لگائیں ، اور اونچائی اور زوال کا پیچھا کرنے سے گریز کریں۔
لچکدار اسٹاپ اصول کا اطلاق کریں ، جس سے مارکیٹ میں تبدیلیوں کے مطابق اسٹاپ پوزیشن کو بہتر بنایا جاسکے۔
اس کے علاوہ ، اس میں ایک اہم نکات پر مشتمل ہے جس سے روک تھام کو زیادہ موثر بنایا جاسکتا ہے۔
اسٹاپ نقصان کو زیادہ درست بنانے کے لئے اس وقت کی سب سے کم قیمت پر غور کریں۔
Stochastic اشارے غلط سگنل کا خطرہ
اسٹاپ نقصان کا خطرہ جس سے نقصان میں اضافے کا خطرہ ہوتا ہے
بار بار ٹرانزیکشنز سے ٹرانزیکشن فیس میں اضافے کا خطرہ
نقصانات کو روکنے کے لئے حکمت عملی کو بہتر بنائیں ، جیسے چانڈیلئیر باہر نکلیں ، حرکت پذیر نقصانات ، اور جھولنے والے نقصانات
اسٹاکسٹک اشارے کے جھوٹے سگنل سے بچنے کے لئے دوسرے اشارے کے ساتھ مل کر داخلے کے حالات کو بہتر بنائیں
زیادہ سے زیادہ بچت کی شرح کے لئے موزوں روک تھام کے طریقوں کا استعمال کریں ، جیسے کہ متحرک روک تھام ، جھولنے والی روک تھام وغیرہ
پوزیشن مینجمنٹ شامل کریں ، جیسے کہ فکسڈ پیسے کی مقدار ، فکسڈ سرمایہ کاری کا تناسب ، وغیرہ ، تاکہ انفرادی خطرے پر قابو پایا جاسکے
مختلف مارکیٹوں کے لئے ایڈجسٹمنٹ پیرامیٹرز جیسے K، D، اور ہموار دوروں کی تعداد کو ایڈجسٹ کرنے کے لئے پیرامیٹرز کی ترتیب
اس حکمت عملی میں اسٹاکسٹک اشارے کے ذریعہ اوور خرید اوور فروخت کی حیثیت کا تعین کرنے اور لچکدار اسٹاپ نقصان کے طریقہ کار کو استعمال کرنے کے لئے خطرہ کا انتظام کیا گیا ہے۔ اس حکمت عملی میں زیادہ سے زیادہ مار پیٹ سے بچنے ، نقصان کو روکنے اور اس طرح کے فوائد ہیں ، لیکن اس میں کچھ غلط سگنل کا خطرہ بھی موجود ہے۔ مستقبل میں اس حکمت عملی کو مزید بہتر بنانے کے لئے داخلے کے حالات ، نقصان کو روکنے کی حکمت عملی ، اسٹاپ اسٹاپ اور خطرہ کے انتظام کو بہتر بنایا جاسکتا ہے۔
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
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/
// © Peter_O
//@version=4
//strategy(title="TradingView Alerts to MT4 MT5 example with cancelling pending orders", commission_type=strategy.commission.cash_per_order, commission_value=0.00003, overlay=true, default_qty_value=100000, initial_capital=1000)
// This script was created for educational purposes only.
// It is showing how to create pending orders and cancel them
// Together with syntax to send these events through TradingView alerts system
// All the way to brokers for execution
TakeProfitLevel=input(400)
// **** Entries logic **** {
periodK = 13 //input(13, title="K", minval=1)
periodD = 3 //input(3, title="D", minval=1)
smoothK = 4 //input(4, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
// plot(k, title="%K", color=color.blue)
// plot(d, title="%D", color=color.orange)
// h0 = hline(80)
// h1 = hline(20)
// fill(h0, h1, color=color.purple, transp=75)
GoLong=crossover(k,d) and k<80
GoShort=crossunder(k,d) and k>20
// } End of entries logic
// **** Pivot-points and stop-loss logic **** {
piv_high = pivothigh(high,1,1)
piv_low = pivotlow(low,1,1)
var float stoploss_long=low
var float stoploss_short=high
pl=valuewhen(piv_low,piv_low,0)
ph=valuewhen(piv_high,piv_high,0)
if GoLong
stoploss_long := low<pl ? low : pl
if GoShort
stoploss_short := high>ph ? high : ph
plot(stoploss_long, color=color.lime, title="stoploss_long")
plot(stoploss_short, color=color.red, title="stoploss_short")
// } End of Pivot-points and stop-loss logic
CancelLong=crossunder(low,stoploss_long) and strategy.position_size[1]<=0 and strategy.position_size<=0
CancelShort=crossover(high,stoploss_short) and strategy.position_size[1]>=0 and strategy.position_size>=0
entry_distance=input(10, title="Entry distance for stop orders")
plotshape(CancelLong ? stoploss_long[1]-10*syminfo.mintick : na, location=location.absolute, style=shape.labelup, color=color.gray, textcolor=color.white, text="cancel\nlong", size=size.tiny)
plotshape(CancelShort ? stoploss_short[1]+10*syminfo.mintick : na, location=location.absolute, style=shape.labeldown, color=color.gray, textcolor=color.white, text="cancel\nshort", size=size.tiny)
strategy.entry("Long", strategy.long, when=GoLong, stop=close+entry_distance*syminfo.mintick)
strategy.exit("XLong", from_entry="Long", stop=stoploss_long, profit=TakeProfitLevel)
strategy.cancel("Long", when = CancelLong)
strategy.entry("Short", strategy.short, when=GoShort, stop=close-entry_distance*syminfo.mintick)
strategy.exit("XShort", from_entry="Short", stop=stoploss_short, profit=TakeProfitLevel)
strategy.cancel("Short", when = CancelShort)
if GoLong
alertsyntax_golong='long offset=' + tostring(entry_distance) + ' slprice=' + tostring(stoploss_long) + ' tp=' + tostring(TakeProfitLevel)
alert(message=alertsyntax_golong, freq=alert.freq_once_per_bar_close)
if GoShort
alertsyntax_goshort='short offset=' + tostring(-entry_distance) + ' slprice=' + tostring(stoploss_short) + ' tp=' + tostring(TakeProfitLevel)
alert(message=alertsyntax_goshort, freq=alert.freq_once_per_bar_close)
if CancelLong
alertsyntax_cancellong='cancel long'
alert(message=alertsyntax_cancellong, freq=alert.freq_once_per_bar_close)
if CancelShort
alertsyntax_cancelshort='cancel short'
alert(message=alertsyntax_cancelshort, freq=alert.freq_once_per_bar_close)