これは,毎日の高低点,移動平均値と取引量の組み合わせた簡単な日内取引戦略である.戦略の主な考え方は,前日の高点または低点を破るとき,移動平均線の方向と資金の流れの方向を併用して入場信号である.
この戦略は,以下の指標に基づいて判断されます.
日高低点: 突破判断の基準として,前日の最高値と最低値を記録する.
移動平均:大傾向判断の参考として,一定の周期の閉盘価格移動平均を計算する.
取引量の多空指標:一定の周期における取引量の統一された多空値を計算し,資金の流入と流出を判断する.
取引の具体的ルールは以下の通りです.
多条件:当日の高値が前日の高値を破り,閉盘価格が移動平均より高く,取引量多空指標が正である場合は,多を行う.
平多条件: 閉盤価格が移動平均を下回ったとき,多項を平にする.
空白条件:当日の低点が前日の低点を破り,閉盘価格が移動平均より低い,取引量多空指標が負である場合,空白.
空白条件:閉盤価格が移動平均を破るとき,空白を平らにする.
この戦略は,突破,トレンド,資金流動などの複数の側面を十分に考慮し,比較的に包括的な判断システムを形成し,いくつかの偽の突破のノイズを効果的にフィルターすることができます.しかし,日内データのみに基づいて意思決定を行うため,ショートライン操作戦略に属します.
この高低突破策には以下の利点があります.
シンプルで直感的で,理解しやすく実行する.
突破する前日の高低は,より強い勢力の方向を捉えることができます.
移動平均と組み合わせたフィルタリングにより,多くのノイズ信号が回避されます.
資金流動指標は,多空の力の分布を判断する.
単日取引は,繰り返し取引を繰り返すことで,利益を累積することができる.
複雑なパラメータの最適化を必要とせず,簡単に実行できます.
異なる品種に適応し,柔軟性が高い.
総じて,戦略はシンプルで明快で,実行の難しさは少なく,利益の余地もかなりあります.
この戦略には多くの利点がありますが,いくつかのリスクがあります.
突破に依存し,偽突破で損害を被る可能性もある.
海外の投資家は,日中取引に過度に依存し,夜更けの事件の影響を受けやすい.
移動平均の遅滞は,トレンドの転換点を逃しているかもしれない.
交付量指標の効果は不安定で,時には誤った信号を発する.
単一の損失の大きさを十分に制御できないため,過度の損失のリスクがあります.
取引が1日間に何度も繰り返される場合,取引料金がかかる可能性があります.
持続的な利回りを得ることは困難です.
総じて,戦略的なシグナルは頻繁に発せられますが,安定性や収益性は試される必要があります.
この戦略は,以下の点でさらに最適化できます.
単発損失を抑えるために, Stop Loss メカニズムに加入する.
移動平均のパラメータを最適化して,より敏感または平坦にします.
資金流動の判断の精度を高めるために,様々な取引量指標を試す.
フィルタリング条件を増やして 偽の突破を減らす.
戦略をより高い時間枠で実行し,頻繁に取引を避けるようにしてください.
機械学習などの手段を導入し,自主的な取引シグナルシステムを構築する.
ニュース・イベント,マクロ環境など,より多くのデータ源を統合して意思決定を行うこと.
戦略の安定性と収益変動のリスクを全面的に評価し,過高な収益を追求しない.
この戦略は,全体として,シンプルで直感的な高低突破戦略の考え方であり,その核心は価格関係とトレンド判断を掌握することにある.この戦略には一定の優位性があるが,さらに最適化と検証を必要とするリスクも存在している.リスクを制御し,利潤を安定させることができれば,これは実戦価値のあるショートライン戦略の考え方である.しかし,より効率的な安定策は,モデル化のためにより多くの要素を導入し,厳格な反省テストを行う必要がある.
証明書
// 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)