获取账户相关信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
printf("ACCOUNT_BALANCE =  %G",AccountInfoDouble(ACCOUNT_BALANCE));
   printf("ACCOUNT_CREDIT =  %G",AccountInfoDouble(ACCOUNT_CREDIT));
   printf("ACCOUNT_PROFIT =  %G",AccountInfoDouble(ACCOUNT_PROFIT));
   printf("ACCOUNT_EQUITY =  %G",AccountInfoDouble(ACCOUNT_EQUITY));
   printf("ACCOUNT_MARGIN =  %G",AccountInfoDouble(ACCOUNT_MARGIN));
   printf("ACCOUNT_FREEMARGIN =  %G",AccountInfoDouble(ACCOUNT_FREEMARGIN));
   printf("ACCOUNT_MARGIN_LEVEL =  %G",AccountInfoDouble(ACCOUNT_MARGIN_LEVEL));
   printf("ACCOUNT_MARGIN_SO_CALL = %G",AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL));
   printf("ACCOUNT_MARGIN_SO_SO = %G",AccountInfoDouble(ACCOUNT_MARGIN_SO_SO));
 
 
printf("ACCOUNT_LOGIN =  %d",AccountInfoInteger(ACCOUNT_LOGIN));
   printf("ACCOUNT_LEVERAGE =  %d",AccountInfoInteger(ACCOUNT_LEVERAGE));
   bool thisAccountTradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_ALLOWED);
   bool EATradeAllowed=AccountInfoInteger(ACCOUNT_TRADE_EXPERT);
   ENUM_ACCOUNT_TRADE_MODE tradeMode=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
   ENUM_ACCOUNT_STOPOUT_MODE stopOutMode=(ENUM_ACCOUNT_STOPOUT_MODE)AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE);
 
 
 
   Print("The name of the broker = ",AccountInfoString(ACCOUNT_COMPANY));
   Print("Deposit currency = ",AccountInfoString(ACCOUNT_CURRENCY));
   Print("Client name = ",AccountInfoString(ACCOUNT_NAME));
   Print("The name of the trade server = ",AccountInfoString(ACCOUNT_SERVER));

Bar 向前 的值 可以通过 Copytime  什么的 进行 操作

获取  iMA的 值

1
2
3
double aaa[];
   int handle = iMA(Symbol(),PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE);
   CopyBuffer(handle,0,0,2,aaa);

开仓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   if(!PositionSelect(_Symbol))
   {
 
            MqlTradeRequest request={0};
         request.action=TRADE_ACTION_DEAL;         // 设置挂单
         request.magic=1000;                  // ORDER_MAGIC
         request.symbol=_Symbol;                      // 交易品种
         request.volume=0.1;                          // 0.1为单位的交易量
         request.sl=1.09;                                // 没有指定止损价位
         request.tp=1.1;                                // 没有指定盈利价位
      //--- 形成订单类型
         request.type=ORDER_TYPE_BUY;                // 订单类型
      //--- 形成挂单价格
         request.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);  // 开盘价
         Print(SYMBOL_ASK);
      //--- 发送交易请求
         MqlTradeResult result={0};
         OrderSend(request,result);
Print(__FUNCTION__,": ",result.comment," reply code ",result.retcode);
 
 
 
 
   }

修改止损止盈

1
2
3
4
5
6
7
8
9
10
11
12
   if(PositionSelect(_Symbol))
   {
            MqlTradeRequest request={0};
         request.action=TRADE_ACTION_SLTP;         // 设置挂单
         request.sl=1.08;                                // 没有指定止损价位
         request.tp=1.11;                                // 没有指定盈利价位
         request.symbol = _Symbol ;
         MqlTradeResult result={0};
         OrderSend(request,result);
Print(__FUNCTION__,": ",result.comment," reply code ",result.retcode);
 
   }

平仓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
   if(PositionSelect(_Symbol))
   {
            MqlTradeRequest request={0};
         request.action=TRADE_ACTION_DEAL;         // 设置挂单
         request.type =ORDER_TYPE_SELL;
         request.volume =PositionGetDouble(POSITION_VOLUME);
         request.price=SymbolInfoDouble(_Symbol,SYMBOL_BID);
 
         request.symbol = _Symbol ;
         MqlTradeResult result={0};
         OrderSend(request,result);
Print(__FUNCTION__,": ",result.comment," reply code ",result.retcode);
 
   }

挂单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   if(!PositionSelect(_Symbol))
   {
            MqlTradeRequest request={0};
         request.action=TRADE_ACTION_PENDING;         // 设置挂单
         request.type =ORDER_TYPE_BUY_LIMIT;
         request.volume =0.1;
         request.price=1.09;
         request.sl = 1.08;
         request.tp = 1.1;
         request.symbol = _Symbol ;
         MqlTradeResult result={0};
         OrderSend(request,result);
Print(__FUNCTION__,": ",result.comment," reply code ",result.retcode);
 
   }

修改挂单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   for(int i=0;i<OrdersTotal();i++)
   {
      long tic = OrderGetTicket(i);
      MqlTradeRequest request={0};
         request.action=TRADE_ACTION_MODIFY;         // 设置挂单
   request.order = tic ;
   request.price=1.091;
   //止损 必须加 ,如果不加  则给你全部归零
         request.sl = 1.081;
         request.tp = 1.11;
         MqlTradeResult result={0};
         OrderSend(request,result);
Print(__FUNCTION__,": ",result.comment," reply code ",result.retcode);
 
 
 
 
 
   }

移除挂单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   for(int i=0;i<OrdersTotal();i++)
   {
      long tic = OrderGetTicket(i);
      MqlTradeRequest request={0};
         request.action=TRADE_ACTION_REMOVE;         // 设置挂单
   request.order = tic ;
   request.price=1.091;
   //止损 必须加 ,如果不加  则给你全部归零
         request.sl = 1.081;
         request.tp = 1.11;
         MqlTradeResult result={0};
         OrderSend(request,result);
Print(__FUNCTION__,": ",result.comment," reply code ",result.retcode);
 
 
 
 
 
   }

 

MT5基础知识的更多相关文章

  1. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  2. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  3. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  4. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  5. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  6. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  7. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  8. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  9. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

随机推荐

  1. 把Excel工作簿的每个工作表提取出来保存为新工作簿

    平台:MS office 2010 任务:有个excel工作簿,其中有上百个工作表,要求把每一个工作表全部保存为新工作簿,如果一个一个复制出来太傻了,可以用excel自带的VB解决. 方法:打开工作簿 ...

  2. 重点+超详细:ajax和json及案例

    不用jQuery的ajax流程 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht ...

  3. NewtonJson中转义的斜杠\和多余的引号处理

    使用newtonjson序列化的json串正常的,但通过网络传输后,会再包装一层引号和对原有定义引号的转义,最后结果就变成这种数据: “\"{\\\"State\":fa ...

  4. 查看源码利器之sublime text 3 配置 Ctags 插件

    最近在看源码的时候发现sublime text 3是很给力的一款软件,小巧精致,这里着重讲解一下Ctags协助编译和跟踪函数 一.安装Package Control (如果Preferences &g ...

  5. win32api大全

    win32api大全 http://files.cnblogs.com/files/landv/Win32API%E5%A4%A7%E5%85%A8.zip

  6. display: inline-block兼容性写法

    display:inline-block;*display:inline;*zoom:1;

  7. 用block解决nstimer循环引用

    大多数开发者可能都会这样来实现定时器.创建定时器的时候,由于目标对象是self,所以要保留此实例.然而,因为定时器是用实例变量存放的,所以实例也保留了定时器,这就造成了循环引用.除非调用stop方法, ...

  8. Ubuntu彻底删除mysql

    删除 mysql sudo apt-get autoremove --purge mysql-server-5.0sudo apt-get remove mysql-serversudo apt-ge ...

  9. agnentX学习存在疑问?

    在RFC2741中这样定义: 4.3中有如下段落: A general architectural division of labor between master agent and  subage ...

  10. Matlab - 矩阵元素引用

    >> A = [ ; ; ] A = 1. 选择第m行n列的元素 >> A(,) ans = 2. 选择第i列所有元素 >> A(:,) ans = 3. 选择第j ...