وسائل لوڈ ہو رہے ہیں... لوڈنگ...

لچکدار سٹاپ نقصان کے ساتھ پی بی ایس اے آر بیک ٹیسٹ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-10-11 15:22:26
ٹیگز:

جائزہ

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

اصول

یہ حکمت عملی بنیادی طور پر رجحان کی نشاندہی کرنے والے موڑ کے مقامات پر لچکدار روکنے والے اشارے کا استعمال کرتی ہے۔ اشارے کے اندر حقیقی حد کے اشارے کا استعمال کرتے ہوئے حد کی قیمتوں کی نشاندہی کی جاتی ہے ، جب قیمت حد سے زیادہ ہوتی ہے تو اسے غیر معمولی توڑ سمجھا جاتا ہے ، اور رجحان کی تبدیلی کا امکان طے کیا جاتا ہے۔ خاص طور پر ، اشارے کے اندر دو متغیرات برقرار رہتے ہیں: حد کی قیمت (EP) اور ٹرگر قیمت (TP) ؛ EP موجودہ رجحان کے تحت سب سے زیادہ قیمت یا کم قیمت کی نمائندگی کرتا ہے۔ TP کا حساب EP کے ذریعہ کیا جاتا ہے۔

جب قیمت اوپر کی طرف بڑھتی ہے تو ، جب قیمت EP سے زیادہ ہوتی ہے تو ، اسے غیر معمولی توڑ کے طور پر تعین کیا جاتا ہے ، اس وقت EP سب سے زیادہ قیمت اور TP کم ترین قیمت کے طور پر اپ ڈیٹ ہوتا ہے۔ جب قیمت TP سے کم ہوتی ہے تو ، یہ رجحان الٹ جاتا ہے ، جس سے فروخت کا اشارہ پیدا ہوتا ہے۔ جب یہ نیچے کی طرف جاتا ہے تو ، اصول ایک جیسے ہیں۔

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

فوائد

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

  1. اس کے علاوہ ، یہ بھی کہا جاتا ہے کہ اس کی وجہ یہ ہے کہ اس کی وجہ یہ ہے کہ اس کی وجہ یہ ہے کہ اس کی وجہ یہ ہے کہ اس کی وجہ یہ ہے کہ اس کی وجہ یہ ہے کہ اس کی وجہ یہ ہے کہ اس کی وجہ یہ ہے۔

  2. اس کے علاوہ ، یہ بھی ممکن ہے کہ آپ کو اپنے کاروبار کو روکنے کے لئے اپنے نقصانات کو روکنے کے لئے اپنے نقصانات کو روکنے کے لئے اپنے نقصانات کو روکنے کے لئے اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ اپنے نقصانات کو روکنے کے لۓ.

  3. انڈیکیٹر پیرامیٹرز سادہ اور قابل عمل ہیں۔

  4. آپ کو خرید و فروخت کے اشارے کے اشارے کو ترتیب دینے کی ضرورت ہے ، اور آپریشن آسان ہے۔

  5. اس کے علاوہ ، آپ کو اپنی حکمت عملی کے نتائج کا مکمل اندازہ لگانے کے ل the ، دوبارہ جانچ پڑتال کے دورانیے کی مرضی کے مطابق ترتیب دینے کی ضرورت ہے۔

خطرہ

اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:

  1. اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کی وجہ یہ ہے کہ اس کی قیمتوں میں کمی واقع ہوئی ہے۔ اس کے علاوہ ، یہ بھی کہا گیا ہے کہ اس کی قیمت میں کمی واقع ہوئی ہے۔

  2. اس کے علاوہ ، یہ بھی کہا جاتا ہے کہ اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے ، اس کی قیمتوں میں کمی کی وجہ سے۔

  3. ریویو سائیکل کا انتخاب غلط ہے اور اس سے حکمت عملی کے اثرات کا مکمل اندازہ نہیں لگایا جاسکتا ہے۔

  4. اس کے علاوہ، یہ بھی ضروری ہے کہ آپ کو اس بات پر توجہ دینا چاہئے کہ کس طرح ٹرانزیکشن لاگت منافع پر اثر انداز کرتی ہے.

اس کے علاوہ ، یہ بھی کہا جاتا ہے کہ یہ ایک بہت بڑا خطرہ ہے ، اور اس کے لئے آپ کو مندرجہ ذیل اقدامات کرنے کی ضرورت ہے۔

  1. اس کے علاوہ، ہم نے اپنے صارفین کو ایک بار پھر ان کی ویب سائٹ پر ان کی ویب سائٹ کو اپ ڈیٹ کرنے کے لئے حوصلہ افزائی کی.

  2. اس کے علاوہ، آپ کو اپنے آپ کو ایک دوسرے کے ساتھ موازنہ کرنے کی ضرورت نہیں ہے.

  3. اس کے علاوہ ، آپ کو اپنی مرضی کے مطابق جانچ پڑتال کی مدت کا انتخاب کرنا چاہئے تاکہ آپ کو یقین دہانی کرائی جاسکے۔

  4. اس کے علاوہ ، آپ کو اپنی پوزیشن کے انتظام کو بہتر بنانا چاہئے ، تاکہ آپ کی تجارت کی لاگت کم ہوسکے۔

اصلاحی سمت

اس حکمت عملی کو مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جاسکتا ہے:

  1. رجحان کے اشارے کے ساتھ مل کر ، واپسی کی تجارت سے بچنے کے لئے۔ بڑے رجحان کا تعین کرنے کے لئے ایم اے جیسے اشارے شامل ہوسکتے ہیں۔

  2. پوزیشن مینجمنٹ الگورتھم کو بہتر بنائیں ، جیسے مقررہ تناسب پوزیشن ، متحرک پوزیشن وغیرہ۔

  3. اس کے علاوہ ، یہ بھی ضروری ہے کہ آپ اپنے کاروبار کو بہتر طریقے سے منظم کریں ، اور اس کے ساتھ ساتھ اپنے کاروبار کو بہتر بنائیں۔

  4. پیرامیٹرز کو بہتر بنانے کے لئے بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔

  5. ٹرینڈ کے دوران وقت پر ٹرینڈ کو روکنے کی حکمت عملی میں شامل ہوں۔

  6. سٹاپ نقصان کی حکمت عملی کو بہتر بنائیں تاکہ اسٹاپ نقصان کو زیادہ ہموار بنایا جاسکے۔ اسٹاپ نقصان کے الگورتھم جیسے چانڈیلیئر ایگزٹ کو آزمائیں۔

  7. تجارت کی اقسام، وقت کے وقفے وغیرہ کو بہتر بنانا اور حکمت عملی کو بہتر بنانا۔

  8. مشین سیکھنے کے الگورتھم کو شامل کرنے سے حکمت عملی کو زیادہ موافقت پذیر بنایا جاتا ہے۔

خلاصہ

یہ حکمت عملی مجموعی طور پر بہت آسان اور قابل اعتماد ہے، یہ لچکدار روک تھام کے اشارے کا استعمال کرتا ہے، اور روک تھام کے طریقہ کار کو کنٹرول کرنے کے لئے خطرات کو ٹریک کرنے کے لئے استعمال کیا جاتا ہے. تاہم، یہ ایک مختصر مدت کی واپسی کی حکمت عملی کے طور پر استعمال کیا جا سکتا ہے.

جائزہ

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

اصول

اس حکمت عملی کا بنیادی مقصد انسداد رجحان کی تجارت کے لئے پیرابولک SAR اشارے کا استعمال کرتے ہوئے رجحان کی تبدیلی کے نکات کی نشاندہی کرنا ہے۔ اشارے انتہائی قیمتوں کا پتہ لگانے کے لئے حقیقی حد کا استعمال کرتا ہے۔ جب قیمت انتہائی حد سے تجاوز کرتی ہے تو ، اسے توڑ اور ممکنہ رجحان کی تبدیلی کی علامت سمجھا جاتا ہے۔ خاص طور پر ، اشارے میں دو متغیرات برقرار رہتے ہیں: انتہائی قیمت (ای پی) اور ٹرگر قیمت (ٹی پی) ۔ ای پی موجودہ رجحان کی اعلی / کم قیمت کی نمائندگی کرتا ہے ، جبکہ ٹی پی ای پی سے ماخوذ ہے۔

ایک اپ ٹرینڈ میں ، جب قیمت ای پی سے زیادہ ہوتی ہے تو اسے توڑ سمجھا جاتا ہے۔ پھر ای پی کو سب سے زیادہ قیمت اور ٹی پی کو سب سے کم قیمت پر اپ ڈیٹ کیا جاتا ہے۔ جب قیمت ٹی پی سے نیچے آجاتی ہے تو ، رجحان کی تبدیلی کی نشاندہی کی جاتی ہے اور فروخت کا اشارہ پیدا ہوتا ہے۔ اسی اصول کا اطلاق ڈاؤن ٹرینڈ پر ہوتا ہے۔

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

فوائد

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

  1. اشارے کے ساتھ رجحان کی تبدیلی کے نکات کی نشاندہی کریں، رجحانات میں پھنسنے سے بچیں.

  2. ٹریلنگ سٹاپ نقصان منافع میں مقفل کرتا ہے اور بڑے نقصانات کو روکتا ہے۔

  3. سادہ اشارے پیرامیٹرز، لاگو کرنے کے لئے آسان.

  4. ترتیب دینے کے قابل خرید / فروخت سگنل انتباہات سہولت کے لئے.

  5. مکمل تشخیص کے لئے لچکدار بیک ٹسٹ مدت کی ترتیب.

خطرات

اس کے علاوہ کچھ خطرات پر بھی غور کرنا چاہئے:

  1. اشارے کی تاخیر زیادہ سے زیادہ الٹ پوائنٹس کو یاد کر سکتی ہے.

  2. جارحانہ رکاوٹوں کو قلیل مدتی اتار چڑھاؤ سے روک دیا جا سکتا ہے۔

  3. غلط بیک ٹسٹ مدت کا انتخاب حکمت عملی کا مکمل اندازہ نہیں کرسکتا ہے۔

  4. لین دین کے اخراجات منافع کو نقصان پہنچا سکتے ہیں۔

خطرات سے نمٹنے کے کچھ طریقے یہ ہیں:

  1. تاخیر کو کم کرنے کے لئے پیرامیٹرز کو بہتر بنائیں.

  2. غیر ضروری طور پر روکنے سے بچنے کے لئے سٹاپ نقصان الگورتھم کو بہتر بنائیں.

  3. قابل اعتماد کے لئے مناسب بیک ٹسٹ کی مدت کا انتخاب کریں.

  4. ٹرانزیکشن لاگت کو کم کرنے کے لئے پوزیشن سائزنگ کو بہتر بنائیں.

بہتری

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

  1. رجحان کے اشارے جیسے ایم اے کو شامل کریں تاکہ مخالف رجحانات میں پھنسنے سے بچیں۔

  2. پوزیشن سائزنگ الگورتھم کو بہتر بنائیں، مثال کے طور پر فکسڈ فریکشنل، متحرک.

  3. خلا سے غلط سگنل سے بچنے کے لئے حجم فلٹر شامل کریں.

  4. بہترین مجموعے تلاش کرنے کے لئے پیرامیٹر کی اصلاح.

  5. رجحانات میں منافع میں مقفل کرنے کے لئے منافع لینے کی حکمت عملی کو نافذ کریں.

  6. ہموار اسٹاپ کے لئے سٹاپ نقصان الگورتھم کو بہتر بنائیں۔ چانڈلیئر ایگزٹ وغیرہ کے ساتھ تجربہ کریں۔

  7. مصنوعات، ٹائم فریم وغیرہ میں اصلاح کریں تاکہ موافقت کو بہتر بنایا جاسکے۔

  8. زیادہ سے زیادہ موافقت کے لئے مشین سیکھنے کو شامل کریں.

خلاصہ

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


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("PB SAR BackTest - Colorbar", overlay=false)

// Full credit to Sawcruhteez, Lucid Investment Strategies LLC, Casey Bowman and Peter Brandt.
// This is a strategy version of the Peterbolic SAR indicator created by the above-mentioned parties.
// Original version of the indicator: https://www.tradingview.com/script/6nYrH3Vm-Peterbolic-SAR/

// SAR #1
// Lucid Sar
// Branded under the name "Lucid SAR"
// as agreed to with Lucid Investment Strategies LLC on July 9, 2019
// https://lucidinvestmentstrategies.com/
// see branch "lucid"

// SAR #2
// Peterbolic Sar
// Using the name "Peterbolic SAR"
// as agreed to by Peter Brandt on October 2, 2019
// - https://twitter.com/PeterLBrandt/status/1179365590668075008
// in response to request from Sawcruhteez
// - https://twitter.com/Sawcruhteez/status/1179213105705836544
// Sawcruhteez gives credit to @CrazyGabey for coming up with the name
// - https://twitter.com/Sawcruhteez/status/1179213196583940097
// see branch "peterbolic"

// SAR #3
// Sawcruhteez Sar
// Branded under the name "Sawcruhteez SAR"
// as agreed to with Sawcruhteez on September 11, 2019
// see branch "sawcruhteez"

// Open Source on github
// https://github.com/casey-bowman/sar/blob/peterbolic/peterbolic.pine

// Created by Casey Bowman on July 4, 2019

// MIT License

// Copyright (c) 2019 Casey Bowman

// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.



TSR() =>

    // start with uptrend
    var uptrend = true
    var EP = high       // extreme price - high or low depending on trend
    var SP = low        // setup price
    var TP = float(na)  // trigger price


    var setup   = low
    var trigger = float(na)

    if barstate.isnew
        setup := low
        trigger = float(na)

    extreme_candle = false
    first_extreme_candle = false
    setup_candle = false
    trigger_candle = false

    waiting_for_setup = false
    waiting_for_trigger = false

    var since_extreme = 0
    var since_setup = 0

    waiting_for_setup   := not extreme_candle and not na(SP)
    waiting_for_trigger := not na(TP)

    if not barstate.isfirst
        if barstate.isnew and extreme_candle[1]
            trigger := float(na)
        if barstate.isnew and setup_candle[1]
            setup := float(na)
        if barstate.isnew and waiting_for_trigger
            since_setup := since_setup + 1
            trigger := TP
        if barstate.isnew and waiting_for_setup
            since_extreme := since_extreme + 1
            setup := SP
        if uptrend

            if extreme_candle
                EP := high
                SP := low
            else
                if high > EP
                    extreme_candle := true
                    EP := high
                    SP := low
                    since_extreme := 0
                    since_setup   := 0
                else
                    if waiting_for_setup
                        if barstate.isconfirmed
                            if close < SP
                                setup_candle := true
                                SP := float(na)
                                TP := low
            if waiting_for_trigger
                if low < TP
                    trigger_candle := true
                    extreme_candle := true
                    EP := low
                    SP := high
                    TP := float(na)
                    uptrend := false
                    since_extreme := 0
                    since_setup := 0
                else
                    if barstate.isconfirmed and extreme_candle
                        TP := float(na)
                        trigger := float(na)

        else
            if extreme_candle
                EP := low
                SP := high
            else
                if low <  EP
                    extreme_candle := true
                    EP := low
                    SP := high
                    since_extreme := 0
                    since_setup   := 0
                else
                    if waiting_for_setup
                        if barstate.isconfirmed
                            if close > SP
                                setup_candle := true
                                SP := float(na)
                                TP := high
            if waiting_for_trigger
                if high > TP
                    trigger_candle := true
                    extreme_candle := true
                    EP := high
                    SP := low
                    TP := float(na)
                    uptrend := true
                    since_extreme := 0
                    since_setup := 0
                else
                    if barstate.isconfirmed and extreme_candle
                        TP := float(na)
                        trigger := float(na)


    [trigger_candle, trigger, since_setup, setup_candle, setup, since_extreme, extreme_candle, uptrend]


[TC, T, SS, SC, S, SE, EC, up] = TSR()

// Make input options that configure backtest date range
StartMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
StartDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
StartYear = input(title="Start Year", type=input.integer,
     defval=(2019), minval=1800, maxval=2100)

EndMonth = input(title="End Month", type=input.integer,
     defval=1, minval=1, maxval=12)
EndDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
EndYear = input(title="End Year", type=input.integer,
     defval=(2020), minval=1800, maxval=2100)
     
// Look if the close time of the current bar falls inside the date range
inDateRange = true

buytrigger = (TC and up)
selltrigger = (TC and not up)
buysetup = (SC and not up)
sellsetup = (SC and up)

IntBuy = buytrigger ? 1 : 0
IntSB = buysetup ? 0.5 : 0

IntSell= selltrigger ? -1 : 0
IntSS = sellsetup ? -0.5 : 0

bgcolor = buytrigger ? color.green : selltrigger ? color.red : buysetup ? color.yellow : sellsetup ? color.orange : color.black
trans = buytrigger ? 20 : selltrigger ? 20 : 100

bgcolor(bgcolor, 30)

NUM = IntBuy + IntSB + IntSell + IntSS
linecolor = color.orange
plot(NUM, color=linecolor, linewidth=2)

alertcondition(NUM > 0.5, title="Buy Signal", message="Buy Alert")
alertcondition(NUM < -0.5, title="Sell Signal", message="Sell Alert")

alertcondition(NUM == 0.5, title="Buy Setup", message="Buy Setup")
alertcondition(NUM == -0.5, title="Sell Setup", message="Sell Setup")

//Switch on for strategy moves

if(inDateRange and buytrigger)
    strategy.exit("SHORT", "SHORT_SL", comment="Short_Exit")
    strategy.entry("LONG", strategy.long, comment="")
if(inDateRange and selltrigger)
    strategy.exit("LONG", "LONG_SL", comment="Long_Exit")
    strategy.entry("SHORT", strategy.short, comment="")
if (not inDateRange)
    strategy.close_all()

// plotshape(SC and not up, color = color.yellow, style = shape.triangleup, location = location.belowbar, size = size.auto, transp = 0, title = "Setup to Buy")
// plotshape(TC and up, color = color.green, style = shape.triangleup, location = location.belowbar, size = size.auto, title = "Trigger to Buy")
// plotshape(SC and up, color = color.yellow, style = shape.triangledown, location = location.abovebar, size = size.auto, transp = 0, title = "Setup to Sell")
// plotshape(TC and not up, color = color.red, style = shape.triangledown, location = location.abovebar, size = size.auto, title = "Trigger to Sell")


مزید