- 精华
- 0
- 在线时间
- 17 小时
- UID
- 162091
- 积分
- 15
- 帖子
- 12
- 阅读权限
- 10
- 注册时间
- 2013-7-12
- 最后登录
- 2019-9-7
- 精华
- 0
- UID
- 162091
- 积分
- 15
- 帖子
- 12
- 主题
- 3
- 阅读权限
- 10
- 注册时间
- 2013-7-12
- 最后登录
- 2019-9-7
|
superwin 发表于 2019-6-2 18:20
满足条件的时候输出报警,这样在消息中心就会有报警信息出现,消息中心设置好发送邮件,就会收到邮件 ...
//------------------------------------------------------------------------
// 简称: MACD_RS
// 名称: MACD多周期共振交易系统
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Numeric N_number(5);
Vars
NumericSeries MACDValue1;
NumericSeries MACDValue3;
NumericSeries MACDValue5;
NumericSeries MACDValue15;
NumericSeries MACDValue30;
Numeric AvgMACD1;
Numeric AvgMACD3;
Numeric AvgMACD5;
Numeric AvgMACD15;
Numeric AvgMACD30;
Numeric MACDDiff1;
Numeric MACDDiff3;
Numeric MACDDiff5;
Numeric MACDDiff15;
Numeric MACDDiff30;
Bool LongEntryCon;
Bool ShortEntryCon;
Bool LongExitCon;
Bool ShortExitCon;
Begin
MACDValue1 = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );
//AvgMACD1 = XAverage(MACDValue1,MACDLength);
//MACDDiff1 = MACDValue1 - AvgMACD1;
//MACDValue3 = MinsXAverage(3, Close, FastLength ) - MinsXAverage(3, Close, SlowLength );
//AvgMACD3 = MinsXAverage(3,MACDValue3,MACDLength);
//MACDDiff3 = MACDValue3 - AvgMACD3;
MACDValue5 = MinsXAverage(N_number, Close, FastLength ) - MinsXAverage(N_number, Close, SlowLength ); //5分钟图MACD值
//AvgMACD5 = MinsXAverage(5,MACDValue5,MACDLength);
//MACDDiff5 = MACDValue5 - AvgMACD5;
//MACDValue15 = MinsXAverage(15, Close, FastLength ) - MinsXAverage(15, Close, SlowLength );
// AvgMACD15 = MinsXAverage(15,MACDValue15,MACDLength);
//MACDDiff15 = MACDValue15 - AvgMACD15;
//MACDValue30 = MinsXAverage(30, Close, FastLength ) - MinsXAverage(30, Close, SlowLength );
//AvgMACD30 = MinsXAverage(30,MACDValue30,MACDLength);
// MACDDiff30 = MACDValue30 - AvgMACD30;
LongEntryCon = CrossOver(MACDValue1[1],0)&& MACDValue5[1]> 0 ;//&& MACDValue15[1] > 0 && MACDValue30[1] > 0; //开多条件
ShortEntryCon = CrossUnder(MACDValue1[1],0) && MACDValue5[1] < 0 ;//&& MACDValue15[1] < 0 && MACDValue30[1] < 0; //开空条件
LongExitCon = CrossUnder(MACDValue1[1],0)||MACDValue5[1] < 0; //平多条件
ShortExitCon = CrossOver(MACDValue1[1],0)||MACDValue5[1]> 0; //平空条件
//Commentary("MACDDiff1="+Text(MACDDiff1));
//Commentary("MACDDiff3="+Text(MACDDiff3));
// Commentary("MACDDiff5="+Text(MACDDiff5));
// Commentary("MACDDiff15="+Text(MACDDiff15));
//Commentary("MACDDiff30="+Text(MACDDiff30));
If(MarketPosition == 0) //MarketPosition为0,代表空仓。
{
If(LongEntryCon) //符合开多条件,开多
{
Buy(1,Open);
PlotString("开多","开多",high,Red);
Alert("当前K线时间:"+Text(Date)+" "+Text(Time)+" "+"5分钟图趋势向上,1分钟图出现战机,注意观察,如果第5根K线还是保持信号,则在第5根K线的收盘价附近入场。");
}Else if(ShortEntryCon) //符合开空条件,开空
{
SellShort(1,Open);
PlotString("开空","开空",Low,Green);
Alert("当前K线时间:"+Text(Date)+" "+Text(Time)+" "+"5分钟图趋势向下,1分钟图出现战机,注意观察,如果第5根K线还是保持信号,则在第5根K线的收盘价附近入场。");
}
}Else If(MarketPosition == 1 && LongExitCon)//MarketPosition为1,代表多仓。
{
Sell(1,Open);
PlotString("平多","平多",High,Red);
Alert("当前K线时间:"+Text(Date)+" "+Text(Time)+" "+"大小图都给出平多信号,坚决离场"+Text(MarketPosition));
}Else if(MarketPosition == -1 && ShortExitCon)//MarketPosition为-1,代表空仓。
{
BuyToCover(1,Open);
PlotString("平空","平空",low,Green);
Alert("当前K线时间:"+Text(Date)+" "+Text(Time)+" "+"大小图都给出平空信号,坚决离场"+Text(MarketPosition));
}
If(Time >= 0.1459) //Time为浮点型,0.1459就是代表14:59.在收盘前清空仓位。
{
//Sell(1,Open);
//BuyToCover(1,Open);
}
End
//------------------------------------------------------------------------
// 编译版本 GS2015.12.25
// 用户版本 2019/06/02 18:20:52
// 版权所有 xyqh11801506
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------ |
|