この戦略は,キャンドルスティックの体サイズとトレンドモメンタムインジケーターEMAを使用して,市場のトレンドを決定し,低値で購入し高値で販売するための自動取引を実装する.その基本的なアイデアは,上昇傾向での上昇を追求し,ダウントレンドでのダウンにロングポジションを追加することです.
この戦略の全体的な考え方はシンプルで,理解しやすいもので,モメンタムとトラッキングが主な特徴である.シンプルなEMABOLL指標を通じて主要市場の方向性を決定し,ローカル調整を判断するためにキャンドルスタックボディを使用して,低価格で購入し,高価格で販売することで効率的な取引を実現する.この戦略は高い安定性を持ち,暗号通貨で例外的にうまく機能し,さらなるテストと最適化に価値があります.
/*backtest start: 2023-10-23 00:00:00 end: 2023-11-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //Author @divonn1994 strategy(title='Trend Follower Strategy v2 [divonn1994]', shorttitle='TrendFollowStrategyV2', overlay=false, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=100) //Important Constants for Classifying Candle Size---------------------------------------------------------------------------------------------------------------------------------------------- timesBigger = 2 crumbSize = 1400 crumbSize2 = 2100 bigCandleSize = 3800 //Key Alerts and Classifications of Candle Size and EMAs--------------------------------------------------------------------------------------------------------------------------------------- emaAlert = ta.ema(close, 8) > ta.ema(open, 8) ? 1 : 0 CandleSize = close * 1 - open * 1 previousCandleSize = close[1] * 1 - open[1] * 1 greenCandle = close > open ? 1 : 0 previousGreenCandle = close[1] > open[1] ? 1 : 0 crumb = (greenCandle==1 and CandleSize<=crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize) ? 1 : 0 bigCrumb = (greenCandle==1 and CandleSize<=crumbSize2 and CandleSize>crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize2 and -CandleSize>crumbSize) ? 1 : 0 previousCandleIsSmallCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize) ? 1 : 0 previousCandleIsBigCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize2 and previousCandleSize>crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize2 and -previousCandleSize>crumbSize) ? 1 : 0 bigCandle = (greenCandle==1 and previousCandleIsBigCrumb==1 and CandleSize>=math.abs(timesBigger*previousCandleSize)) or (greenCandle==1 and previousCandleIsSmallCrumb==1 and CandleSize>=bigCandleSize) or (greenCandle==1 and previousCandleIsSmallCrumb==0 and previousCandleIsBigCrumb==0 and CandleSize>=math.abs(timesBigger*previousCandleSize)) ? 1 : 0 //Engine (Secret Sauce)------------------------------------------------------------------------------------------------------------------------------------------------------------------------ buy = (crumb==0 and bigCrumb==0 and greenCandle==0) or (greenCandle==1 and bigCandle==1) or (emaAlert==0) ? 0 : 1 //Strategy------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- if ta.crossover(buy, 0.5) strategy.entry('long', strategy.long, comment='long') if ta.crossunder(buy, 0.5) strategy.close('long') //Plot Strategy Behavior----------------------------------------------------------------------------------------------------------------------------------------------------------------------- plot(buy, color=color.new(color.silver, 0)) plot(0.5, color=color.new(color.fuchsia, 0))