站内搜索
|
|
推荐文章
- ·云图技术分析法 (137)
- ·我学习分析家公式的经 (258)
- ·如何判断MACD背离 (1368)
- ·分析家公式编辑教程( (1480)
- ·通达信指标编写入门 (510)
- ·判断转势的利器---123 (599)
- ·沃尔夫浪-预测台股加 (134)
- ·波段式交易技术:杯与 (609)
- ·如何看待趋势 (725)
- ·5日振荡指标 (372)
- ·跟庄建仓公式 (2670)
- ·飞狐公式F10资料查找 (377)
- ·逢高卖出股票的五条绝 (1309)
- ·如何判断一只股票有无 (2659)
- ·一步一步系统性的确认 (2068)
热点文档
-
大智慧指标系统简介
(9133)
-
利用软件快速练成短线
(9130)
-
涨停技术
(8538)
-
MACD教程
(6391)
-
主力操盘手教程
(5831)
-
把所有的方法理念浓缩
(5196)
-
操盘源码解析
(4205)
-
高成功率技术指标及选
(4163)
-
经典破位股票图形讲解
(4089)
-
我用经典指标--- RSI
(3984)
-
如何活用EXPMA指标
(3915)
-
盘口语言的逻辑解读
(3855)
-
一项股票技术指标的开
(3719)
-
操盘一分钟
(3264)
-
职业操盘实战课程
(3190)
MetaTrader编程入门教程
- 作者: 来源: 日期:2007-06-01 点击:0
//平仓持有的买单
void CloseBuy()
{
if (OrdersTotal( ) > 0 )
{
for(i=OrdersTotal()-1;i<0;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
Sleep(5000);
}
}
}
}
//平仓持有的卖单
void CloseSell()
{
if (OrdersTotal( ) > 0 )
{
for(i=OrdersTotal()-1;i<0;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
Sleep(5000);
}
}
}
}
//判断是否买或卖或平仓
int buyorsell() //在这个函数计算设置你的交易信号
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious && MaCurrent>MaPrevious)
return (1); // 买 Ma在上升,Macd在0线上,并且两线上交叉
if(MacdCurrent>0 && MacdCurrentSignalPrevious
&& MaCurrent return (-1); // 卖
return (0); //不交易
}
int nowbuyorsell = 0;
void CheckForOpen()
{
if (Time[0] == lasttime ) return; //每时间周期检查一次
lasttime = Time[0];
nowbuyorsell = buyorsell(); //获取买卖信号
if (nowbuyorsell == 1) //买 先结束已卖的
CloseSell();
if (nowbuyorsell == -1) //卖 先结束已买的
CloseBuy();
if (TimeDayOfWeek(CurTime()) == 1)
{
if (TimeHour(CurTime()) < 3 ) return; //周一早8点前不做
}
if (TimeDayOfWeek(CurTime()) == 5)
{
if (TimeHour(CurTime()) > 19 ) return; //周五晚11点后不做
}