![]()
此项目为 MT5 交易信号指标。
此指标主要作用:协助您及时发现波段行情的起点。
MT4版本,请移步: https://www.mql5.com/zh/market/product/79151
===== 适用品种 ====
可用于:外汇、期货、股票、指数等
==== 适用周期 ====
可用于各个时间周期,无任何限制,且各周期信号质量表现都很好。请根据自已的交易风格选择相应时间周期。
如果是短线炒手或日内交易者,请尽量在M1或M5周期使用。
如果是中长线交易者,请尽量选择H1级别或以上的周期。
重要提示:
用于有间隔交易时段的品种,如股票、期货等,请 主动 忽略开盘时的提示信号,收盘前也请忽略提示信号,以免产生较大风险。
股票、期货等品种,开盘时多空竞争激烈,行情变化较大,信号质量较差,请根据不同品种的交易时段,人工判断过滤。
建议图表采用黑色底色。
==== 使用方法 ====
1、红色K线柱表示向上突破,做多交易提示,买入。
2、绿色K线柱表示向下突破,做空交易提示,卖出。
3、建议采用挂单方式交易
- 当上一根K线提示买入时,在上一根K线的最高价 往上加 1 个点挂buy stop单等待进场。
- 当上一根K线提示卖出时,在上一根K线的最低价 往下减 1 个点挂sell stop单等待进场。
- 如果接下来2根K线没有进场,请取消挂单,等待下一个提示信号。
4、关于出场
行情往持仓有利方向行进到信号K线同等点数时,主动盈利平仓离场。
- 如果所建仓位较大,可分批离场:
A:行情往持仓有利方向行进到信号K线高度点数的一半时,主动盈利平仓50%离场。
B:行情继续到信号K线高度同等点数时,剩下的仓位离场。- 止损离场,当行情往相反方向超过信号K线的最高价,卖单止损平仓离场;如果行情往相反方向超过信号K线的最低价,买单止损平仓离场;
5、关于单量:
- 每次挂单前请根据信号K线的点数,计算你如果交易失败,会亏损的点数,根据你的风险承受能力,在止损点数的基础上计算出下单量。
- 基础原则:K线柱点数越大,单量越小
- 一般情况,应用周期越小,信号K线的点数越小,止损点数也相应减少,可知当提高单量。
6、如果配合大周趋势指标,先预判当前趋势,再根据此信号顺势而为,将提升准确率。
==== 参数说明====
- Volatility Period: 数值越小,灵敏度超高,信号数量越多,质量越差
- Volatility Level Check: 建议取值在1.5-3.0之间,数量越大,信号越小
- K Strong Level Up: 关于做多的信号过滤,信号上限数值,建议在 400 至500 之间,大于500无效。数值越大,信号越少。
- K Strong Level Down: 关于做空的信号过滤,信号下限数值,建议在 -400 至 -500 之间,小于 - 500无效。数值越小,信号越少。
- Alert Messe Show: 如果选 Yes,信号出现时,会弹窗提示息。
- Send Mail Message: 如果选 Yes, 信号出现时,会主动发送邮件提示。 (先须先在工具-->选项-->邮件内设置好相关内容)
V1.1 升级, 为了EA能读取信号,特为此升级,用法如下:
获得信号示例:
请注意,不要读取当前K线的信号,因为没有收盘前,当前K线的信号是不准确的,至少要读取前一根K线的信号。
请注意,读取的Bufferindex, 0 为多,1为空,因为之前为了画彩K,占用了前面的Buffer。
为了方便引用,我采用的函数方式获取。
做多示例:
double SignalBuy = iGetIndicator(NULL,PERIOD_CURRENT,0,1);
if(SignalBuy!=EMPTY_VALUE)
{
//做多信号达成,你可开多单或进行相应管理
break;
}
else
{
Print("Buy Signal: Not available, pause");
}
做空信号:
double SignalSell = iGetIndicator(NULL,PERIOD_CURRENT,1,1);
if(SignalSell!=EMPTY_VALUE)
{
//做空信号达成,你可开空单或进行相应管理
Print("Sell Signal: OK, do something");
break;
}
else
{
Print("Sell Signal: Not available, pause");
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double iGetIndicator(string symbol,
ENUM_TIMEFRAMES tf,
int bufferindex,
int shift)
{
int handle=iCustom(symbol,tf,"EA999 Strong K Breakout 1.2");
if(handle<0)
{
Print("iCustom indicator create error:",ErrorDescription(GetLastError()));
return(-1);
}
else
return(CopyBufferMQL4(handle,bufferindex,shift));
}
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
{
double buf[];
switch(index)
{
case 0:
if(CopyBuffer(handle,0,shift,1,buf)>0)
return(buf[0]);
break;
case 1:
if(CopyBuffer(handle,1,shift,1,buf)>0)
return(buf[0]);
break;
case 2:
if(CopyBuffer(handle,2,shift,1,buf)>0)
return(buf[0]);
break;
case 3:
if(CopyBuffer(handle,3,shift,1,buf)>0)
return(buf[0]);
break;
case 4:
if(CopyBuffer(handle,4,shift,1,buf)>0)
return(buf[0]);
break;
case 5:
if(CopyBuffer(handle,5,shift,1,buf)>0)
return(buf[0]);
case 6:
if(CopyBuffer(handle,6,shift,1,buf)>0)
return(buf[0]);
case 7:
if(CopyBuffer(handle,7,shift,1,buf)>0)
return(buf[0]);
case 8:
if(CopyBuffer(handle,8,shift,1,buf)>0)
return(buf[0]);
case 9:
if(CopyBuffer(handle,9,shift,1,buf)>0)
return(buf[0]);
case 10:
if(CopyBuffer(handle,10,shift,1,buf)>0)
return(buf[0]);
case 11:
if(CopyBuffer(handle,11,shift,1,buf)>0)
return(buf[0]);
break;
default:
break;
}
return(EMPTY_VALUE);
}
欢迎提出建议或意见。
如果您购买了此产品,请联系,发送站内私信或者评论。
谢谢!