
اس حکمت عملی کا مقصد مارکیٹ کے رجحانات اور ممکنہ تجارتی مواقع کی نشاندہی کرنا ہے۔ Aroon رجحانات کی طاقت اور سمت کی نشاندہی کرنے میں مدد کرتا ہے ، جبکہ ASH محرک طاقت کی بصیرت فراہم کرتا ہے۔ ان اشارے کو جوڑ کر ، حکمت عملی ایتھروم مارکیٹ میں منافع بخش تجارتی مواقع کو پکڑنے کی کوشش کرتی ہے۔
اس حکمت عملی میں ارون کے اشارے کے دو پیرامیٹرز کا استعمال کیا گیا ہے:
ASH کی لمبائی 9 K تار ہے اور اس میں اختتامی قیمت کو بطور ڈیٹا ماخذ استعمال کیا گیا ہے۔
حکمت عملی میں مخصوص داخلے اور باہر نکلنے کی شرائط شامل ہیں:
اس حکمت عملی کا سب سے بڑا فائدہ یہ ہے کہ اس میں دو اشارے استعمال کیے جاتے ہیں۔ آرون اشارے رجحان کی سمت اور طاقت کا مؤثر انداز میں فیصلہ کرسکتے ہیں ، جبکہ اے ایس ایچ اشارے اضافی حرکیات کی بصیرت فراہم کرتے ہیں جو داخلے اور باہر نکلنے کے وقت کا فیصلہ کرنے میں مدد کرتے ہیں۔
اس کے علاوہ، دو مختلف پیرامیٹرز کے ساتھ ارون کے اشارے کا استعمال کرتے ہوئے، فاریکس ٹریڈنگ کے فوائد اور نقصانات کا تعین کرنے کے لئے، مارکیٹ کے رجحانات میں تبدیلیوں کے لئے لچکدار ہے.
اس حکمت عملی کا بنیادی خطرہ اشارے کی اپنی حدود میں ہے۔ آرون اشارے زلزلے کے لئے کمزور ہیں اور غلط سگنل پیدا کرنے میں آسانی سے کام کرتے ہیں۔ اے ایس ایچ اشارے بھی قلیل مدتی حد سے زیادہ الٹ جانے کے لئے زیادہ حساس ہیں۔
اس کے علاوہ ، اگر پیرامیٹرز کی ترتیب غلط ہے تو اس سے حکمت عملی کی کارکردگی پر بھی اثر پڑتا ہے۔ بہترین پیرامیٹرز کا مجموعہ تلاش کرنے کے لئے آرون کے اشارے کی لمبائی اور ایش اشارے کی لمبائی کو بہتر بنانے اور جانچنے کی ضرورت ہے۔
فلٹرز کو شامل کرنے پر غور کیا جاسکتا ہے ، جیسے قیمتوں میں اضافے ، تجارت میں اضافے وغیرہ ، تاکہ ہنگامہ خیز حالات میں غلط سگنل سے بچا جاسکے۔
مختلف اشارے کے پیرامیٹرز کے مجموعے اور وزن کی جانچ کی جاسکتی ہے ، تاکہ بہترین پیرامیٹرز کو تلاش کیا جاسکے۔ آپ دوسرے اشارے جیسے آر ایس آئی ، کے ڈی وغیرہ کے ساتھ مل کر بھی کوشش کر سکتے ہیں ، تاکہ حکمت عملی کی کارکردگی کو بہتر بنانے کے لئے ایک مضبوط اشارے کا مجموعہ تشکیل دیا جاسکے۔
اس حکمت عملی میں ارون اور اے ایس ایچ دونوں اشارے استعمال کرنے کے فوائد کو مربوط کیا گیا ہے۔ اس بات کی تصدیق کی گئی ہے کہ دوہری اشارے کے ذریعہ رجحانات کا فیصلہ کرنے اور ٹرن آؤٹ پوائنٹس کو پکڑنے میں بہتر کارکردگی کا مظاہرہ کیا گیا ہے۔ تاہم ، پیرامیٹرز کی ترتیب اور اشارے کی حدود کو بہتر بنانے کی ضرورت ہے۔ مجموعی طور پر ، یہ خیال نیا ہے اور مزید بہتری اور توثیق کے قابل ہے۔
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © IkkeOmar
//@version=5
strategy("Aroon and ASH strategy - ETHERIUM [IkkeOmar]", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=1, commission_value=0, slippage=2)
// AROON SETTINGS ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Inputs for longs
length_upper_long = input.int(56, minval=15)
length_lower_long = input.int(20, minval=5)
// Inputs for shorts
//Aroon Short Side Inputs
length_upper_short = input.int(17, minval=10)
length_lower_short = input.int(55)
// ABSOLUTE STRENGTH HISTOGRAM SETTINGS ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
length = input(title='Length', defval=9)
src = input(title='Source', defval=close)
// CALCULATIONS: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Aroon
upper_long = 100 * (ta.highestbars(high, length_upper_long + 1) + length_upper_long) / length_upper_long
lower_long = 100 * (ta.lowestbars(low, length_lower_long + 1) + length_lower_long) / length_lower_long
upper_short = 100 * (ta.highestbars(high, length_upper_short + 1) + length_upper_short) / length_upper_short
lower_short = 100 * (ta.lowestbars(low, length_lower_short + 1) + length_lower_short) / length_lower_short
// Ahrens Moving Average
ahma = 0.0
ahma := nz(ahma[1]) + (src - (nz(ahma[1]) + nz(ahma[length])) / 2) / length
// CONDITIONS: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Options that configure the backtest start date
startDate = input(title='Start Date', defval=timestamp('01 Jan 2018 00:00'))
// Option to select trade directions
tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Long')
// Translate input into trading conditions
longOK = tradeDirection == 'Long' or tradeDirection == 'Both'
shortOK = tradeDirection == 'Short' or tradeDirection == 'Both'
// Check if the close time of the current bar falls inside the date range
inDateRange = true
longCondition = ta.crossover(upper_long, lower_long) and inDateRange and lower_long >= 5 and longOK
longCloseCondition = ta.crossunder(upper_long, lower_long) and inDateRange
shortCondition = ta.crossunder(upper_short, lower_short) and inDateRange and shortOK
shortCloseCondition = ta.crossover(upper_short, lower_short) and inDateRange
// Start off with the initial states for the longs and shorts
var in_short_trade = false
var in_long_trade = false
var long_signal = false
var short_signal = false
if longCondition
long_signal := true
if longCloseCondition
long_signal := false
if shortCondition
short_signal := true
if shortCloseCondition
short_signal := false
// While no trades active and short condition is met, OPEN short
if true and in_short_trade == false and in_long_trade == false and shortCondition
strategy.entry("short", strategy.short, when = shortCondition)
in_short_trade := true
in_long_trade := false
// While no trades and long condition is met, OPEN LONG
if true and in_short_trade == false and in_long_trade == false and longCondition
strategy.entry("long", strategy.long, when = longCondition)
in_long_trade := true
in_short_trade := false
// WHILE short trade and long condition is met, CLOSE SHORT and OPEN LONG
if true and in_short_trade == true and in_long_trade == false and longCondition
// strategy.close("short", when = longCondition)
strategy.entry("long", strategy.long, when = longCondition)
in_short_trade := false
in_long_trade := true
// WHILE long trade and short condition is met, CLOSE LONG and OPEN SHORT
if true and in_short_trade == false and in_long_trade == true and shortCondition
// strategy.close("long", when = shortCondition)
strategy.entry("short", strategy.short, when = shortCondition)
in_short_trade := true
in_long_trade := false
// WHILE long trade and exit long condition is met, CLOSE LONG
// if short signal is active, OPEN SHORT
if true and in_short_trade == false and in_long_trade == true and longCloseCondition
if short_signal
strategy.entry("short", strategy.short, when = short_signal)
in_long_trade := false
in_short_trade := true
else
strategy.close("long", when = longCloseCondition)
in_long_trade := false
in_short_trade := false
// if in short trade only and exit short condition is met, close the short
// if long signal still active, OPEN LONG
if true and in_short_trade == true and in_long_trade == false and shortCloseCondition
if long_signal
strategy.entry("long", strategy.long, when = long_signal)
in_short_trade := false
in_long_trade := true
else
strategy.close("short", when = shortCloseCondition)
in_short_trade := false
in_long_trade := false