これはモメントインジケーターをベースとした逆転取引戦略である.市場動向を決定するためにEASY OF MOVEMENT (EOM) インジケーターを使用し,インジケーターが既定の
EOM指標は,価格とボリュームの変化の大きさを測定する指標である.ポジティブ値とネガティブ値の両方を返します.ポジティブな値は価格が上昇し,ネガティブな値は価格が下がったことを意味します.絶対値が大きいほど,価格の変化が大きくなり,取引量が小さくなります.
この戦略の裏にある論理は
この戦略の主な利点は:
この戦略の主なリスクは
解決策:
この戦略は,次の側面で最適化できます.
上記の最適化を行うことで 戦略はより堅牢になり リスクを低減し 実際の取引パフォーマンスを向上させることができます
結論として,この戦略は,実際の市場動向,およびロング/ショート取引からの利益を決定するために,Ease of Movement指標を使用しています.これは簡単に使用でき,価格変化とボリューム変化要因の両方を考慮します.実際の取引に適用する場合は,他の技術指標を組み込み,より良いパフォーマンスのためにパラメータを適切に最適化することをお勧めします.
/*backtest start: 2023-11-19 00:00:00 end: 2023-12-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 19/06/2018 // This indicator gauges the magnitude of price and volume movement. // The indicator returns both positive and negative values where a // positive value means the market has moved up from yesterday's value // and a negative value means the market has moved down. A large positive // or large negative value indicates a large move in price and/or lighter // volume. A small positive or small negative value indicates a small move // in price and/or heavier volume. // A positive or negative numeric value. A positive value means the market // has moved up from yesterday's value, whereas, a negative value means the // market has moved down. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Ease of Movement (EOM) Backtest", shorttitle="EOM") BuyZone = input(4000, minval=1) SellZone = input(-4000, minval=1) reverse = input(false, title="Trade reverse") hline(0, color=blue, linestyle=line) hline(BuyZone, color=green, linestyle=line) hline(SellZone, color=red, linestyle=line) xHigh = high xLow = low xVolume = volume xHalfRange = (xHigh - xLow) * 0.5 xMidpointMove = mom(xHalfRange, 1) xBoxRatio = iff((xHigh - xLow) != 0, xVolume / (xHigh - xLow), 0) nRes = iff(xBoxRatio != 0, 1000000 * ((xMidpointMove - xMidpointMove[1]) / xBoxRatio), 0) 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=red, title="EOM", style=histogram, linewidth=2)