
この戦略は,二重入場方式を採用し,最初の入場ポイントで入場した後,価格が最初のストップポイントに達しなかった場合,より高い価格で再び入場し,加仓の効果を実現する.同時に,戦略は,均価追跡ストップの方法を採用し,リアルタイムでストップ・損失ラインの位置を更新し,ストップ・損失ラインを入場平均価格の一定のパーセント以上に設定し,利益をロックし,リスクを制御する.
策略は,まず価格が200日単調移動平均より低いかどうかを判断し,そうであれば入場条件を満たす. 策略は14:29~15:00の間の入場で,最初の入場点を形成する. その後,策略は最初のストップラインとストップロスの線を描画する.
価格が上昇したが,最初のストップターゲットに達しなかった場合,最初の入場ポイントの入場価格より5%高い位置で再び入場し,加仓の効果を実現する.この時点で,戦略は,ストップラインの位置を更新し,現在のポジションの平均入場価格の1.15倍に設定する.同時に,第二のストップラインも描画される.
この戦略は,ストップ・ターゲットとストップ・ロスの2つで利益をロックし,さらに利益を得るために,ポジションを上げることができます.
この戦略には以下の利点があります.
双入りの加仓法により,リスクが増加しない前提で,より高い利益を得ることができます.
ストップラインの位置をリアルタイムで更新し,平均価格のストップ追跡方法を採用し,リスクをコントロールし,利益をロックすることができます.
逆市操作の能力がある.
入場時間は合理的で,入場地点も合理的で,入場時間は合理的で,入場地点も合理的で,入場時間は合理的で,入場地点も合理的で,入場時間は合理的で,入場地点も合理的です.
パラメータ設定は合理的で,ストップ・ストップ・ストラストポイントは十分に緊密で,利益リスクは高い.
この戦略にはいくつかのリスクがあります.
双入場加仓方式は損失を拡大する可能性がある.両入場ポイントが最終的に止まった場合,損失は増加する.
ストップポイントの設定が不適切であれば,リスクを効果的に制御できず,耐えられる以上の損失を引き起こす可能性があります.
チェックインのタイミングを間違えた場合, チェックインを早め, 騙される確率は大きく増加する可能性があります.
パラメータ設定が不適切であれば,止まり点が遠すぎたり,止まり点が近すぎたり,収益の低下につながる可能性があります.
これらのリスクは,合理的なパラメータの最適化と厳格なリスク制御によって軽減され,回避することができます.
この戦略は以下の方向から最適化できます.
異なる技術指標を入学条件としてテストし,より良い入学ポイントを探します.
リスク対利益の最大化のために,ストップ・ストップ・ストラストのテストと最適化を行う.
異なる加減方法をテストし,最適な加減倍数を決定する.
逆転を避けるために,トレンド判断のルールに加入してください.
入学時間の選択を最適化し,入学を早めにしないようにしてください.
この戦略は,全体的に非常に実用的で,強い実戦的意義を有する.二入場加仓方式を採用すると,リスクを制御した前提でより高い収益が得られ,平均価格追跡ストロップは,利益をよくロックしてリスクを制御することができる.合理的なパラメータの最適化と厳格なリスク制御により,この戦略は,安定した継続的なアルファを得ることができる.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-28 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=4
strategy("8 Whittle Down", "8 WD", 1, initial_capital=0)
// DUAL ENTRIES
// ADDS ON MORE SHARES IF THE PILOT TRADE DOES NOT REACH PROFIT TARGET
// RED LINE == STOP LOSS LINE
// GREEN LINE == PROFIT TARGET FOR THE 1ST TRADE
// YELLOW LINE == ADD ON SHARES TO THE TRADE
// WHITE LINE == PROFIT TARGET FOR THE 1ST & SECOND TRADE COMBINED
StopLossPerc = input(1.15, "Total Stop Loss", step=0.01)
T2EntTrgPerc = input(1.05, "Enter Second trade @ what higher 5%?", step=0.01) // BUY STOP LIMIT ONLY WHEN ONE TRADE IS ALREADY OPEN & AIMS TO BUY DOUBLE THE OWNED SHARES AT A HIGHER ENTRY PRICE // YELLOW LINE
T1ProfTrgPerc = input(0.95, "First Trade Profit % Target", step=0.01)
T2ProfTrgPerc = input(0.90, "Second Trade Profit % Target", step=0.01)
RiskRange = close*(StopLossPerc)-1
Shares = floor(1000*1000/RiskRange) / 3 // SPLITS THE RISK OVER THREE TRADES
F1 = close < sma(security(syminfo.tickerid, "D", close[2]), 200) // HIGH OF OLD DATA -- SO NO REPAINTING
F2 = strategy.opentrades == 0
buyTime = time(timeframe.period, "1429-1500") // BUY AT THE END OF THE DAY
StopLossLine = strategy.position_avg_price * StopLossPerc
StopLossCol = strategy.opentrades != 0 ? #FF0000 : na
plot(StopLossLine, "StopLossLine", StopLossCol, 2)
strategy.cancel_all() // CANCELS ALL ORDERS: BECAUSE THE SYSTEM WILL ADD A BUY STOP LIMIT ORDER FOR ENTRY TWO
///============== ENTRY 1 ==============
if F1 and buyTime and strategy.opentrades == 0
strategy.entry("S1", false, qty=Shares)
T1Prof = strategy.position_avg_price * T1ProfTrgPerc
plot(T1Prof, "1st Profit Target", strategy.opentrades == 1 ? #00FF00 : na, 2)
strategy.exit("S1 Ex", "S1", limit=T1Prof, stop=StopLossLine )
///============== ENTRY 2 ==============
T2EntryTrg = strategy.position_avg_price * T2EntTrgPerc // enters on higher target than 1st entry
plot(T2EntryTrg, "ent2EntryTrg", strategy.opentrades == 1 ? color.yellow : na, 2)
if strategy.opentrades == 1
strategy.order("S2", false, stop=T2EntryTrg, limit= T2EntryTrg, qty=Shares * 2) // BUYS MORE SHARES
T2Prof = strategy.position_avg_price * T2ProfTrgPerc
T2Col = strategy.opentrades == 2 ? color.white : na
plot(T2Prof, "2nd Profit Target", T2Col, 2)
strategy.exit("S2 Ex", "S2", limit=T2Prof, stop=StopLossLine )