dengfajun 发表于 2015-8-5 18:42:52

EA自定义时段

各位大侠:

我这边有一个EA源码。想加一个日内交易时间段,主要功能是:

1.控制在北京时间上午6点到11点交易。
2.到最后截至时间所有的单子无论赢亏都一起平仓。

我自己搞了一个,但是不能执行。。请指点一下具体代码,以及在源代码中的插入位置。

多谢了。。

xinyu8079 发表于 2015-8-5 20:01:34

帮楼主顶一下

撸啊撸 发表于 2015-8-6 10:06:54

帮楼主顶一下

dengfajun 发表于 2015-8-6 11:53:06

请老大指点。。

小yy 发表于 2015-8-6 13:24:24

00000000000000000000000000000000000000000000000000000000000000

zhang706 发表于 2015-8-12 04:16:46

这个个人觉得不错

陈小熊 发表于 2015-8-13 16:59:59

你的代码呢?

陈小熊 发表于 2015-8-13 17:00:42

6-11点只有5个小时啊,怎么赚钱?

陈小熊 发表于 2015-8-13 17:07:13

本帖最后由 陈小熊 于 2015-8-14 08:33 编辑

input int starttime = 6;
input int endtime = 11;
if(starttime <= Hour() && Hour() <= endtime)
{
//交易
}
if(endtime < Hour())
{
//平仓
   for(int i = 0; i < OrdersTotal(); i ++)
   {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
         switch(OrderType())
         {
            case OP_SELL:
                           {
                              while(!OrderClose(OrderTicket(), OrderLots(), Ask, 10, clrWhite))
                              {
                                 Sleep(1000);
                              }
                              break;
                           }
            case OP_BUY:
                           {
                              while(!OrderClose(OrderTicket(), OrderLots(), Bid, 10, clrWhite))
                              {
                                 Sleep(1000);
                              }
                              break;
                           }
         }
      }
   }
}

陈小熊 发表于 2015-8-13 17:10:32

本帖最后由 陈小熊 于 2015-8-14 08:33 编辑

input int starttime = 6;
input int endtime = 11;
//刚才这儿好像搞错了。
if(starttime <= Hour() && Hour() <= endtime)
{
//交易
}
if(Hour() > endtime)
{
//平仓
   for(int i = 0; i < OrdersTotal(); i ++)
   {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
         switch(OrderType())
         {
            case OP_SELL:
                           {
                              while(!OrderClose(OrderTicket(), OrderLots(), Ask, 10, clrWhite))
                              {
                                 Sleep(1000);
                              }
                              break;
                           }
            case OP_BUY:
                           {
                              while(!OrderClose(OrderTicket(), OrderLots(), Bid, 10, clrWhite))
                              {
                                 Sleep(1000);
                              }
                              break;
                           }
         }
      }
   }
}

刚才搞错了,总之大概要添的代码就这么点。代码只做参考。
页: [1] 2 3
查看完整版本: EA自定义时段