この戦略は,イチモクとMACD指標を組み合わせ,トレンド逆転を確認した後,取引を開始する.これはトレンド逆転の取引戦略に属します.
イチモク・テンカン線を計算してトレンド方向を測ります.その上の価格は上昇傾向を示し,下落傾向を示します.
MACDのデッドクロスは上向きでセールシグナル,下向きでゴールドクロスは買いシグナルを生成します.
イチモク・トレンドバイアスとMACD逆転信号を組み合わせてトレンド逆転を取引します
取引時間の制御を設定するオプション,夜や週末の取引など,特定の時間に関連したリスクを回避する.
適切なストップ・ロスを採用し 利益のロックとリスク管理のために利益を取ります
イチモクは直感的にトレンドとサポート/レジスタンスレベルを表示します
MACDはトレンド逆転を敏感に捉えています
トレンドバイアスと逆転を組み合わせることで 信号の質が向上します
調整可能な取引時間は 大事なニュースイベントのリスクを回避します
ストップ・ロスト・アンド・テイク・プロフィートは 資本リスクを効果的に管理します
イチモクとMACDは 誤った信号を生成する可能性があります
逆転強さは不明 上下を追うリスクがある
取引時間の制御は 機会を逃すかもしれません
誤ったストップ・ロストと 利得の設定は 早期離脱につながります
パラメータの最適化によりオーバーフィッティングが発生します
イチモクとMACDのパラメータをテストして 最適な組み合わせを
取引シグナルを確認するために他の指標を追加します.
ストップと利益を最適化して リスクと収益をバランスします
取引時間の制御の必要性を評価し,適当な場合はリラックスする.
トレンドフィルターを組み込み,逆転取引による損失を回避する.
逆転強さと 潜在的引き戻し高さを測る方法を研究する
この戦略は,イチモク
/*backtest start: 2022-09-13 00:00:00 end: 2023-09-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Revazi //@version=5 strategy("The Impeccable by zyberal", overlay = true) // Inputs { // Strategy variables IchimokuTenkanPeriod = input(9) IchimokuKijunPeriod = input(190) IchimokuSenkouPeriod = input(52) MACDMainFast = input(3) MACDMainSlow = input(10) MACDMainSmooth = input(9) ExitAfterBars = input(2) ProfitTarget = input(135) StopLoss = input(70) // Trading Options DontTradeOnWeekends = input(true) ExitAtEndOfDay = input(true) DayExitTimeHour = input(23) DayExitTimeMinute = input(04) ExitOnFriday = input(true) FridayExitTimeHour = input(20) FridayExitTimeMinute = input(40) // } // TRADING OPTIONS LOGIC { OpenOrdersAllowed = true // Dont trade on weekends { if DontTradeOnWeekends if dayofweek == dayofweek.saturday or dayofweek == dayofweek.sunday OpenOrdersAllowed := false // } // Exit on close (end of day) { if ExitAtEndOfDay if timeframe.isintraday and time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), DayExitTimeHour, DayExitTimeMinute) OpenOrdersAllowed := false // } // Exit on Friday { if ExitOnFriday if timeframe.isintraday and time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), FridayExitTimeHour, FridayExitTimeMinute) OpenOrdersAllowed := false // } // Rule: Trading signals { openW3 = request.security(syminfo.tickerid, "W", open)[3] middleDonchian(Length) => math.avg(ta.highest(Length), ta.lowest(Length)) Tenkan = middleDonchian(IchimokuTenkanPeriod)[2] [macdLine, signalLine, _] = ta.macd(close, MACDMainFast, MACDMainSlow, MACDMainSmooth) LongEntrySignal = openW3 > Tenkan and ta.crossunder(macdLine, signalLine)[3] //macdLine[3] < signalLine[3] ShortEntrySignal = openW3 < Tenkan and ta.crossover(macdLine, signalLine)[3] //macdLine[3] > signalLine[3] // } // Calculate conditions { IsFlat() => strategy.position_size == 0 IsLong() => strategy.position_size > 0 IsShort() => strategy.position_size < 0 longCondition = OpenOrdersAllowed and not IsLong() and LongEntrySignal shortCondition = OpenOrdersAllowed and not IsShort() and ShortEntrySignal // } // Open positions based on conditions { strategy.order(id = "buy", direction = strategy.long, qty = 1, when = longCondition) strategy.order(id = "sell", direction = strategy.short, qty = 1, when = shortCondition) // }