یہ حکمت عملی مارکیٹ کی سمت کا تعین کرنے کے لئے موجودہ قریبی قیمت اور پچھلی قریبی قیمت کے مابین موازنہ کی بنیاد پر مرحلہ وار اہرام سازی کا طریقہ استعمال کرتی ہے۔ جب ایک طویل موقع کی نشاندہی کی جاتی ہے تو ، یہ متعدد تدریجی اندراجات کے ساتھ طویل ہوجائے گا۔ جب ایک مختصر موقع کی نشاندہی کی جاتی ہے تو ، یہ متعدد تدریجی اندراجات کے ساتھ مختصر ہوجائے گا۔ اندراجات کی تعداد پیرامیٹرز کے ذریعے طے کی جاسکتی ہے۔ اسی وقت ، حکمت عملی میں ٹائم فریم فلٹر شامل ہیں جہاں تجارتی سگنل صرف تشکیل شدہ تجارتی ٹائم فریم کے اندر تیار کیے جاتے ہیں۔
موجودہ بار
اجازت یافتہ تجارتی وقت کے فریم کے اندر ، اگر longCondition=1 ، یہ متعدد تدریجی اندراجات کے ساتھ طویل ہوجائے گا۔ اگر shortCondition=1 ، تو یہ متعدد تدریجی اندراجات کے ساتھ مختصر ہوجائے گا۔
اندراجات کی تعداد پرامڈائڈنگ پیرامیٹر کے ذریعے مقرر کی جاتی ہے، جسے 1 سے 5 تک ترتیب دیا جاسکتا ہے، 4 کے ساتھ ڈیفالٹ کے طور پر.
اسٹاپ نقصان کی شرط ہر اندراج کے بعد مقرر کی جاتی ہے اگر مارکیٹ الٹ جاتی ہے.
تجارتی سگنل مختلف تجارتی انٹرفیس جیسے ٹوسٹ یا ٹیلیگرام پر آؤٹ پٹ ہوسکتے ہیں۔
یہ حکمت عملی بنیادی طور پر بریک آؤٹ اور چلتی اوسط حکمت عملیوں کے فوائد پر غور کرتی ہے۔ طویل یا مختصر مواقع کے دوران ، یہ خطرات پر قابو پانے کے دوران رجحان کی بہتر پیروی کرنے کے لئے قدم بہ قدم اہرام سازی کا طریقہ استعمال کرتی ہے۔ اس میں غیر اہم تجارتی سیشنوں کے دوران سگنل پیدا کرنے سے بچنے کے لئے ٹائم فریم فلٹرز بھی شامل ہیں۔
قدم بہ قدم pyramiding رجحانات کی پیروی بہتر ہے.
اندراجات کی سایڈست تعداد اسے زیادہ لچکدار بناتی ہے۔
توسیع پذیری کے لئے مختلف ٹریڈنگ انٹرفیس کی حمایت کرتا ہے۔
خطرات کو کنٹرول کرنے کے لئے سٹاپ نقصان کے طریقہ کار ہیں.
ٹائم فریم فلٹر غلط سگنل سے بچتا ہے۔
غلط پیرامیٹر کی ترتیبات زیادہ نقصانات کا باعث بن سکتی ہیں.
نیٹ ورک کے مسائل بروقت سٹاپ نقصان کو روک سکتے ہیں.
مختلف مصنوعات کے لئے پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے.
منافع میں مقفل کرنے کے لئے بروقت سٹاپ نقصان کی ضرورت ہے.
حل:
ڈیفالٹ 4 اندراجات مناسب ہے.
نیٹ ورک کنکشن چیک کریں.
مصنوعات کی خصوصیات کے مطابق پیرامیٹرز کو ایڈجسٹ کریں.
سٹاپ نقصان کی سطح مقرر کریں.
سگنل کی طاقت کا اندازہ کرنے کے لئے مزید اشارے شامل کرنے پر غور کریں.
مختلف مصنوعات میں ٹیسٹ پیرامیٹر کی اصلاح کے نتائج.
پیرامیٹرز کو بہتر بنانے کے لیے مشین لرننگ الگورتھم شامل کریں۔
خطرے کے انتظام کے طریقہ کار کو بہتر بنانا۔
یہ مرحلہ وار پرامڈائزنگ حرکت پذیر اوسط بریک آؤٹ حکمت عملی رجحان کی پیروی اور خطرے کے کنٹرول کے فوائد کو مربوط کرتی ہے۔ جب موثر سگنل کی نشاندہی کی جاتی ہے تو ، یہ ترتیب دینے کے قابل تعداد میں اندراجات کے ذریعہ رسک ایکسپوزر کو کنٹرول کرتے ہوئے رجحان کی پیروی کرنے کے لئے مرحلہ وار پرامڈائزنگ کا استعمال کرتا ہے۔ یہ غلط سگنلز سے بچنے کے لئے ٹائم فریم فلٹر جیسی فعالیتوں کو بھی شامل کرتا ہے۔ حکمت عملی کو بہت سے پہلوؤں میں مزید بہتر بنایا جاسکتا ہے اور اس میں بہت زیادہ توسیع ہے۔ عام طور پر ، یہ رجحان سازی کی مصنوعات کے لئے بہت موثر ہے اور اس کی سختی سے سفارش کی جاتی ہے۔
/*backtest start: 2024-01-05 00:00:00 end: 2024-02-04 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © torresbitmex //@version=5 strategy("torres_strategy_real_test_v1.0", process_orders_on_close=true, overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.03, calc_on_order_fills=false, pyramiding=4) in_trade(int start_time, int end_time) => allowedToTrade = (time>=start_time) and (time<=end_time) if barstate.islastconfirmedhistory var myLine = line(na) line.delete(myLine) myLine := line.new(start_time, low, start_time, high, xloc=xloc.bar_time, color = color.rgb(255, 153, 0, 50), width = 3, extend = extend.both, style = line.style_dashed) allowedToTrade // 매매시간세팅 start_time = input(timestamp("31 Jan 2024 00:00 +0900"), title="매매 시작", group='매매 시간세팅') end_time = input(timestamp("31 Dec 2030 00:00 +0900"), title="매매 종료", group='매매 시간세팅') start_trade = true bgcolor(start_trade ? color.new(color.gray, 90) : color(na)) var bool Alarm_TVExtbot = false var bool Alarm_Alert = false bot_mode = input.string(title='봇선택', defval = "POA", options = ["TVEXTBOT", "POA"], group = "봇선택", inline = '1') if bot_mode == "TVEXTBOT" Alarm_TVExtbot := true else if bot_mode == "POA" Alarm_Alert := true else Alarm_TVExtbot := false Alarm_Alert := false // 계정정보 account = input.string(title='계정', defval='아무거나입력', inline='1', group='계정정보') token = input.string(title='TVExtBot 인증키', defval='', inline='1', group='계정정보') mul_input = input.float(4, minval=1, maxval=5, step=1, title="분할진입수", group='진입 세팅', inline='1') // 진입주문메세지입력 buyOrderid = input.string(title='롱 진입1', defval='', group='진입주문 메세지입력', inline='2') buyOrderid2 = input.string(title='롱 진입2', defval='', group='진입주문 메세지입력', inline='3') buyOrderid3 = input.string(title='롱 진입3', defval='', group='진입주문 메세지입력', inline='4') buyOrderid4 = input.string(title='롱 진입4', defval='', group='진입주문 메세지입력', inline='5') buyOrderid5 = input.string(title='롱 진입5', defval='', group='진입주문 메세지입력', inline='6') sellOrderid = input.string(title='숏 진입1', defval='', group='진입주문 메세지입력', inline='2') sellOrderid2 = input.string(title='숏 진입2', defval='', group='진입주문 메세지입력', inline='3') sellOrderid3 = input.string(title='숏 진입3', defval='', group='진입주문 메세지입력', inline='4') sellOrderid4 = input.string(title='숏 진입4', defval='', group='진입주문 메세지입력', inline='5') sellOrderid5 = input.string(title='숏 진입5', defval='', group='진입주문 메세지입력', inline='6') // 종료주문메세지입력 buycloseOrderid = input.string(title='롱 전체종료', defval='', group='종료주문 메세지입력', inline='1') sellcloseOrderid = input.string(title='숏 전체종료', defval='', group='종료주문 메세지입력', inline='1') longCondition = 0, shortCondition = 0 if(close[1] < close) longCondition := 1 else longCondition := 0 if(close[1] > close) shortCondition := 1 else shortCondition := 0 if start_trade if Alarm_Alert if strategy.position_size == 0 if (longCondition == 1) strategy.entry("buy1", strategy.long, alert_message = buyOrderid) if (shortCondition == 1) strategy.entry("sell1", strategy.short, alert_message = sellOrderid) if strategy.position_size > 0 if (longCondition == 1) if (strategy.opentrades == 1) and (mul_input == 2 or mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("buy2", strategy.long, alert_message = buyOrderid2) if (strategy.opentrades == 2) and (mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("buy3", strategy.long, alert_message = buyOrderid3) if (strategy.opentrades == 3) and (mul_input == 4 or mul_input == 5) strategy.entry("buy4", strategy.long, alert_message = buyOrderid4) if (strategy.opentrades == 4) and (mul_input == 5) strategy.entry("buy5", strategy.long, alert_message = buyOrderid5) if strategy.position_size < 0 if (shortCondition == 1) if (strategy.opentrades == 1) and (mul_input == 2 or mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("sell2", strategy.short, alert_message = sellOrderid2) if (strategy.opentrades == 2) and (mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("sell3", strategy.short, alert_message = sellOrderid3) if (strategy.opentrades == 3) and (mul_input == 4 or mul_input == 5) strategy.entry("sell4", strategy.short, alert_message = sellOrderid4) if (strategy.opentrades == 4) and (mul_input == 5) strategy.entry("sell5", strategy.short, alert_message = sellOrderid5) if (longCondition == 1 and strategy.position_size > 0) if mul_input == 1 and strategy.opentrades == 1 strategy.close_all(comment='롱전체종료', alert_message = buycloseOrderid) if mul_input == 2 and strategy.opentrades == 2 strategy.close_all(comment='롱전체종료', alert_message = buycloseOrderid) if mul_input == 3 and strategy.opentrades == 3 strategy.close_all(comment='롱전체종료', alert_message = buycloseOrderid) if mul_input == 4 and strategy.opentrades == 4 strategy.close_all(comment='롱전체종료', alert_message = buycloseOrderid) if mul_input == 5 and strategy.opentrades == 5 strategy.close_all(comment='롱전체종료', alert_message = buycloseOrderid) if (shortCondition == 1 and strategy.position_size < 0) if mul_input == 1 and strategy.opentrades == 1 strategy.close_all(comment='숏전체종료', alert_message = sellcloseOrderid) if mul_input == 2 and strategy.opentrades == 2 strategy.close_all(comment='숏전체종료', alert_message = sellcloseOrderid) if mul_input == 3 and strategy.opentrades == 3 strategy.close_all(comment='숏전체종료', alert_message = sellcloseOrderid) if mul_input == 4 and strategy.opentrades == 4 strategy.close_all(comment='숏전체종료', alert_message = sellcloseOrderid) if mul_input == 5 and strategy.opentrades == 5 strategy.close_all(comment='숏전체종료', alert_message = sellcloseOrderid) else if Alarm_TVExtbot if strategy.position_size == 0 if (longCondition == 1) strategy.entry("buy1", strategy.long, alert_message = '롱 1차 진입 📈📈 TVM:{"orderid":"' + buyOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (shortCondition == 1) strategy.entry("sell1", strategy.short, alert_message = '숏 1차 진입 📉📉 TVM:{"orderid":"' + sellOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if strategy.position_size > 0 if (longCondition == 1) if (strategy.opentrades == 1) and (mul_input == 2 or mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("buy2", strategy.long, alert_message = '롱 2차 진입 📈📈 TVM:{"orderid":"' + buyOrderid2 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (strategy.opentrades == 2) and (mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("buy3", strategy.long, alert_message = '롱 3차 진입 📈📈 TVM:{"orderid":"' + buyOrderid3 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (strategy.opentrades == 3) and (mul_input == 4 or mul_input == 5) strategy.entry("buy4", strategy.long, alert_message = '롱 4차 진입 📈📈 TVM:{"orderid":"' + buyOrderid4 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (strategy.opentrades == 4) and (mul_input == 5) strategy.entry("buy5", strategy.long, alert_message = '롱 5차 진입 📈📈 TVM:{"orderid":"' + buyOrderid5 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if strategy.position_size < 0 if (shortCondition == 1) if (strategy.opentrades == 1) and (mul_input == 2 or mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("sell2", strategy.short, alert_message = '숏 2차 진입 📉📉 TVM:{"orderid":"' + sellOrderid2 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (strategy.opentrades == 2) and (mul_input == 3 or mul_input == 4 or mul_input == 5) strategy.entry("sell3", strategy.short, alert_message = '숏 3차 진입 📉📉 TVM:{"orderid":"' + sellOrderid3 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (strategy.opentrades == 3) and (mul_input == 4 or mul_input == 5) strategy.entry("sell4", strategy.short, alert_message = '숏 4차 진입 📉📉 TVM:{"orderid":"' + sellOrderid4 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (strategy.opentrades == 4) and (mul_input == 5) strategy.entry("sell5", strategy.short, alert_message = '숏 5차 진입 📉📉 TVM:{"orderid":"' + sellOrderid5 + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (longCondition == 1 and strategy.position_size > 0) if mul_input == 1 and strategy.opentrades == 1 strategy.close_all(comment='롱전체종료', alert_message = '롱 종료 📈⛔TVM:{"orderid":"' + buycloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 2 and strategy.opentrades == 2 strategy.close_all(comment='롱전체종료', alert_message = '롱 종료 📈⛔TVM:{"orderid":"' + buycloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 3 and strategy.opentrades == 3 strategy.close_all(comment='롱전체종료', alert_message = '롱 종료 📈⛔TVM:{"orderid":"' + buycloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 4 and strategy.opentrades == 4 strategy.close_all(comment='롱전체종료', alert_message = '롱 종료 📈⛔TVM:{"orderid":"' + buycloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 5 and strategy.opentrades == 5 strategy.close_all(comment='롱전체종료', alert_message = '롱 종료 📈⛔TVM:{"orderid":"' + buycloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if (shortCondition == 1 and strategy.position_size < 0) if mul_input == 1 and strategy.opentrades == 1 strategy.close_all(comment='숏전체종료', alert_message = '숏 종료 📉⛔TVM:{"orderid":"' + sellcloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 2 and strategy.opentrades == 2 strategy.close_all(comment='숏전체종료', alert_message = '숏 종료 📉⛔TVM:{"orderid":"' + sellcloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 3 and strategy.opentrades == 3 strategy.close_all(comment='숏전체종료', alert_message = '숏 종료 📉⛔TVM:{"orderid":"' + sellcloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 4 and strategy.opentrades == 4 strategy.close_all(comment='숏전체종료', alert_message = '숏 종료 📉⛔TVM:{"orderid":"' + sellcloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT') if mul_input == 5 and strategy.opentrades == 5 strategy.close_all(comment='숏전체종료', alert_message = '숏 종료 📉⛔TVM:{"orderid":"' + sellcloseOrderid + '","memo":"' + account + '","token":"' + token + '"}:MVT')