ولیمز کی گلیگیٹر اسکیلپنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-25 17:42:27
ٹیگز:

جائزہ

یہ حکمت عملی بل ولیمز الگیٹر اشارے پر مبنی ہے لیکن قیمت ان پٹ کے طور پر ہائکن ایشی موم بتیاں استعمال کرتی ہے۔ یہ ایک قلیل مدتی اسکیلپنگ حکمت عملی ہے جو 1 منٹ سے 5 منٹ کے ٹائم فریم کے لئے موزوں ہے۔

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

حکمت عملی کے اہم تجارتی اصول یہ ہیں:

  1. قیمت کی کارروائی کے لئے باقاعدہ موم بتیوں کے بجائے ہائکن آشی موم بتیوں کا استعمال۔ ہائکن آشی شور کو فلٹر کرتا ہے اور رجحان کی نشاندہی کرتا ہے۔

  2. بل ولیمز گلیگیٹر سے تین چلتی اوسط لائنوں کا اطلاق کرتے ہوئے - جبڑے، دانت اور ہونٹ۔ وہ رجحان کی سمت کا تعین کرنے کے لئے چلتی اوسط کی طرح کام کرتے ہیں۔

  3. جب لائنوں کو جبڑے (سب سے کم) ، دانت (درمیانی) ، ہونٹ (سب سے زیادہ) کے طور پر اسٹیک کیا جاتا ہے تو ، یہ ایک اپ ٹرینڈ کی نشاندہی کرتا ہے۔ جب جبڑے (سب سے زیادہ) ، دانت (درمیانی) ، ہونٹ (سب سے کم) کے ساتھ الٹ دیا جاتا ہے تو ، یہ ایک ڈاؤن ٹرینڈ کی نشاندہی کرتا ہے۔

  4. اندراجات ہائکن آشی موم بتی کی سمت + تمساح لائن کی سیدھ پر مبنی ہیں۔ تیزی سے موم بتیوں اور بیل سیٹ اپ پر لمبی اندراجات؛ bearish موم بتیوں اور bear سیٹ اپ پر مختصر اندراجات۔

  5. باہر نکلتا ہے جب تمساح لائنوں کراس، رجحان کی تبدیلی کا اشارہ.

  6. فکسڈ لے منافع، سٹاپ نقصان کے پوائنٹس خطرے کے انتظام کے لئے استعمال کیا. ہدف پوائنٹس، سٹاپ نقصان کے پوائنٹس، ٹریلنگ سٹاپ وغیرہ تشکیل دے سکتے ہیں.

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

فوائد

اس حکمت عملی کے اہم فوائد یہ ہیں:

  1. دوہری اشارے فلٹرنگ جھوٹے سگنل کو کم سے کم کرتی ہے۔ ہیکن ایشی + ایلیگیٹر سگنل کے معیار کو بہتر بناتا ہے۔

  2. واضح اور بدیہی رجحان کی نشاندہی۔ مگرمچرچھ لائنوں میں واضح بیل / ریچھ سگنل ہوتے ہیں۔

  3. قلیل مدتی اسکیلپنگ کے لئے موثر۔ 1 منٹ سے 5 منٹ کے چارٹ پر قیمتوں میں اتار چڑھاؤ کو پکڑتا ہے۔

  4. سادہ پیرامیٹرز۔ پیچیدہ اصلاح کی ضرورت نہیں ہے۔

  5. سخت رسک مینجمنٹ کے ذریعے منافع لیں، سٹاپ نقصان پوائنٹس.

  6. داخلہ/باہر نکلنے کے قواعد کو الگٹر لائن کراسنگ پر مبنی بنایا گیا ہے۔

  7. لاگو کرنے اور نقل کرنے میں آسان۔ ابتدائی دوستانہ۔

خطرات

غور کرنے کے لئے اہم خطرات یہ ہیں:

  1. وِپساؤ کے باعث ڈراؤونگ کا خطرہ۔ کثرت سے التماس سگنلز تجارت اور اخراجات میں اضافہ کر سکتے ہیں۔

  2. رینج سے منسلک مارکیٹ کا خطرہ۔ کشیدہ حالات کے دوران کراس اوورز ناکام ہوجاتے ہیں۔

  3. زیادہ سے زیادہ اصلاح کا خطرہ۔ خراب پیرامیٹر کی ترتیب سے منحنی فٹنگ۔

  4. اشارے کی ناکامی کا خطرہ۔ شدید حالات کے دوران گینگڑ کام کرنا بند کر سکتا ہے۔

  5. سٹاپ نقصان کی کمی کا خطرہ۔ خالی جگہیں غیر منصفانہ نقصانات کا سبب بننے والی رکاوٹوں کا سبب بن سکتی ہیں۔

  6. اعلی تجارتی تعدد کے خطرات۔ زیادہ تجارت سے لین دین کے اخراجات میں بھی اضافہ ہوتا ہے۔

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

بہتر مواقع

حکمت عملی کو بہتر بنانے کے کچھ طریقے یہ ہیں:

  1. زیادہ جیت کی شرح کے لئے RSI جیسے اضافی فلٹر شامل کریں.

  2. ہر تجارت میں نقصان کو کنٹرول کرنے کے لئے متحرک اے ٹی آر اسٹاپ استعمال کریں۔

  3. شرط کے سائز کو بہتر بنانے کے لئے پوزیشن سائزنگ کے قواعد شامل کریں۔ رجحان کی طاقت کے ساتھ اضافہ کریں۔

  4. انٹری ٹائمنگ کے لئے چارٹ پیٹرن یا دیگر تکنیکی تجزیہ کا امتزاج کریں۔

  5. آلہ کی قسم (اسٹاک، فاریکس وغیرہ) کی بنیاد پر پیرامیٹرز کو بہتر بنائیں.

  6. موافقت پذیر پیرامیٹر اصلاح کے لئے مشین لرننگ متعارف کروائیں۔

  7. منافع لینے کے مقابلے میں سٹاپ نقصان کے تناسب کو ٹھیک کرنے کے لئے توقعات کا تجزیہ کریں.

مسلسل بہتری کے ساتھ، حکمت عملی ایک مضبوط قلیل مدتی تجارتی نظام بن سکتی ہے.

نتیجہ

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


/*backtest
start: 2022-09-18 00:00:00
end: 2023-09-24 00:00:00
period: 4d
basePeriod: 1d
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/
// © 03.freeman
//Scalping strategy based on Bill Williams Alligator technique but applied to heikin ashi candles
//This strategy has to be applied to standard candles and low time frames (1min to 5min)
//@version=4
strategy("Bill Williams Alligator improved", shorttitle="Scalping alligator",overlay=true)
//source = input(close)
useHA = input (true,"Use heikin ashi candle?")

// ----------MA calculation - ChartArt-------------
smoothinput = input(1, minval=1, maxval=5, title='Moving Average Calculation: (1=SMA), (2=EMA), (3=WMA), (4=Linear), (5=VWMA)')

calc_ma(src,l) => 
    smoothinput == 1 ? sma(src, l):smoothinput == 2 ? ema(src, l):smoothinput == 3 ? wma(src, l):smoothinput == 4 ? linreg(src, l,0):smoothinput == 5 ? vwma(src,l):na
//----------------------------------------------

heikinashi_close = security(heikinashi(syminfo.tickerid), timeframe.period, close)
heikinashi_open = security(heikinashi(syminfo.tickerid), timeframe.period, open)
heikinashi_hl2 = security(heikinashi(syminfo.tickerid), timeframe.period, hl2)

direzione=heikinashi_close>heikinashi_open and heikinashi_close[1]>heikinashi_open[1]? 1 : heikinashi_close<heikinashi_open and heikinashi_close[1]<heikinashi_open[1]? -1 : 0

jawLength = input(13, minval=1, title="Jaw Length")
teethLength = input(8, minval=1, title="Teeth Length")
lipsLength = input(5, minval=1, title="Lips Length")
jawOffset = input(8, title="Jaw Offset")
teethOffset = input(5, title="Teeth Offset")
lipsOffset = input(3, title="Lips Offset")
jaw = calc_ma(heikinashi_hl2, jawLength)
teeth = calc_ma(heikinashi_hl2, teethLength)
lips = calc_ma(heikinashi_hl2, lipsLength)
plot(jaw, title="jaw",offset = jawOffset, color=#3BB3E4)
plot(teeth, title="teeth",offset = teethOffset, color=#FF006E)
plot(lips, title="lips",offset = lipsOffset, color=#36C711)

longCondition = direzione[0]==1 and jaw<teeth and jaw<lips and teeth<lips 
shortCondition = direzione[0]==-1 and jaw>teeth and jaw>lips and teeth>lips


//  Strategy: (Thanks to JayRogers)
// === STRATEGY RELATED INPUTS ===
//tradeInvert     = input(defval = false, title = "Invert Trade Direction?")
// the risk management inputs
inpTakeProfit   = input(defval = 0, title = "Take Profit Points", minval = 0)
inpStopLoss     = input(defval = 0, title = "Stop Loss Points", minval = 0)
inpTrailStop    = input(defval = 0, title = "Trailing Stop Loss Points", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset Points", minval = 0)

// === RISK MANAGEMENT VALUE PREP ===
// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => direzione[0]==1 and jaw<teeth and jaw<lips and teeth<lips // functions can be used to wrap up and work out complex conditions
exitLong() => jaw>teeth or jaw>lips or teeth>lips
strategy.entry(id = "Buy", long = true, when = enterLong() )    // use function or simple condition to decide when to get in
strategy.close(id = "Buy", when = exitLong() )                  // ...and when to get out

// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => direzione[0]==-1 and jaw>teeth and jaw>lips and teeth>lips
exitShort() => jaw<teeth or jaw<lips or teeth<lips
strategy.entry(id = "Sell", long = false, when = enterShort())
strategy.close(id = "Sell", when = exitShort() )

// === STRATEGY RISK MANAGEMENT EXECUTION ===
// finally, make use of all the earlier values we got prepped
strategy.exit("Exit Buy", from_entry = "Buy", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Sell", from_entry = "Sell", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)

// === Backtesting Dates === thanks to Trost

testPeriodSwitch = input(false, "Custom Backtesting Dates")
testStartYear = input(2020, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testStopHour = input(23, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStopHour,0)
testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
isPeriod = true
// === /END

if not isPeriod
    strategy.cancel_all()
    strategy.close_all()

مزید