बहुस्तरीय बैच टेक प्रॉफिट बीटीसी रोबोट ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-10-18 11:12:39
टैगः

img

अवलोकन

यह एक बहु-स्तरीय बैच टेक प्रॉफिट बीटीसी रोबोट ट्रेडिंग रणनीति है। यह सबसे निचले बिंदु को ढूंढकर लंबी स्थिति में प्रवेश करता है और बैच एक्जिट के लिए कई टेक प्रॉफिट पॉइंट सेट करता है। यह जोखिम नियंत्रण के लिए स्टॉप लॉस पॉइंट भी सेट करता है। यह रणनीति बीटीसी पर तेजी लाने पर उपयुक्त है।

रणनीति तर्क

  1. प्रवेश संकेत खोजें: जब सीसी संकेतक 0 से नीचे जाता है तो खरीद संकेत उत्पन्न करें।

  2. स्टॉप लॉस सेट करेंः इनपुट के माध्यम से स्टॉप लॉस प्रतिशत सेट करें, स्टॉप लॉस के लिए मूल्य स्तर में परिवर्तित करें.

  3. कई ले लाभ अंक सेट करेंः 4 निकास अंक, इनपुट के माध्यम से प्रत्येक बिंदु के लिए लाभ प्रतिशत सेट करें, मूल्य स्तरों में परिवर्तित करें।

  4. जोखिम नियंत्रणः जोखिम फैलाव के लिए इनपुट के माध्यम से अधिकतम स्थिति आकार सेट करें, प्रत्येक निकास बिंदु के लिए बाहर निकलने का प्रतिशत सेट करें।

लाभ विश्लेषण

इस रणनीति के लाभ इस प्रकार हैंः

  1. उच्चतम बिंदु पर खरीदने से बचकर निम्नतम बिंदु पर खरीदकर विश्वसनीय प्रवेश संकेत।

  2. बहु-स्तरीय लाभ लेने से आंशिक लाभ में ताला लग जाता है जबकि कुछ लाभ चलते रहते हैं।

  3. स्टॉप लॉस जोखिम को नियंत्रित करता है और हानि को एक निश्चित सीमा तक सीमित करता है।

  4. बैच एक्जिट्स जोखिमों को फैलाता है, एक बार में पूर्ण नुकसान से बचता है।

  5. कुछ हद तक ड्रॉडाउन को नियंत्रित किया जा सकता है।

जोखिम विश्लेषण

इस रणनीति के जोखिम इस प्रकार हैंः

  1. सीसी संकेतक निम्नतम बिंदु को पूरी तरह से सुनिश्चित नहीं कर सकता है, खरीद के अवसरों को याद कर सकता है।

  2. गलत स्टॉप लॉस सेटिंग से अनावश्यक स्टॉप लॉस हो सकता है।

  3. अनुचित बैच आउट भी मुनाफे के नुकसान का कारण बन सकता है।

  4. बाजारों में लाभ उठाना अधिक कठिन होता है।

  5. तेज उलटफेर में नुकसान को रोकना मुश्किल हो सकता है।

अनुकूलन दिशाएँ

संभावित अनुकूलनः

  1. बेहतर समय के लिए अधिक संकेतकों या मशीन लर्निंग के साथ प्रवेश संकेतों का अनुकूलन करें।

  2. स्टॉप लॉस रणनीति को बाजार की चाल के प्रति अधिक लोचदार बनाने के लिए अनुकूलित करें।

  3. बाजारों में बेहतर अनुकूलन के लिए बाहर निकलने का अनुकूलन करना।

  4. अधिक लचीला लाभ लेने के लिए पीछे रुकने जोड़ें।

  5. सर्वोत्तम पैरामीटर सेट के लिए विभिन्न संपत्ति का परीक्षण करें।

निष्कर्ष

संक्षेप में, यह बहु-स्तरीय ले लाभ और स्टॉप लॉस के साथ सबसे कम बिंदुओं पर खरीदने पर आधारित एक बीटीसी ट्रेडिंग रणनीति है। इसमें कुछ फायदे हैं और ऐसे क्षेत्र भी हैं जिन्हें सुधार किया जा सकता है। ड्रॉडाउन नियंत्रण और ले लाभ पर आगे के अनुकूलन से रणनीति बेहतर प्रदर्शन कर सकती है। कुल मिलाकर यह बीटीसी एल्गोरिथम ट्रेडिंग के लिए एक व्यवहार्य दृष्टिकोण प्रदान करता है।


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni


// © theCrypster 2020

//@version=4
// strategy(title = "BTC bot", overlay = true, pyramiding=1,initial_capital = 10000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
//INPUTS
higherTF = input("W", type=input.resolution)
pc = security(syminfo.tickerid, higherTF, close[1], lookahead=true)
ph = security(syminfo.tickerid, higherTF, high[1], lookahead=true)
pl = security(syminfo.tickerid, higherTF, low[1], lookahead=true)

PP = 0.0,R1 = 0.0, R2 = 0.0, R3 = 0.0,S1 = 0.0, S2 = 0.0, S3 = 0.0

PP := (ph + pl + pc) / 3
R1 := PP     + (PP   - pl)
S1 := PP     - (ph - PP)
R2 := PP     + (ph - pl)
S2 := PP     - (ph - pl)
factor=input(2)
R3 := ph  + factor * (PP   - pl) 
S3 := pl   - 2 * (ph - PP) 

// 
length=input(21)
//
p = close
vrsi = rsi(p, length)
pp=ema(vrsi,length)
d=(vrsi-pp)*5
cc=(vrsi+d+pp)/2
//
low1=crossover(cc,0)

sell=crossover(close[1],R3) 
//
l = low1
s=sell
if l 
    strategy.entry("buy", strategy.long)
if s 
    strategy.entry("sell", strategy.short)
per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=15, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=3, minval=0.01)
tp2=input(title=" Take profit2", defval=5, minval=0.01)
tp3=input(title=" Take profit3", defval=7, minval=0.01)
tp4=input(title=" Take profit4", defval=10, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)


अधिक