Cette stratégie identifie les principaux niveaux de support et de résistance basés sur des moyennes mobiles, et prend des opérations lorsque le prix franchit ces niveaux.
La stratégie utilise une moyenne mobile simple (SMA) avec une période de 50 pour identifier les zones de soutien et de résistance.
En d'autres termes, la stratégie utilise la SMA à 50 périodes pour diviser les zones de prix et effectue des transactions lorsque le prix sort de ces zones.
La stratégie présente les avantages suivants:
La stratégie comporte également les risques suivants:
Ces risques peuvent être résolus par des optimisations telles que l'ajustement de la période SMA, l'ajout d'indicateurs de filtrage de tendance, etc. Une gestion adéquate des pertes d'arrêt est également très importante.
Certaines façons d'améliorer la stratégie:
Ces améliorations peuvent rendre la stratégie plus robuste à travers les différents cycles de marché.
Dans l'ensemble, la stratégie identifie le support/résistance avec les SMA et les ruptures de transactions, en gardant les choses simples et efficaces. Il y a également une marge d'optimisation significative à travers plusieurs dimensions. Alors que les fausses ruptures restent un risque, une utilisation prudente du stop loss peut le contrôler efficacement.
/*backtest start: 2023-01-01 00:00:00 end: 2023-09-27 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 //-- 開源代碼受Mozilla公眾授權條款2.0版規範, 網址是https://mozilla.org/MPL/2.0/ // //@version=4 // // 作品: [LunaOwl] 支撐壓力策略第4版 // 英文: [LunaOwl] Support Resistance Strategy V4 // //////////////////////////////// // ~~!!*(๑╹◡╹๑) ** // // 製作: @LunaOwl 彭彭 // // 日期: 2019年03月05日 // // 修改: 2019年04月22日 // // 四版: 2020年06月16日 // // 發表: 2020年06月17日 // //////////////////////////////// //==設定策略==// strategy("[LunaOwl] 支撐壓力策略 [回測]", shorttitle = "支撐壓力策略 [回測]", overlay = true, calc_on_order_fills = false, calc_on_every_tick = false, pyramiding = 0, currency = currency.NONE, initial_capital = 10000, slippage = 5, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_type = strategy.commission.percent, commission_value = 0.05 ) LB = input(50, title = "回溯期數", type = input.integer) R = valuewhen(cross(sma(close, LB),close), highest(high, LB), 1) S = valuewhen(cross(close,sma(close, LB)), lowest( low, LB), 1) plot(R, title = "壓力", color = color.green) plot(S, title = "支撐", color = color.red) //==定義輸出結果==// Trend_up = crossover(close, R) ? 1 : 0 Trend_dn = crossunder(close, S) ? -1 : 0 //==設定出場規則==// Enter = Trend_up == 1 and Trend_up[1] == 0 ? Trend_up : na Exit = Trend_dn == -1 and Trend_dn[1] == 0 ? Trend_dn : na strategy.entry("多", strategy.long, when = Enter) strategy.entry("空", strategy.short, when = Exit)