شیر کریک بیلنس کی حکمت عملی


تخلیق کی تاریخ: 2023-11-02 16:55:00 آخر میں ترمیم کریں: 2023-11-02 16:55:00
کاپی: 0 کلکس کی تعداد: 586
1
پر توجہ دیں
1617
پیروکار

شیر کریک بیلنس کی حکمت عملی

جائزہ

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

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

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

خاص طور پر ، حکمت عملی سب سے پہلے تیزی سے چلنے والی اوسط چھوٹی ایم اے اور آہستہ آہستہ چلنے والی اوسط بگ ایم اے کا حساب لگاتی ہے۔ اس کے بعد چینل کے نیچے خریداری لائن بی ایم اے کا حساب لگایا جاتا ہے ، جو آہستہ آہستہ چلنے والی اوسط کا ((100 - percentBelowToBuy)٪) ہے۔ جب تیزی سے چلنے والی اوسط چھوٹی ایم اے نیچے کی طرف سے خریداری لائن بی ایم اے کو عبور کرتی ہے تو ، زیادہ کام کریں۔ جب منافع 1٪ تک پہنچ جاتا ہے یا منافع بخش نہیں ہوتا ہے لیکن 7 ک لائن کے بعد ، پوزیشن کو صاف کریں۔

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

طاقت کا تجزیہ

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

  1. تصور سادہ ہے، سمجھنے اور لاگو کرنے کے لئے آسان ہے. بائنری مساوی لائن کراس کا استعمال سب سے بنیادی تکنیکی اشارے کی حکمت عملی ہے.

  2. واپسی آسان ہے۔ یہ حکمت عملی براہ راست ٹریڈنگ ویو کے ساتھ آنے والی واپسی کی خصوصیت کا استعمال کرتی ہے ، اس کے لئے اضافی عمل درآمد کی ضرورت نہیں ہے۔

  3. بصری طور پر مضبوط۔ ٹریڈنگ ویو کا استعمال کرتے ہوئے براہ راست چارٹ پر ٹریڈنگ سگنل پوائنٹس اور ریٹرننگ کے اعدادوشمار دکھائے جاتے ہیں۔

  4. خطرے کو کنٹرول کیا جاسکتا ہے۔ حکمت عملی میں اسٹاپ اور اسٹاپ نقصان کی شرائط طے کی گئی ہیں ، جو ایک ہی تجارت میں ہونے والے نقصان کو مؤثر طریقے سے کنٹرول کرسکتی ہیں۔

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

خطرے کا تجزیہ

اس حکمت عملی میں مندرجہ ذیل خطرات بھی ہیں:

  1. بہت زیادہ سگنل پیدا ہوسکتے ہیں۔ ڈبل یکساں حکمت عملی آسانی سے متعدد غلط سگنل پیدا کرتی ہے۔

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

  3. پیرامیٹرز کو بہتر بنانا مشکل ہے۔ اوسط لکیری دورانیہ پیرامیٹرز کے مجموعے کو بہتر بنانے کے لئے بہت زیادہ حساب کتاب کی ضرورت ہوتی ہے ، اور بہترین پیرامیٹرز تلاش کرنا آسان نہیں ہے۔

  4. ریٹرننگ انحراف۔ سادہ ڈبل مساوی لائن حکمت عملی ریٹرننگ اثر اکثر فکسڈ ڈسک سے بہتر ہوتا ہے۔

  5. سٹاپ نقصان کی دشواری ∙ مقررہ سٹاپ نقصان کی پوزیشن کو حالات کی تبدیلیوں کے مطابق ڈھالنا مشکل ∙

اصلاح کی سمت

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

  1. دوسرے اشارے کے فلٹر سگنل کے ساتھ مل کر ، جیسے تجارت کا حجم ، اتار چڑھاؤ کی شرح وغیرہ ، صفائی میں غیر موثر سگنل پیدا کرنے سے بچیں۔

  2. رجحان پر مبنی فیصلے میں اضافہ کریں ، مخالف تجارت سے گریز کریں۔ طویل مدتی اوسط لکیروں میں رجحان کی سمت کا فیصلہ شامل کیا جاسکتا ہے۔

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

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

  5. داخلہ کے اوقات کو بہتر بنائیں۔ دوسرے اشارے استعمال کرکے زیادہ موثر داخلے کے اوقات کی نشاندہی کی جاسکتی ہے۔

  6. پیمائش کے مطالعہ کے ساتھ پیرامیٹرز کے مجموعے کو بہتر بنانے کے لئے، استحکام کو بہتر بنانے کے لئے

  7. خود کار طریقے سے ٹریڈنگ سسٹم کی ترقی، پیرامیٹرز کے مجموعے کو بہتر بنانے اور حکمت عملی کی تشخیص کے لئے پروگرام ٹریڈنگ کا استعمال کرتے ہوئے.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
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/
// © TraderHalai
// This script was born out of my quest to be able to display strategy back test statistics on charts to allow for easier backtesting on devices that do not natively support backtest engine (such as mobile phones, when I am backtesting from away from my computer). There are already a few good ones on TradingView, but most / many are too complicated for my needs.
//
//Found an excellent display backtest engine by 'The Art of Trading'. This script is a snippet of his hard work, with some very minor tweaks and changes. Much respect to the original author.
//
//Full credit to the original author of this script. It can be found here: https://www.tradingview.com/script/t776tkZv-Hammers-Stars-Strategy/?offer_id=10&aff_id=15271
//
// This script can be copied and airlifted onto existing strategy scripts of your own, and integrates out of the box without implementation of additional functions. I've also added Max Runup, Average Win and Average Loss per trade to the orignal script.
//
//Will look to add in more performance metrics in future, as I further develop this script.
//
//Feel free to use this display panel in your scripts and strategies.

//Thanks and enjoy! :)
//@version=5
// strategy("Strategy BackTest Display Statistics - TraderHalai", overlay=true, default_qty_value= 5, default_qty_type = strategy.percent_of_equity, initial_capital=10000,  commission_type=strategy.commission.percent, commission_value=0.1)

//DEMO basic strategy - Use your own strategy here -  Jaws Mean Reversion from my profile used here
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 8)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 1)

smallMA = ta.sma(source, smallMAPeriod)
bigMA =  ta.sma(source, bigMAPeriod) 
buyMA = ((100 - percentBelowToBuy) / 100) * ta.sma(source, bigMAPeriod)[0]

buy = ta.crossunder(smallMA, buyMA)
if(buy)
    strategy.entry("BUY", strategy.long)

if(strategy.openprofit >= strategy.position_avg_price * 0.01) // 1% profit target
    strategy.close("BUY")

if(ta.barssince(buy) >= 7) //Timed Exit, if you fail to make 1 percent in 7 candles.
    strategy.close("BUY")
    
///////////////////////////// --- BEGIN TESTER CODE --- ////////////////////////
// COPY below into your strategy to enable display
////////////////////////////////////////////////////////////////////////////////

// strategy.initial_capital = 50000
// // Declare performance tracking variables
// drawTester = input.bool(true, "Draw Tester")
// var balance = strategy.initial_capital
// var drawdown = 0.0
// var maxDrawdown = 0.0
// var maxBalance = 0.0
// var totalWins = 0
// var totalLoss = 0

// // Prepare stats table
// var table testTable = table.new(position.top_right, 5, 2, border_width=1)
// f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor) =>
//     _cellText = _title + "\n" + _value
//     table.cell(_table, _column, _row, _cellText, bgcolor=_bgcolor, text_color=_txtcolor)
    
// // Custom function to truncate (cut) excess decimal places
// truncate(_number, _decimalPlaces) =>
//     _factor = math.pow(10, _decimalPlaces)
//     int(_number * _factor) / _factor
    
// // Draw stats table
// var bgcolor = color.new(color.black,0)
// if drawTester
//     if barstate.islastconfirmedhistory
//         // Update table
//         dollarReturn = strategy.netprofit
//         f_fillCell(testTable, 0, 0, "Total Trades:", str.tostring(strategy.closedtrades), bgcolor, color.white)
//         f_fillCell(testTable, 0, 1, "Win Rate:", str.tostring(truncate((strategy.wintrades/strategy.closedtrades)*100,2)) + "%", bgcolor, color.white)
//         f_fillCell(testTable, 1, 0, "Starting:", "$" + str.tostring(strategy.initial_capital), bgcolor, color.white)
//         f_fillCell(testTable, 1, 1, "Ending:", "$" + str.tostring(truncate(strategy.initial_capital + strategy.netprofit,2)), bgcolor, color.white)
//         f_fillCell(testTable, 2, 0, "Avg Win:", "$"+ str.tostring(truncate(strategy.grossprofit / strategy.wintrades, 2)), bgcolor, color.white)
//         f_fillCell(testTable, 2, 1, "Avg Loss:", "$"+ str.tostring(truncate(strategy.grossloss / strategy.losstrades, 2)), bgcolor, color.white)
//         f_fillCell(testTable, 3, 0, "Profit Factor:", str.tostring(truncate(strategy.grossprofit / strategy.grossloss,2)), strategy.grossprofit > strategy.grossloss ? color.green : color.red, color.white)
//         f_fillCell(testTable, 3, 1, "Max Runup:",  str.tostring(truncate(strategy.max_runup, 2 )), bgcolor, color.white)
//         f_fillCell(testTable, 4, 0, "Return:", (dollarReturn > 0 ? "+" : "") + str.tostring(truncate((dollarReturn / strategy.initial_capital)*100,2)) + "%", dollarReturn > 0 ? color.green : color.red, color.white)
//         f_fillCell(testTable, 4, 1, "Max DD:", str.tostring(truncate((strategy.max_drawdown / strategy.equity) * 100 ,2)) + "%", color.red, color.white)
// // --- END TESTER CODE --- ///////////////