K-لائن مسلسل نمبر بیل اور ریچھ کے فیصلے کی حکمت عملی

EMA ATR
تخلیق کی تاریخ: 2024-05-17 13:54:06 آخر میں ترمیم کریں: 2024-05-17 13:54:06
کاپی: 1 کلکس کی تعداد: 682
1
پر توجہ دیں
1617
پیروکار

K-لائن مسلسل نمبر بیل اور ریچھ کے فیصلے کی حکمت عملی

جائزہ

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

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

  1. مسلسل کثیر سر اور خالی سر کی شرائط کی تعداد کو ریکارڈ کریں۔ اگر اختتامی قیمت پچھلی K لائن سے زیادہ ہے تو ، کثیر سر کا شمار 1 ، خالی سر کا شمار 0 پر ری سیٹ کیا جاتا ہے۔ اگر اختتامی قیمت پچھلی K لائن سے کم ہے تو ، خالی سر کا شمار 1 ، کثیر سر کا شمار 0 پر ری سیٹ کیا جاتا ہے۔ دوسری صورت میں دونوں گنتی 0 پر ری سیٹ کی جاتی ہے۔
  2. جب کثیر سر کا شمار مقررہ تعداد k تک پہنچ جائے تو کثیر سر پوزیشن کھولیں اور سٹاپ نقصان اور اسٹاپ کو ترتیب دیں۔
  3. ایک سے زیادہ پوزیشنوں کے لئے ، جب پوزیشن کھولنے کے بعد سب سے زیادہ قیمت ریکارڈ کی جاتی ہے ، جب اعلی ترین قیمت پوزیشن کھولنے کی قیمت سے زیادہ iTGT کی کم سے کم تبدیلی کی اکائی سے زیادہ ہو ، اور جب بند ہونے والی قیمت زیادہ سے زیادہ قیمت سے نیچے iPcnt٪ پر واپس آجائے تو ، پوزیشن کو صاف کریں۔
  4. جب خالی سر کی گنتی مقررہ تعداد k2 تک پہنچ جائے تو ، خالی سر کی پوزیشن کھولیں اور اسٹاپ نقصان اور اسٹاپ کو ترتیب دیں۔
  5. خالی سر پوزیشنوں کے لئے ، کم از کم قیمت ریکارڈ کی گئی جب پوزیشن کھولنے کے بعد ، جب کم از کم قیمت پوزیشن کھولنے کی قیمت iTGT کی کم سے کم تبدیلی کی اکائی سے کم ہو ، اور اختتامی قیمت کم از کم قیمت سے اوپر iPcnt٪ تک واپس آجائے ، تو پوزیشن صاف کریں۔

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-04-16 00:00:00
end: 2024-05-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("K Consecutive Candles 數來寶V2", max_bars_back=300, overlay=true)

// 定義用戶輸入
k = input.int(3, title="Number of Consecutive Candles for Long", minval=1)
k2 = input.int(3, title="Number of Consecutive Candles for Short", minval=1)
stopLossTicks = input.int(500, title="Stop Loss (Ticks)")
takeProfitTicks = input.int(500, title="Take Profit (Ticks)")
iTGT = input.int(200,"iTGT")  // 移動停利點
iPcnt = input.int(50,"iPcnt")  // 移動停利%

var float TrailValue = 0
var float TrailExit = 0
var float  vMP = 0

BarsSinceEntry = ta.barssince(strategy.position_size == 0)

vMP := strategy.position_size

// 创建一个包含键值对的字典
addArrayData(type, value) =>
    alert_array = array.new_string()
    array.push(alert_array, '"timenow": ' + str.tostring(timenow))
    array.push(alert_array, '"seqNum": ' + str.tostring(value))
    array.push(alert_array, '"type": "' + type + '"')
    alertstring = '{' + array.join(alert_array,', ') + '}'


// 定義條件變量
var int countLong = 0  // 記錄連續多頭條件成立的次數
var int countShort = 0 // 記錄連續空頭條件成立的次數

// 計算連續大於或小於前一根的收盤價格的次數
if close > close[1]
    countLong += 1
    countShort := 0 // 重置空頭計數
else if close < close[1]
    countShort += 1
    countLong := 0 // 重置多頭計數
else
    countLong := 0
    countShort := 0

// 開設多頭倉位條件
if countLong >= k
    strategy.entry("Long Entry", strategy.long)
    strategy.exit("Exit Long", "Long Entry", loss=stopLossTicks, profit=takeProfitTicks)
    

if vMP>0
    TrailValue := ta.highest(high,BarsSinceEntry)
    TrailExit := TrailValue - iPcnt*0.01*(TrailValue - strategy.position_avg_price)
    if TrailValue > strategy.position_avg_price + iTGT * syminfo.minmove/syminfo.pricescale and close < TrailExit
        
        strategy.close("Long Entry", comment = "Trl_LX"+ str.tostring(close[0]))
// 開設空頭倉位條件
if countShort >= k2
    strategy.entry("Short Entry", strategy.short)
    strategy.exit("Exit Short", "Short Entry", loss=stopLossTicks, profit=takeProfitTicks)

if vMP<0    
    TrailValue := ta.lowest(low,BarsSinceEntry)
    TrailExit := TrailValue - iPcnt*0.01*(TrailValue - strategy.position_avg_price)
    if TrailValue < strategy.position_avg_price - iTGT * syminfo.minmove/syminfo.pricescale and close > TrailExit
        
        strategy.close("short60", comment = "Trl_SX"+ str.tostring(close[0]))