枢轴支压点策略
一种基于枢轴点(Pivot Point)的交易策略,主要用于在趋势行情中进行交易。
策略的核心思路是通过计算前一天的最高价、最低价和收盘价来确定当天的枢轴点,并据此计算出第一和第二阻力位以及第一和第二支撑位。
可以根据这些关键点位来决定买入或卖出的时机。
交易逻辑思路
1. 枢轴点的计算:
- 枢轴点是前一天的最高价、最低价和收盘价的平均值。这个点被认为是市场的一个重要参考点,因为它可以反映市场的平衡状态。
2. 阻力位和支撑位的计算:
- 第一阻力位(R1)是通过将枢轴点乘以2,然后减去前一天的最低价来计算的。
- 第一支撑位(S1)是通过将枢轴点乘以2,然后减去前一天的最高价来计算的。
- 第二阻力位(R2)是通过将枢轴点加上第一阻力位与第一支撑位的差值来计算的。
- 第二支撑位(S2)是通过将枢轴点减去第一阻力位与第一支撑位的差值来计算的。
3. 进场条件:
- 开多条件:如果当前持仓不是多仓且当前K线的最高价大于第二阻力位,则买入1手多单。这意味着市场突破了重要的阻力位,可能预示着进一步的上涨趋势。
- 开空条件:如果当前持仓不是空仓且当前K线的最低价小于第二支撑位,则卖出1手空单。这意味着市场突破了重要的支撑位,可能预示着进一步的下跌趋势。
策略特点
1. 简单直观:
- 该策略基于简单的数学计算,易于理解和实施。交易者只需关注几个关键点位即可做出交易决策。
2. 适应趋势行情:
- 该策略主要用于趋势行情,通过在趋势中寻找突破点来入场交易。它不适用于震荡行情,因为在震荡行情中,价格可能会频繁穿越阻力位和支撑位,导致虚假信号。
3. 明确的入场和出场条件:
- 策略明确规定了何时买入和卖出,避免了情绪化交易。交易者在入场时只需关注价格是否突破关键的阻力位或支撑位。
4. 风险管理:
- 该策略建议在大于5分钟的时间周期内使用,这有助于过滤掉短期噪音,减少不必要的交易。此外,通过设置止损和止盈点,可以进一步管理风险。
5. 适用品种广泛:
- 该策略适用于商品和股指等多种金融产品,具有较好的普适性。
该枢轴点交易策略通过计算前一天的关键价格点位来确定当天的阻力位和支撑位,并根据这些点位来决定买入或卖出的时机。
其核心思想是利用市场趋势的力量,通过在趋势中寻找突破点来进行交易。策略简单直观,适应趋势行情,具有明确的入场和出场条件,适用于多种金融产品。
通过合理的风险管理和时间周期选择,该策略有望为交易者提供稳定的收益。
(TB版本) 注释代码:
Params
Numeric Length1(110); // 均线周期
Numeric fudupct(0.6); // 幅度百分比
Vars
NumericSeries Upperline; // 通道上轨
NumericSeries downline; // 通道下轨
NumericSeries myenterprice; // 入场价格
NumericSeries fudu; // 幅度值
NumericSeries up; // 临时计算变量,用于计算上轨
NumericSeries down; // 临时计算变量,用于计算下轨
Begin
//=======定义===========
fudu = Open[1] * fudupct / 100; // 计算幅度值,为上一根开盘价乘以幅度百分比除以 100
up = Close[1] + fudu; // 计算临时变量 up,为上一根收盘价加上幅度值
down = Close[1] - fudu; // 计算临时变量 down,为上一根收盘价减去幅度值
Upperline = Average(up, Length1); // 计算上轨,为 up 的 Length1 周期平均值
downline = Average(down, Length1); // 计算下轨,为 down 的 Length1 周期平均值
PlotNumeric("Upperline", Upperline); // 绘制上轨,并命名为"Upperline"
PlotNumeric("downline", downline); // 绘制下轨,并命名为"downline"
//======入场=============
If(MarketPosition == 0 && High > Upperline && Upperline > Upperline[1]) // 如果持仓为空,当根K线最高价大于上轨且当前上轨大于上一个上轨
{
myenterprice = Max(Open, Upperline); // 计算入场价格,为当根开盘价和上轨的最大值
Buy(1, myenterprice); // 买入 1 手开多
}
If(MarketPosition == 0 && Low < downline && downline < downline[1]) // 如果持仓为空,当根K线最低价小于下轨且当前下轨小于上一个下轨
{
myenterprice = Min(Open, downline); // 计算入场价格,为当根开盘价和下轨的最小值
SellShort(1, myenterprice); // 卖出 1 手开空
}
//======出场=============
If(MarketPosition == 1 && Close[1] < Open[1] && Close[1] < downline && downline < downline[1]) // 如果持仓为多,前一根收盘价小于前一根开盘价,前一根收盘价小于下轨且当前下轨小于上一个下轨
{
Sell(1, Open); // 以当根K线开盘价平仓 1 手多单
}
If(MarketPosition == -1 && Close[1] > Open[1] && Close[1] > Upperline && Upperline > Upperline[1]) // 如果持仓为空,前一根收盘价大于前一根开盘价,前一根收盘价大于上轨且当前上轨大于上一个上轨
{
BuyToCover(1, Open); // 买入平仓 1 手空单
}
End
(TB版本) 策略代码:
Params
Numeric Length1(110);
Numeric fudupct(0.6);
Vars
NumericSeries Upperline;
NumericSeries downline;
NumericSeries myenterprice;
NumericSeries fudu;
NumericSeries up;
NumericSeries down;
Begin
fudu = Open[1] * fudupct / 100;
up = Close[1] + fudu;
down = Close[1] - fudu;
Upperline = Average(up, Length1);
downline = Average(down, Length1);
PlotNumeric("Upperline", Upperline);
PlotNumeric("downline", downline);
If(MarketPosition == 0 && High > Upperline && Upperline > Upperline[1])
{
myenterprice = Max(Open, Upperline);
Buy(1, myenterprice);
}
If(MarketPosition == 0 && Low < downline && downline < downline[1])
{
myenterprice = Min(Open, downline);
SellShort(1, myenterprice);
}
If(MarketPosition == 1 && Close[1] < Open[1] && Close[1] < downline && downline < downline[1])
{
Sell(1, Open);
}
If(MarketPosition == -1 && Close[1] > Open[1] && Close[1] > Upperline && Upperline > Upperline[1])
{
BuyToCover(1, Open);
}
End
适应行情:趋势行情
建议品种:商品 股指 可先在橡胶30分钟上测试。
建议周期:>5分钟
基本思路:
大均线加上一定百分比形成上轨,
大均线减去一定百分比形成下轨:
开多条件:突破上轨;
开空条件:突破下轨;
文华财经平台版本:
一个基于移动平均线和价格波动的交易策略,主要涉及买入、卖出以及平仓的条件。
交易策略概述
该策略的核心思想是利用移动平均线(MA)来判断市场的趋势,并结合价格的波动来确定买入和卖出的时机。
通过设定特定的条件,策略能够在市场波动中捕捉到潜在的盈利机会。
买入逻辑
1. 无持仓状态:
首先,策略检查当前是否无持仓,这是为了避免在已有持仓的情况下重复开仓。
2. 价格突破上限:
其次,策略检查当天的最高价是否超过了计算得出的上限。这表示市场价格已经突破了之前的阻力位,可能预示着上涨趋势。
3. 上限上升:
最后,策略还要求上限相比前一交易日有所上升,这进一步确认了上涨趋势的强度。
当以上三个条件同时满足时,策略会以当前的开盘价或上限中的较高者作为买入价格,并执行买入操作(`BK`)。
卖出逻辑
1. 无持仓状态:
与买入逻辑类似,策略首先检查当前是否无持仓。
2. 价格跌破下限:
接着,策略检查当天的最低价是否跌破了计算得出的下限。这表示市场价格已经跌破了之前的支撑位,可能预示着下跌趋势。
3. 下限下降:
同样地,策略还要求下限相比前一交易日有所下降,以确认下跌趋势的强度。
当以上三个条件同时满足时,策略会以当前的开盘价或下限中的较低者作为卖出价格,并执行卖出操作(`SK`)。
策略平仓逻辑
多头平仓
1. 持有多头仓位:
策略首先检查当前是否持有多头仓位。
2. 价格反转:
接着,策略检查前一交易日的收盘价是否低于开盘价,这表示价格出现了反转信号。
3. 跌破下限:
此外,策略还要求当前价格跌破下限,这进一步确认了反转信号的可靠性。
4. 下限下降:
最后,策略要求下限相比前一交易日有所下降,以确保平仓操作的及时性。
当以上四个条件同时满足时,策略会执行多头平仓操作(`SP`)。
空头平仓
空头平仓的逻辑与多头平仓类似,但方向相反。
具体来说:
1. 持有空头仓位:
策略首先检查当前是否持有空头仓位。
2. 价格反转:
接着,策略检查前一交易日的收盘价是否高于开盘价,这表示价格出现了反转信号。
3. 涨破上限:
此外,策略还要求当前价格涨破上限,这进一步确认了反转信号的可靠性。
4. 上限上升:
最后,策略要求上限相比前一交易日有所上升,以确保平仓操作的及时性。
当以上四个条件同时满足时,策略会执行空头平仓操作(`BP`)。
策略特点
1. 简单直观:
该策略基于简单的移动平均线和价格波动来判断市场趋势,逻辑清晰易懂。
2. 风险控制:
通过设置明确的买入、卖出和平仓条件,策略能够有效地控制风险并避免情绪化交易。
3. 适应性强:
虽然策略的具体参数可以根据市场情况进行调整,但其核心逻辑适用于多种市场环境。
4. 依赖历史数据:
策略依赖于历史数据进行计算和判断,因此对数据的准确性和完整性有较高要求。
该交易策略通过结合移动平均线和价格波动来判断市场趋势,并制定相应的买入、卖出和平仓条件。其简单直观的设计使得策略易于理解和实施,同时通过明确的风险控制措施来保障交易的稳定性和安全性。
然而,由于策略依赖于历史数据进行计算和判断,因此在实际应用中需要注意数据的准确性和完整性。
(文华8)平台示例代码:
//定义变量
VARIABLE:
Upperline:=0, downline:=0, myenterprice:=0, fudu:=0, up:=0, down:=0;
//定义参数
Length1:=110;
fudupct:=0.6;
// 计算指标
fudu:=REF(OPEN,1)*fudupct/100;
up:=REF(CLOSE,1)+fudu;
down:=REF(CLOSE,1)-fudu;
Upperline:=MA(up,Length1);
downline:=MA(down,Length1);
// 买入开仓条件
IF BKVOL=0 AND HIGH>Upperline AND Upperline>REF(Upperline,1) THEN BEGIN
myenterprice:=MAX(OPEN,Upperline);
BK;
END;
// 卖出开仓条件
IF SKVOL=0 AND LOW<downline AND downline<REF(downline,1) THEN BEGIN
myenterprice:=MIN(OPEN,downline);
SK;
END;
// 多头平仓条件
IF BKVOL>0 AND REF(CLOSE,1)<REF(OPEN,1) AND REF(CLOSE,1)<downline AND downline<REF(downline,1) THEN BEGIN
SP;
END;
// 空头平仓条件
IF SKVOL>0 AND REF(CLOSE,1)>REF(OPEN,1) AND REF(CLOSE,1)>Upperline AND Upperline>REF(Upperline,1) THEN BEGIN
BP;
END;
AUTOFILTER;
说明:
变量定义:
使用 VARIABLE 声明所有需要的变量。
参数定义:
Length1 和 fudupct 作为参数传入。
指标计算:
根据开盘价和收盘价计算 fudu、up、down,并使用 MA 函数计算 Upperline 和 downline。
策略交易逻辑条件:
买入开仓:
当无持仓且最高价超过 Upperline 且 Upperline 上升时,开多仓。
卖出开仓:
当无持仓且最低价跌破 downline 且 downline下降时,开空仓。
多头平仓:
当持有多头且上一根K线收盘价低于开盘价且收盘价低于 downline 且 downline 下降时,平多仓。
空头平仓:
当持有空头且上一根K线收盘价高于开盘价且收盘价高于 Upperline 且 Upperline上升时,平空仓。