
এই কৌশলটি ধীরে ধীরে পজিশনিং পদ্ধতি গ্রহণ করে, যা বন্ধের মূল্যের সাথে আগের দিনের বন্ধের মূল্যের তুলনা করে ট্রেডের দিকনির্দেশনা নির্ধারণ করে। যখন এটি একটি উর্ধ্বমুখী সুযোগ হিসাবে বিবেচিত হয়, তখন একাধিক ধীরে ধীরে পজিশনিং করা হয়; যখন এটি একটি নেতিবাচক সুযোগ হিসাবে বিবেচিত হয়, তখন একাধিক ধীরে ধীরে পজিশনিং করা হয়। পজিশনিংয়ের সংখ্যাটি প্যারামিটার দ্বারা সেট করা যেতে পারে। একই সাথে, কৌশলটি সময়কালের ফিল্টার যুক্ত করে, কেবলমাত্র সেট করা সময়ের মধ্যে ট্রেডিং সংকেত প্রেরণ করে।
বর্তমান K-লাইন ক্লোজিং মূল্যের সাথে পূর্ববর্তী K-লাইন ক্লোজিং মূল্যের তুলনা[1], যদি close > close[1], তাহলে এটাকে দেখানো হবে যে এটা একটা সুযোগ, longCondition=1; যদি close < close[ShortCondition=1 ≠ 1 ], তাহলে ShortCondition=1 ≠ 1 ।
ট্রেড করার অনুমতি দেওয়া সময়ের মধ্যে, যদি longCondition = 1 হয় তবে ধীরে ধীরে পজিশনিং করুন; যদি shortCondition = 1 হয় তবে ধীরে ধীরে পজিশনিং করুন।
প্যারামিটার পিরামিডিং দ্বারা সংরক্ষিত, 1 থেকে 5 টি পর্যন্ত সংরক্ষণ করা যেতে পারে, 4 টি ডিফল্ট।
প্রতিবার যখন আপনি একটি পজিশন বাড়ান, আপনি একই সাথে একটি প্রতিরক্ষামূলক শর্ত সেট করুন, এবং যদি পরিস্থিতি পরিবর্তিত হয়, আপনি অবিলম্বে ক্ষতি বন্ধ করবেন।
ট্রেডিং সিগন্যালকে বিভিন্ন ট্রেডিং ইন্টারফেসে যেমন toast,telegram ইত্যাদিতে আউটপুট করতে পারবেন।
এই কৌশলটি মূলত ব্রেক-আউট কৌশল এবং সমান্তরাল কৌশলগুলির সুবিধাগুলি বিবেচনা করে, যখন মুদ্রাস্ফীতি বা পতন হয় তখন ধীরে ধীরে ঝুঁকি বাড়ানোর পদ্ধতি গ্রহণ করে, যা প্রবণতাকে পুরোপুরি অনুসরণ করতে পারে এবং ঝুঁকি নিয়ন্ত্রণ করতে পারে। একই সাথে সময় ফিল্টারিংয়ের সাথে মিলিত হয়, অ-প্রধান ব্যবসায়ের সময় জেনারেটেড সংকেত এড়ানো যায়।
ধীরে ধীরে আমানত বাড়ানো ট্রেন্ডকে আরও ভালভাবে অনুসরণ করতে পারে
আরও নমনীয় ও নিয়ন্ত্রিত
বিভিন্ন লেনদেনের ইন্টারফেস নির্বাচন করুন, পরিমাণের প্রসারিত করুন
ক্ষতিপূরণ ব্যবস্থা, নিয়ন্ত্রণযোগ্য ঝুঁকি
টাইম ফিল্টার করুন, ভুল সংকেত এড়িয়ে চলুন
ভুল প্যারামিটার সেট করলে ক্ষতি বাড়তে পারে
নেটওয়ার্কের সমস্যার কারণে ক্ষতির সময়সীমা বাড়তে পারে
বিভিন্ন জাতের জন্য উপযুক্তভাবে প্যারামিটারগুলি সামঞ্জস্য করতে হবে
সময়মত স্টপ লস প্রয়োজন মুনাফা লক করার জন্য
সমাধানঃ
আপনি যদি আপনার অ্যাকাউন্টের নাম পরিবর্তন করতে চান, তাহলে আপনার অ্যাকাউন্টের নাম পরিবর্তন করতে হবে।
নেটওয়ার্ক সংযোগ পরীক্ষা করুন
প্রজাতির বৈশিষ্ট্য অনুসারে প্যারামিটারগুলি সামঞ্জস্য করুন
স্টপ লস সেট করুন
সিগন্যালের শক্তি নির্ণয়ের জন্য আরও কিছু সূচক যুক্ত করা যেতে পারে
বিভিন্ন জাতের প্যারামিটার অপ্টিমাইজেশনের প্রভাব পরীক্ষা করা যায়
মেশিন লার্নিং অ্যালগরিদম অপ্টিমাইজেশান প্যারামিটার যোগ করা যায়
ঝুঁকি ব্যবস্থাপনা ব্যবস্থাকে উন্নত করা যায়
ধাপে ধাপে পজিশনিং গড় লাইন বিভাজক কৌশলটি ট্রেন্ড ট্র্যাকিং এবং ঝুঁকি নিয়ন্ত্রণের সুবিধাগুলি একত্রিত করে, কার্যকর সংকেতটি বিচার করার সময় ধাপে ধাপে পজিশনিং পদ্ধতিটি প্রবণতা অনুসরণ করে, পজিশনিংয়ের সংখ্যাটি সামঞ্জস্য করে ঝুঁকি ফাঁকটি নিয়ন্ত্রণ করে। একই সাথে টাইমফ্রেম ফিল্টারিং এবং অন্যান্য বৈশিষ্ট্যগুলিকে সংযুক্ত করে ভুল সংকেত নিয়ন্ত্রণ করতে। এই কৌশলটি বিভিন্ন উপায়ে অপ্টিমাইজ করা যেতে পারে এবং এটির ব্যাপক বিস্তারযোগ্যতা রয়েছে। সামগ্রিকভাবে, এই কৌশলটি প্রবণতা ট্র্যাকিং মডেলের জন্য খুব ভাল কার্যকারিতা রয়েছে এবং এটি একটি প্রস্তাবিত কৌশল।
/*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')