智能交易网,程序化交易,自动交易,量化交易

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

参加MT4智能交易编程培训,7课免费在线试听MT4指标,EA代写,或EA指标加密账户远程验证服务 最完善商业MT4跟单系统(0.1秒极速响应不漏单)
为论坛做贡献有奖学金,奖学金可直接换真钱 扫本站微信公 众号部分视频课程指标EA免费得智能交易网MT4操盘神器,扫公众号免费得
查看: 1425|回复: 0

请教光辉老师、各位师兄一个问题

[复制链接]
发表于 2015-9-4 10:58:50 | 显示全部楼层 |阅读模式
本帖最后由 利得 于 2015-9-4 11:00 编辑

我想达到的效果是:当前价格大于过去20根K线的最高价开仓多单,小于过去10根K线价格的最低价平仓多单,同时开仓空单。下面是我写的代码,代码没有问题,可是测试的时候会出现不开仓的情况。请老师、师兄们指点
void OnTick()
  {
     int highbar=iHighest(NULL,0,MODE_HIGH,20,0);
     int lowbar=iLowest(NULL,0,MODE_LOW,10,0);
     double lowp=Low[lowbar];
     double highp=High[highbar];
     double cl=iClose(NULL,PERIOD_M5,0);
     double op=iOpen(NULL,PERIOD_M5,0);
     double buyop,buylots;
     double sellop,selllots;
     int buydanshu=buydanshu(buyop,buylots);
     int selldanshu=selldanshu(sellop,selllots);
     
     if(buydanshu==0&&selldanshu==0)
      {
         if(Bid>highp)//卖价大于最近20根K线的最高价开仓,能达到这个目的?
         
          {
             if(buytime!=Time[0])
            {
              if(buy(0.02,0,0,Symbol()+"buy",magic)>0)
               {
                 buytime=Time[0];
               }
            }
          }
        }
     if((Ask<lowp)&&(buydanshu>0))//买价小于过去10根K线的最低价
      {
       closebuy();
      }   
}
测试会出现的错误:TestGenerator: unmatched data error (high value 1.09519 at 2015.07.23 10:20 is not reached from the least timeframe, high price 1.09501 mismatches)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|sitemap| 智能交易网,程序化交易,自动交易,量化交易 ( 苏ICP备08108698号,苏州智德金网络科技股份有限公司版权所有 )

GMT+8, 2020-4-1 03:49 , Processed in 0.072093 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表