この戦略は,多空通路を構築し,通路突破型のシステム反測検証を行うことを利用し,トレンド突破型取引戦略に属します.
ある周期内の最高価格が多頭通道,最低価格が空頭通道を構成することを計算する.
価格が上通道線を突破したときに購入する.
価格がチャネルラインを下回ったときに,セールを行う.
戦略を検証するために,反測の時間帯を設定できます.
突破口を使って取引し,戦略はシンプルで明確です.
多空通路は,行情通路を直観的に定義することができる.
経路線を突破した後の上昇傾向は,より高い可能性が高い.
戦略の効果を歴史上検証する.
経路を突破する取引は簡単で簡単です.
プログラミングは簡潔で,変更や最適化も簡単です.
突破後に偽突破がある Bring のリコールリスク.
停止と停止を有効に設定できません.
経路のパラメータを誤って設定すると,戦略の効果に影響する.
測定結果には最適化偏差がある可能性がある.
リアルタイムで実行すると,効果は大きく異なるかもしれません.
異なるパラメータをテストし,最適なパラメータの組み合わせを探します.
偽突破をフィルターする他の要素の組み合わせを追加します.
損失の防止と停止の仕組みを確立する.
測定データに対して適切な処理を行い,データ偏差を排除する.
複数の市場環境で裏付けを行います.
シミュレーション・リアル・ディスクを検証し,リアル・ディスクのパラメータを配置する.
この戦略は,簡単な突破通路法で反測検証を行い,操作は簡単だが,安定性を高めるために最適化が必要である.パラメータ調整,リスク管理などによりさらに完善すれば,信頼できる突破取引システムにできる.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-08-30 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//strategy(title = "Backtest Donchian Teixeira", default_qty_type = strategy.fixed, default_qty_value = 100, overlay = true, commission_type = strategy.commission.cash_per_order, commission_value = 2.50, precision = 2, calc_on_every_tick = true, pyramiding = 0, initial_capital = 10000)
testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 00, 00)
testEndYear = input(2018, "Backtest End Year")
testEndMonth = input(12, "Backtest End Month")
testEndDay = input(1, "Backtest End Day")
testPeriodEnd = timestamp(testStartYear, testStartMonth, testStartDay, 23, 59)
window() => true //nao funciona
length1 = input(20, minval=1, title="Upper Channel")
length2 = input(20, minval=1, title="Lower Channel")
dcUpper = highest(length1)
dcLower = lowest(length2)
plot(dcLower, style=line, linewidth=1, color=red, offset=1)
plot(dcUpper, style=line, linewidth=1, color=lime, offset=1)
plot(dcLower, style=line, linewidth=1, color=gray)
if (strategy.position_size == 0)
strategy.entry("COMPRA", true, stop = dcUpper)
if (strategy.position_size > 0)
strategy.exit("VENDA", stop = dcLower)