この戦略は,前の取引日の最高,最低,閉じる価格から計算されたサポートおよびレジスタンスレベルに基づいてロングまたはショートポジションを作成します.価格は上位レジスタンスレベルR1を突破するとロングになり,価格が下のサポートレベルS1を突破するとショートになります.この戦略はダイナミックピボットポイント戦略に属します.
現在のサポートレベルS1,レジスタンスレベルR1とピボットポイントvPPを計算する.上記の取引日の最高価格xHigh,最低価格xLow,閉じる価格xCloseに基づいて計算する.
vPP = (xHigh+xLow+xClose) /3
vR1 = vPP+(vPP-xLow)
vS1 = vPP-(xHigh - vPP)
価格がvR1またはvS1を突破するかどうかを決定します.価格がvR1を突破する場合はロングで,価格がvS1を下回る場合はショートで. POSはロングまたはショート方向を記録します.
pos = iff(close > vR1, 1, IF (近) < vS1, -1, nz (pos[1], 0)))
possigは実際の取引方向を記録します.もしreverse=trueで逆取引が有効であれば,取引信号は逆になります.
VR1が壊れたら ロングとVS1が壊れたらショートです
リスク管理
この戦略は,価格ブレイキング動的サポートおよびレジスタンスレベルに基づいて長または短取引を行う.論理は,トレンド逆転を効果的に識別できる一方で,理解し実行するのが簡単です.しかし,リスクは存在し,より信頼性の高い取引信号を生成するために追加の指標によるさらなる最適化が必要です.全体として,戦略は,量的な取引システムにおける補助指標または基本的なビルディングブロックとしてよく機能します.
//@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 14/06/2018 // This Pivot points is calculated on the current day. // Pivot points simply took the high, low, and closing price from the previous period and // divided by 3 to find the pivot. From this pivot, traders would then base their // calculations for three support, and three resistance levels. The calculation for the most // basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and // resistance levels. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Dynamic Pivot Point Backtest", shorttitle="Dynamic Pivot Point", overlay = true) reverse = input(false, title="Trade reverse") xHigh = request.security(syminfo.tickerid,"D", high[1]) xLow = request.security(syminfo.tickerid,"D", low[1]) xClose = request.security(syminfo.tickerid,"D", close[1]) vPP = (xHigh+xLow+xClose) / 3 vR1 = vPP+(vPP-xLow) vS1 = vPP-(xHigh - vPP) pos = iff(close > vR1, 1, iff(close < vS1, -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(vS1, color=#ff0000, title="S1", style = circles, linewidth = 1) plot(vR1, color=#009600, title="R1", style = circles, linewidth = 1)