
اس حکمت عملی کی بنیاد پر سورج کی سطح پر سمندری طوفان ACHK لائن، مختلف دورانیہ کی سطح پر متحرک تجزیہ کے ساتھ مل کر، متحرک طور پر موجودہ اسٹاک کی قیمتوں کے پیچھے حمایت کی طاقت کا تعین کرنے کے لئے، تاکہ یہ فیصلہ کرنے کے لئے کہ یہ وقت ہے کہ اس کی پوزیشن اور اس کی پوزیشن کا وقت ہے.
مختلف دورانیہ کی سطح پر سمندری طوفان کی K لائن کی اختتامی قیمت کا حساب لگائیں۔ یہ بعد میں متحرک توانائی کے حساب کی بنیاد ہے۔
ماہ اور دن کی لائنوں کے افتتاحی قیمتوں اور مختلف تاریخی ادوار کے اختتامی قیمتوں کے اتار چڑھاؤ کا حساب لگایا گیا ہے۔ یہ موجودہ اسٹاک کی قیمتوں کے مقابلے میں تاریخی قیمتوں کی متحرک طاقت کی عکاسی کرتا ہے۔
چاند کی لکیر اور سورج کی لکیر کے لئے متحرک توانائی کے اضافے اور کمی کو بالترتیب اوسط لینا ، کچھ شور کو فلٹر کرنا ، مستحکم چاند کی لکیر ، سورج کی لکیر متحرک توانائی کے اشارے حاصل کرنا۔
اوسط متحرک قیمتوں میں اضافے اور کمی کی بنیاد پر ، موجودہ اسٹاک قیمتوں کی عکاسی کرنے والی مارکیٹ سپورٹ فورس ، یعنی مارکیٹ میں اتار چڑھاؤ کے اثرات کو ختم کرنے کی قیمت کا حساب لگایا جاسکتا ہے۔ اس قیمت کو موجودہ اصل اسٹاک قیمتوں کی متحرک حد کے طور پر دیکھا جاسکتا ہے۔
جب اختتامی قیمت متحرک حد سے زیادہ ہو تو ، ماہانہ زیادہ پوزیشن بنائیں۔ جب اختتامی قیمت متحرک حد سے کم ہو تو ، پوزیشن کو ختم کردیں۔
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ یہ صرف اسٹاک کی قیمتوں کی پیروی نہیں کرتا ہے۔ اس کے بجائے ، اسٹاک کی قیمتوں کے پیچھے کی جانے والی حرکیات کی بنیاد پر حقیقی معاونت کی طاقت کا حساب لگایا جاتا ہے ، جس کے نتیجے میں پوزیشن اور اسٹاپ نقصان پیدا ہوتا ہے۔ یہ ہنگامہ خیز حالات کے شور کو مؤثر طریقے سے فلٹر کرسکتا ہے اور مستحکم اضافے کے مواقع کو لاک کرسکتا ہے۔
اس کے علاوہ، حکمت عملی پر مبنی اعداد و شمار سمندری شہد کی K لائنوں سے مکمل طور پر آتے ہیں. یہ خاص K لائن خود کو منسلک سائیکل پر زیادہ انحصار کرنے کے مسائل کو کم کر سکتا ہے. لہذا حکمت عملی کی استحکام دیگر K لائن حکمت عملیوں سے بہتر ہے.
اس حکمت عملی کا سب سے بڑا خطرہ یہ ہے کہ متحرک توانائی کا حساب کتاب تاریخی قیمتوں پر مبنی ہوتا ہے۔ اگر کمپنی کے بنیادی اصولوں اور حالات میں کوئی اہم تبدیلی آتی ہے تو ، تاریخی قیمتوں کی نمائندگی کم ہوجاتی ہے ، جس کے نتیجے میں پوزیشن لگانے اور نقصان کو روکنے کے فیصلے میں انحراف پیدا ہوتا ہے۔
اس کے علاوہ ، حکمت عملی ماہانہ اور دن کی مدت کا استعمال کرتی ہے۔ اس کا مطلب یہ ہے کہ حکمت عملی میں زیادہ حقیقی وقت نہیں ہوتا ہے اور وہ مارکیٹ میں ہونے والی شدید تبدیلیوں پر تیزی سے رد عمل ظاہر نہیں کرسکتی ہے۔ اس سے مارکیٹ میں تبدیلی آنے پر نقصان کا خطرہ پیدا ہوتا ہے۔
ان خطرات کو کم کرنے کے لئے ، اعلی تعدد کے اعداد و شمار کو متعارف کرانے پر غور کیا جاسکتا ہے ، اور کمپنی کے بنیادی اصولوں کے بارے میں حقیقی وقت کی آراء۔ یا اس کو قبول کرنے اور بہتر بنانے کے لئے دوسرے ، زیادہ موضوعی تجارتی اشاروں کے ساتھ مل کر۔
اس حکمت عملی کو مزید بہتر بنانے کے لیے درج ذیل نکات پر غور کیا جا سکتا ہے۔
اس کے علاوہ، ہائی آشی K لائن خود کو بہتر بنانے کے لئے استعمال کیا جا سکتا ہے، جیسے وزن کی ترتیب کو ایڈجسٹ کرنا.
زیادہ سے زیادہ مختلف ادوار کے اعداد و شمار کو شامل کریں، ایک اشاریہ اوسط متحرک توانائی کی درجہ بندی کے نظام کی تعمیر، استحکام کو بہتر بنانے کے لئے.
اس حکمت عملی کو اپ ڈیٹ کرنے کے لئے زیادہ تعدد کے اعداد و شمار کو متعارف کرایا گیا ہے، جیسے دن کے اندر اندر منٹ کی لائن.
اس کے علاوہ ، اس نے کمپنی کے بنیادی اصولوں کے بارے میں آراء کے لئے انفارمیشن ، بشمول اعلانات ، تنظیم نو کی افواہوں اور دیگر معلومات کا حساب لگایا۔
ماہانہ بنیاد پر ذخیرہ کرنے کی بنیاد پر ، روزانہ یا ہفتہ وار اضافہ کی روک تھام اور جمع کرنے کے طریقہ کار پر غور کیا جاسکتا ہے۔
یہ حکمت عملی مجموعی طور پر بہت مستحکم ہے اور متحرک ٹریکنگ کے ذریعہ خطرے کو مؤثر طریقے سے کنٹرول کرتی ہے۔ اس کا سب سے بڑا فائدہ یہ ہے کہ اسٹاک کی قیمتوں کے پیچھے متحرک صلاحیتوں کا استعمال کرکے حقیقی صورتحال کا تعین کیا جاتا ہے ، نہ کہ صرف اسٹاک کی قیمتوں پر عمل پیرا ہونا۔ اس حکمت عملی کو مزید بہتر بنانے کی امید ہے کہ مارکیٹ کے مواقع کو بہتر طور پر پکڑنے کے ل more ، زیادہ تعدد اور زیادہ معلوماتی اعداد و شمار کو متعارف کرانے کے ساتھ۔
/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FrancoPassuello
//@version=5
strategy("Heiken Ashi ADM", overlay=true)
haClose = (open + high + low + close) / 4
// prevHaOpen = line.new(na, na, na, na, width = 1)
haOpen = (open[1] + close[1]) / 2
// line.set_xy1(prevHaOpen, bar_index[1], nz(haOpen[1]))
// line.set_xy2(prevHaOpen, bar_index, haClose[1])
[monopen, _1monopen, _2monopen, _3monopen, _4monopen, _5monopen, _6monopen] = request.security(syminfo.tickerid, "M", [haOpen, haOpen[1], haOpen[2], haOpen[3], haOpen[4], haOpen[5], haOpen[6]] , barmerge.gaps_off, barmerge.lookahead_on)
[monclose, _1monclose, _3monclose, _6monclose] = request.security(syminfo.tickerid, "M", [haClose, haClose[1], haClose[3], haClose[6]] , barmerge.gaps_off, barmerge.lookahead_on)
[dayclose1, _21dayclose, _63dayclose, _126dayclose, dayclose] = request.security(syminfo.tickerid, "1D", [haClose[1], haClose[21], haClose[63], haClose[126], haClose], barmerge.gaps_off, barmerge.lookahead_on)
[dayopen1, _21dayopen, _63dayopen, _126dayopen] = request.security(syminfo.tickerid, "1D", [haOpen[1], haOpen[21], haOpen[63], haOpen[126]], barmerge.gaps_off, barmerge.lookahead_on)
get_rate_of_return(price1, price2) =>
return_ = (price1/price2 -1)*100
return_
m0 = get_rate_of_return(monclose, monopen)
m1 = get_rate_of_return(_1monclose, _1monopen)
m2 = get_rate_of_return(monclose, _2monopen)
m3 = get_rate_of_return(_1monclose, _3monopen)
m4 = get_rate_of_return(monclose, _4monopen)
m5 = get_rate_of_return(monclose, _5monopen)
m6 = get_rate_of_return(_1monclose, _6monopen)
MS = (m1 + m3 + m6)/100
CS = (m0 + m2 + m5)/100
d1 = get_rate_of_return(dayclose1, _21dayopen)
d2 = get_rate_of_return(dayclose1, _63dayopen)
d3 = get_rate_of_return(dayclose1, _126dayopen)
DS = (d1 + d2 + d3)/100
//Last (DAILY)
lastd_s_avg1 = DS/3
lastd_Approximate1 = dayclose1*(1-lastd_s_avg1)
last_approx1_d21 = lastd_Approximate1 / _21dayopen-1
last_approx1_d63 = lastd_Approximate1 / _63dayopen-1
last_approx1_d126 = lastd_Approximate1 / _126dayopen-1
lastd_s_avg2 = (last_approx1_d21 + last_approx1_d63 + last_approx1_d126) / 3
lastd_approximate2 = (dayclose1)*(1-(lastd_s_avg1 + lastd_s_avg2))
lastd_price = lastd_approximate2
//plot(lastd_price,color = color.rgb(255, 255, 255, 14), title = "Last momentum threshold")
//Last
last_s_avg1 = MS/3
last_Approximate1 = _1monclose*(1-last_s_avg1)
last_approx1_m1 = last_Approximate1 / _1monopen-1
last_approx1_m3 = last_Approximate1 / _3monopen-1
last_approx1_m6 = last_Approximate1 / _6monopen-1
last_s_avg2 = (last_approx1_m1 + last_approx1_m3 + last_approx1_m6) / 3
last_approximate2 = (_1monclose)*(1-(last_s_avg1 + last_s_avg2))
last_price = last_approximate2
Scoring_price = _1monclose*(1-CS)
plot(last_price,color = color.rgb(255, 255, 255, 14), title = "Last momentum threshold")
//plot(Scoring_price,color = color.rgb(234, 0, 255, 14), title = "Last momentum threshold")
//Long based on month close and being the first trade of the month.
var int lastClosedMonth = -1
limit_longCondition = _1monclose > last_approximate2 and (lastClosedMonth == -1 or month(time) != lastClosedMonth)
// Long based on day close and being the first trade of the month.
limit_Dlongcondition = dayclose1 > lastd_approximate2 and (lastClosedMonth == -1 or month(time) != lastClosedMonth)
// Close trade based on day close
DCloseLongCondition = dayclose1<lastd_approximate2
//Old standard Trading rules
longCondition = _1monclose > Scoring_price
MCloseLongCondition = _1monclose<Scoring_price
shortCondition = CS < 0
if (longCondition)
strategy.entry("Long", strategy.long)
if (strategy.position_size > 0 and MCloseLongCondition)
strategy.close("Long")
lastClosedMonth := month(time)