マルチレベルバッチ利益獲得BTCロボット取引戦略


作成日: 2023-10-18 11:12:39 最終変更日: 2023-10-18 11:12:39
コピー: 0 クリック数: 707
1
フォロー
1617
フォロワー

マルチレベルバッチ利益獲得BTCロボット取引戦略

概要

この戦略は,多段階のストップ・ストップを伴うBTCロボット取引戦略である.これは,最低点を探して購入エントリーを行い,その後,多段階のストップ・ストップを設定して,多段階のストップ・ストップ・エグジットを行う.同時に,ストップ・ストップを設定して,リスク管理を行う.この戦略は,BTCを看守する状況に適している.

戦略原則

  1. 入場のタイミングを探し:CC指数の下の0軸を横切るときに買入シグナルが生じ,その時点で多項を購入する.

  2. ストップポイントを設定: ストップポイントをインプットのストップパーセンテージで価格に変換する.

  3. 多層のストップポイント設定: 4つの出力ポイントに分けて,各出力ポイントのストップパーセントを入力して,価格に変換して,ストップポイントを分批する.

  4. リスクコントロール:最大保有量設定,インプット設定による各出場ポイントの出場量パーセントによるリスク分散.

優位分析

この戦略の利点は以下の通りです.

  1. 入場シグナルはより信頼性があり,最低のポイントで購入し,高いポイントで購入することを避ける.

  2. 多層のストップは,利益の一部をロックし,利益の一部を保持して継続する.

  3. リスク管理のためにストップ・ロスを設定し,損失を一定範囲で制御することができます.

  4. リスクの分散により,一斉に損失を回避できます.

  5. 撤去にはある程度のコントロールがあります.

リスク分析

この戦略には以下のリスクもあります.

  1. CC指数は最低値を100%特定できないため,買い取りの機会を逃す可能性があります.

  2. ストップポイントを正しく設定しないことで,不必要なストップが起こる可能性があります.

  3. 試合のセットアップが不適切であることも利益の損失につながる.

  4. 震災が起きると,を止めることは難しい.

  5. 状況が逆転すると, 止めることは難しいかもしれません.

最適化の方向

ウェブのコンテンツを編集する際には,

  1. 入場シグナルを最適化して,より多くの指標や機械学習判断を追加して,購入のタイミングを決定します.

  2. 損失を抑える戦略を最適化し,より弾力的で,状況により良く対応できるようにする.

  3. 試合開始の戦略を最適化し,変動やトレンドに適した状況に適応できるようにする.

  4. トレーリングストップなどの戦略を導入することで, ストップはより弾力的に機能します.

  5. 異なる品種のパラメータ設定をテストし,最適なパラメータ組み合わせを探します.

要約する

この戦略は,全体的に最低点の買取シグナルを探し,複数のレベルでのストップとストップを設定したBTC取引戦略である. 特定の利点があるが,さらに最適化可能な方向もある. さらに最適化することで,戦略は,撤回制御とストップの面でより良くすることができる. しかし,全体的に,この戦略は,BTCのロボット取引のための実行可能な考えを提供している.

ストラテジーソースコード
/*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)