この戦略は,市場のトレンド化程度とトレンドの逆転の可能性を判断するために,市場促進指数 (MFI) を用いる.それは,価格範囲と取引量の関係を計算して,価格運動の効率性を評価し,取引信号を生成する.
市場促進指数を計算する.公式は: ((最高価格 - 最低価格) /取引量*10000
MFIが1より大きい時に買取シグナルを生じ,0.8より小さい時に売出シグナルを生成するなど,買取と売却の値を設定する
MFIは値下げ時に多額の買取を行い,値下げ時に空売りを行います.
信号に応じてK線に異なる色を設定し,市場状況を直感的に表示する
選択可能な取引信号の方向を反転
市場動向と価格運動の効率性を評価する能力
パラメータの設定はシンプルで,値は簡単に決定できます.
取引のシグナルが明確で判断し実行しやすい
市場状況を視覚的に表示する直感的なK線
必要な時に余分な時間や空いた時間を使うことができます.
傾向の強さを判断できず,利益の不足のリスクがある
普通の波動と逆転を区別できない
突発的な出来事の影響を受けやすく,誤った信号を生成します.
遅滞があるため,入場地点が欠けています.
単一損失をコントロールできない
異なるパラメータの値設定をテストする
値上げに関する指標の確認
移動平均線などの指標を組み合わせてトレンドの方向を判断する
リスク管理策の構築
ポジション管理のルールを設定し,市場に応じてポジションを調整する
異なる品種と周期で実効をテストする
この戦略は,MFI指標によって市場のトレンド化程度を判断し,簡単な取引シグナルを与えます.さらなる最適化パラメータの設定,ストップダストメカニズムの構築などが必要ですが,リスクを厳格に制御します.しかし,全体的な考え方は明確で実行可能であり,トレンド追跡戦略の構成要素として,実用的な価値があります.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 12/09/2018
// The Market Facilitation Index is an indicator that relates price range to
// volume and measures the efficency of price movement. Use the indicator to
// determine if the market is trending. If the Market Facilitation Index increased,
// then the market is facilitating trade and is more efficient, implying that the
// market is trending. If the Market Facilitation Index decreased, then the market
// is becoming less efficient, which may indicate a trading range is developing that
// may be a trend reversal.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Market Facilitation Index (MFI) Backtest", shorttitle="MFI")
SellZone = input(6.2, minval=0.01, step = 0.01)
BuyZone = input(1, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
xmyVol = volume
xmyhigh = high
xmylow = low
nRes = (xmyhigh - xmylow) / xmyVol * 10000
pos = iff(nRes > BuyZone, 1,
iff(nRes < SellZone, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=green, title="MFI", style = histogram)