毎日の高値と安値のスト​​ライク戦略


作成日: 2023-09-23 15:07:58 最終変更日: 2023-09-23 15:07:58
コピー: 1 クリック数: 1039
1
フォロー
1617
フォロワー

概要

これは,毎日の高低点,移動平均値と取引量の組み合わせた簡単な日内取引戦略である.戦略の主な考え方は,前日の高点または低点を破るとき,移動平均線の方向と資金の流れの方向を併用して入場信号である.

戦略原則

この戦略は,以下の指標に基づいて判断されます.

  1. 日高低点: 突破判断の基準として,前日の最高値と最低値を記録する.

  2. 移動平均:大傾向判断の参考として,一定の周期の閉盘価格移動平均を計算する.

  3. 取引量の多空指標:一定の周期における取引量の統一された多空値を計算し,資金の流入と流出を判断する.

取引の具体的ルールは以下の通りです.

  1. 多条件:当日の高値が前日の高値を破り,閉盘価格が移動平均より高く,取引量多空指標が正である場合は,多を行う.

  2. 平多条件: 閉盤価格が移動平均を下回ったとき,多項を平にする.

  3. 空白条件:当日の低点が前日の低点を破り,閉盘価格が移動平均より低い,取引量多空指標が負である場合,空白.

  4. 空白条件:閉盤価格が移動平均を破るとき,空白を平らにする.

この戦略は,突破,トレンド,資金流動などの複数の側面を十分に考慮し,比較的に包括的な判断システムを形成し,いくつかの偽の突破のノイズを効果的にフィルターすることができます.しかし,日内データのみに基づいて意思決定を行うため,ショートライン操作戦略に属します.

優位分析

この高低突破策には以下の利点があります.

  1. シンプルで直感的で,理解しやすく実行する.

  2. 突破する前日の高低は,より強い勢力の方向を捉えることができます.

  3. 移動平均と組み合わせたフィルタリングにより,多くのノイズ信号が回避されます.

  4. 資金流動指標は,多空の力の分布を判断する.

  5. 単日取引は,繰り返し取引を繰り返すことで,利益を累積することができる.

  6. 複雑なパラメータの最適化を必要とせず,簡単に実行できます.

  7. 異なる品種に適応し,柔軟性が高い.

  8. 総じて,戦略はシンプルで明快で,実行の難しさは少なく,利益の余地もかなりあります.

リスク分析

この戦略には多くの利点がありますが,いくつかのリスクがあります.

  1. 突破に依存し,偽突破で損害を被る可能性もある.

  2. 海外の投資家は,日中取引に過度に依存し,夜更けの事件の影響を受けやすい.

  3. 移動平均の遅滞は,トレンドの転換点を逃しているかもしれない.

  4. 交付量指標の効果は不安定で,時には誤った信号を発する.

  5. 単一の損失の大きさを十分に制御できないため,過度の損失のリスクがあります.

  6. 取引が1日間に何度も繰り返される場合,取引料金がかかる可能性があります.

  7. 持続的な利回りを得ることは困難です.

  8. 総じて,戦略的なシグナルは頻繁に発せられますが,安定性や収益性は試される必要があります.

最適化の方向

この戦略は,以下の点でさらに最適化できます.

  1. 単発損失を抑えるために, Stop Loss メカニズムに加入する.

  2. 移動平均のパラメータを最適化して,より敏感または平坦にします.

  3. 資金流動の判断の精度を高めるために,様々な取引量指標を試す.

  4. フィルタリング条件を増やして 偽の突破を減らす.

  5. 戦略をより高い時間枠で実行し,頻繁に取引を避けるようにしてください.

  6. 機械学習などの手段を導入し,自主的な取引シグナルシステムを構築する.

  7. ニュース・イベント,マクロ環境など,より多くのデータ源を統合して意思決定を行うこと.

  8. 戦略の安定性と収益変動のリスクを全面的に評価し,過高な収益を追求しない.

要約する

この戦略は,全体として,シンプルで直感的な高低突破戦略の考え方であり,その核心は価格関係とトレンド判断を掌握することにある.この戦略には一定の優位性があるが,さらに最適化と検証を必要とするリスクも存在している.リスクを制御し,利潤を安定させることができれば,これは実戦価値のあるショートライン戦略の考え方である.しかし,より効率的な安定策は,モデル化のためにより多くの要素を導入し,厳格な反省テストを行う必要がある.

証明書

ストラテジーソースコード
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=5

strategy(title='Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)

////////////////////////////GENERAL INPUTS//////////////////////////////////////
len = input.int(24, minval=1, title='Length MA', group='Optimization paramters')
src = input.source(close, title='Source MA', group='Optimization paramters')
out = ta.ema(src, len)

length = input.int(20, minval=1, title='CMF Length', group='Optimization paramters')
ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume
mf = math.sum(ad, length) / math.sum(volume, length)

f_secureSecurity(_symbol, _res, _src) =>
    request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on)

pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high)
pricelow = f_secureSecurity(syminfo.tickerid, 'D', low)

plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))
plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))

short = ta.crossunder(low, pricelow) and close < out and mf < 0
long = ta.crossover(high, pricehigh) and close > out and mf > 0


if short and barstate.isconfirmed
    strategy.entry('short', strategy.short, when=barstate.isconfirmed, stop=pricelow[1])
    strategy.close('short', when=close > out)

if long and barstate.isconfirmed
    strategy.entry('long', strategy.long, when=barstate.isconfirmed, stop=pricehigh[1])
    strategy.close('long', when=close < out)