رفتار کے رجحان کی پیروی کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-03-11 10:53:50
ٹیگز:

img

جائزہ

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

حکمت عملی منطق

حکمت عملی میں ارون اشارے کے لئے پیرامیٹرز کے دو سیٹ استعمال کیے گئے ہیں:

  • لمبی پوزیشن: Aroon ادوار 56 (اوپر) اور 20 (نیچے) ہیں
  • شارٹ پوزیشن: آرون مدت 17 (اوپر) اور 55 (نیچے) ہے

اے ایس ایچ کو 9 بار کی لمبائی کے ساتھ اعداد و شمار کے ذریعہ اختتامی قیمت کا استعمال کرتے ہوئے شمار کیا جاتا ہے۔

حکمت عملی میں داخلے اور باہر نکلنے کے مخصوص قوانین شامل ہیں:

  1. لانگ انٹری: ایک لانگ پوزیشن اس وقت شروع کی جاتی ہے جب ایرون اشارے نے کم حد کو عبور کیا ، جس سے ممکنہ اپ ٹرینڈ کی نشاندہی ہوتی ہے۔
  2. لانگ ایگزٹ: ایک لانگ پوزیشن اس وقت بند ہو جاتی ہے جب آرون نیچے کی حد سے پیچھے نکل جاتا ہے۔
  3. شارٹ انٹری: ایک شارٹ پوزیشن اس وقت شروع کی جاتی ہے جب Aroon اوپری حد سے نیچے گزر جاتا ہے، جس سے ممکنہ ڈاؤن ٹرینڈ کا اشارہ ہوتا ہے۔
  4. شارٹ ایگزٹ: ایک شارٹ پوزیشن اس وقت بند ہو جاتی ہے جب آرون اوپری حد سے پیچھے نکل جاتا ہے۔

فوائد کا تجزیہ

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

دو ایرون پیرامیٹرز کا استعمال مارکیٹ کے بدلتے حالات میں موافقت میں لچک کی اجازت دیتا ہے۔

خطرے کا تجزیہ

اہم حدود خود اشارے سے پیدا ہوتی ہیں۔ ایرون رینج سے منسلک مارکیٹوں کے دوران جدوجہد کرتا ہے اور غلط سگنل پیدا کرسکتا ہے۔ اے ایس ایچ بھی قلیل مدتی میں زیادہ رد عمل کا شکار ہے۔

نامناسب پیرامیٹر کی ترتیبات کارکردگی کو بھی متاثر کرسکتی ہیں۔ ایرون کے لمبے / مختصر ادوار اور ایش کی لمبائی کو مثالی مجموعے تلاش کرنے کے لئے اصلاح کی ضرورت ہوگی۔

بہتری کی ہدایات

اضافی فلٹرز شامل کیے جاسکتے ہیں ، جیسے قیمتوں میں توڑ یا بڑھتی ہوئی حجم ، غیر مستحکم حالات کے دوران غلط سگنل سے بچنے کے ل.

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

نتیجہ

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


/*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






مزید