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

 找回密码
 注册

QQ登录

只需一步,快速开始

手机短信登录

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

16课疑问

[复制链接]
发表于 2018-3-4 15:16:00 | 显示全部楼层 |阅读模式
16课类里面介绍了如何平多空单,里面有个判断语句if(PositionGetTicket(i)>0),这个是什么意思,为什么要做这个判断?
回复

使用道具 举报

 楼主| 发表于 2018-3-4 19:30:12 | 显示全部楼层
我看了一下PositionGetTicket(i)返回的应该是是第个订单的Ticket值,就是MT5里面的成交号,我现不明白的是为什么要在平多空单的时候有这么一个判断语句   if(PositionGetTicket(i)>0),是不是成交号大于零就证明这个订单存在呢?
回复 支持 反对

使用道具 举报

发表于 2018-3-5 09:57:39 | 显示全部楼层
if(PositionGetTicket(i)>0),是不是成交号大于零就证明这个订单存在呢?
这个函数 单独使用容易出错,通常是在循环遍历所有单的时候,使用,遍历的时候判断是否选择了这张单,如果选中 才可以进一步操作
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-7 09:50:08 | 显示全部楼层
老师,我问什么不能发帖了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-7 09:55:37 | 显示全部楼层
不能发新帖我就这里问老师了。
以下的代码为什么不能出现一根新K线就判断一次是否满足MDCD的条件就开单呢,我测试的时候老是从测试开始的第一根K线就下了一单多单,但是那根K线不满足MacdBuffer[0]>MacdBuffer[1]这个条件啊。后面到测试结束就再也不开单了。里面用到了老师的类。

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <zhinengjiaoyi.com/jiaoyi.mqh>
#include <zhinengjiaoyi.com/shuju.mqh>
jiaoyi jy;
shuju sj;
input int magic=19901016;
datetime buytime=0;
datetime selltime=0;
MqlRates rate[];
int OnInit()
  {
    sj.getrates(rate,40);
    return(INIT_SUCCEEDED);
    }
void OnDeinit(const int reason)
  {
     
  }
void OnTick()
  {
      double MacdBuffer[];
      double Macd_h;
      ArraySetAsSeries(MacdBuffer,true);  
      Macd_h=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE);  
      CopyBuffer(Macd_h,0,0,30,MacdBuffer);
      if(buytime!=rate[0].time && MacdBuffer[0]>MacdBuffer[1])
          {
            jy.buy(Symbol(),0.01,0,0,"多单",magic);
            jy.closeallsell(Symbol(),magic);
            buytime=rate[0].time;
          }        
   }
回复 支持 反对

使用道具 举报

发表于 2018-4-20 11:04:34 | 显示全部楼层
mt5里 怎么获取平仓时间?能否实现平仓后,间隔一根K线(即使符合条件也不开仓),如符合条件再开仓?
回复 支持 反对

使用道具 举报

发表于 2018-4-23 10:12:24 | 显示全部楼层
都T5了,我这T4还没弄好呢
回复 支持 反对

使用道具 举报

发表于 2018-4-28 07:31:32 | 显示全部楼层
  Macd_h=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE);    这一句代码中的 Symbol()是不是代表 可以检测所有的货币对呢?、
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-11-19 00:02 , Processed in 0.079813 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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