MQL5备忘

快捷操作:

·Ctrl+Space------The
List Names dropdown

·Ctrl+Shift+Space------Show Parameter Info

整数类型:char、short、int、long

·数据范围char

·uchar、ushort、uint、ulong表示无符号整数,皆无负数

string类型必须加双引号(“ ”)

·若要在string中加入单引号、双引号,必须要在引号前加上反斜杠:(\)---(\”)(\’)

·若要在string中加入反斜杠,必须要用两个反斜杠:\\

·在sting中加入\n表示另起一行

datetime类型若要直接输入时间,需要以D开头、用单引号括起

数组要常用ArrayResize(
)函数,且只有建立动态数组才可以被重新建立大小:

·double A[
]   ; 
 ArrayResize(A,4);

·double B[
][4][3]  ; 
ArrayReseze(B,5);  //多维数组只有第一维才允许设置成动态

·ArrayResize(
)函数重设数组大小,原位置数据保留

函数:

·简洁转换参数类型:double
varA;  void TEST( (int) varA ) ; 
//varA自动转成int类型

·函数中的参数带有默认参数值必须放在最后

·允许重载函数:函数名称相同,但是内部结构不同。

·void test( int & a
) {…}  //变量前的&为引用声明符,表示a与引用的变量同时变化:

int &a=b; a与b同时变化,a=a/2运算也会导致b变化

定义变量前加input,变量会在The Input tab面板显示:

·enum
DayofWeek{Sunday,Monday,…,Saturday};

Input DayofWeek Day = Monday;

·用系统枚举定义更方便:

input ENUM_ORDER_TYPE_FILLING FillType =
ORDER_FILLING_FOK;

static(静态)变量不会被原始的static定义语句重新赋值:

·static int
A=1  ;  A++ 
;  //A只会被static语句定义一次得到1,之后为2、3、4…

除法运算要防止歧义

·double
A=10/3  ;  double
B=10.0/3.0  ; 
//A输出3.0,B输出3.333…

实数运算要常用到NormalizeDouble(double
value , int digits)

条件和循环操作:

·if--- ; if---else--- ;
if---else if---…---else ; while ; do-while ;

·条件运算符:(?  : )

·bool result =
condition语句
? true语句
: false语句
;
//condition判定,执行对应语句

·switch操作:

·switch…case…(default)必须要常数才行,且case/default里常用到break

·case若没有表达句,会强制执行下面的,无论条件:

x=1;swith(x){case
1:  case 2:  case 3: ……
;}  //会执行case3的表达句

·for(int a=1 ; a!=5 ;
a++) {…} //for语句中间判定为true就会执行循环

·for(int a=1,b=2 ;
a<=5 ; a++,b+=2) {…} //不是二维运算,是2个同时算

·break跳出最近的循环;continue结束当前循环,进入下一轮

class类型

·“ .
”表示成员运算符,常用于struct变量、class变量(注意是变量)的成员访问。

·“ ::

”表示域运算符,常用于class类型(注意是类型)的访问,如class类外定义class。

·可以定义构造函数:class A{
public:A (… );…;};// {}中的A与class的一样

·类的继承要用“:”,且要注明继承类型public/protected/private

·类中虚函数(virtual):基类的虚函数可被派生类的同名函数覆盖。若不加virtual,同样也会出现覆盖。

预处理指令:

·#define可直接定义简单函数形式:#define CIRC(Num) 100*Num

·#include
<*.mqh>
表示系统Include目录下*.mqh

·#include “*.mqh”

表示该programe所在目录中的*.mqh

发送OrderSend:

·MqltradeRequest
request={0};

MqltradeResult result={0};

OrderSend(request,result);

//默认赋值{0}

·MqltradeRequest
request;

MqltradeResult result;

ZeroMemory(request); //非常重要

OrderSend(request,result);

OrderSend反馈:

·result.retcode返回代码:TRADE_RETCODE_PLACED(10008) or
TRADE_RETCODE_DONE(10009)表示成功

·判定仓位时可以用到:

do Sleep(100);
while(PositionSelect(_Symbol)==false); //防止编译速度超过执行速度

时间序列、技术指标:

·MqlRates仅用于数组创建,ArraySetAsSeries用于设置序列,CopyRates用于复制数据:

MqlRates bar[]; ArraySetAsSeries(bar, true);
CopyRates(_Symbol, _Period, 0, 100, bar);

·CopyTime、CopyOpen…等也需要先创建对应的数组

·iMA(
)…等返回的是(int) indicator_handle(指标处理器),再通过CopyBuffer赋值到数组:

double ma[ ];
 ArraySetAsSeries(ma, true);

int maHandle = iMA(…);
 CopyBuffer (maHandle, 0, 0, 3, ma);

·iCustom返回默认目录下程序文件指标处理器,同样用CopyBuffer。

MQL5备忘(2016-8-28)的更多相关文章

  1. JVM内存知识备忘

    又是一篇备忘... 主要记录一些知识,进行一些资源的汇总. 先来群里liufor大大提供的两张图,清晰易懂: Dockerized Java https://www.youtube.com/watch ...

  2. Cheat (tldr, bropages) - Unix命令用法备忘单

    cheat 是一个Unix命令行小工具,用来查询一些常用命令的惯用法(我们都知道,man page阅读起来太累了,常常是跳到最后去看 examples,但并不是所有man pages里面都有examp ...

  3. Nmap备忘单:从探索到漏洞利用(Part 4)

    这是我们的Nmap备忘单的第四部分(Part 1. Part 2. Part 3).本文中我们将讨论更多东西关于扫描防火墙,IDS / IPS 逃逸,Web服务器渗透测试等.在此之前,我们应该了解一下 ...

  4. CSS系列:less备忘

    less备忘 //这是一个运行在koala中的less文件,//注释不会被编译到css文件中,/**/注释会 ****************by 李可 2016/04/19 /*所有,所有伪类*/ ...

  5. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  6. linux 指令备忘

    linux 指令备忘 1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件 -A 通-a,但不列出"."和"..& ...

  7. 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2

    接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...

  8. metasploit 常用命令备忘

    metasploit 常用命令备忘    MSFconsole Commands-------------------------------------24show exploits 查看所有exp ...

  9. CentOS6.4 X86_64 kvm+PXE备忘

    Install 安装 1 2 3 4 5 # yum install qemu-kvm qemu-img # 使用kvm至少要安装的包,一个提供用户级别kvm模拟器,一个提供磁盘镜像的管理 # 安装虚 ...

随机推荐

  1. 安装使用electron辛路历程

    安装使用electron辛路历程 成功安装electron以及成功使用第一个应用,整整花费了我一整天的时间,各种百度,各种尝试.最终,终于总结了一个亲测可行的终极可执行方案: electron 简单介 ...

  2. c语言程序设计案例教程(第2版)笔记(五)-软件开发基础知识

    零散知识点: 软件的主要特征 软件是一种逻辑产品,而不是有型的物质: 软件需要设计.开发,但不是传统意义上的产品制造: 软件不会磨损,但软件需要维护,即:修改代码或增加模块: 虽然软件行业正在向基于组 ...

  3. AC自动机 HDOJ 2222 Keywords Search

    题目链接 题意:每个文本串的出现次数 分析:入门题,注意重复的关键字算不同的关键字,还有之前加过的清零.   新模板,加上last跑快一倍 #include <bits/stdc++.h> ...

  4. ACM_回文素数

    回文素数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 131号是一个主回文,因为它是一个素数和一个回文(当向后读时,它是相同的 ...

  5. 解题报告:hdu 1407 测试你是否和LTC水平一样高

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1407 Problem Description 大家提到LTC都佩服的不行,不过,如果竞赛只有这一个题目 ...

  6. time模块,datetime模块

    time模块 time模块是包含各方面对时间操作的函数. 尽管这些常常有效但不是所有方法在任意平台中有效. 时间相关的操作,时间有三种表示方式: 时间戳               1970年1月1日 ...

  7. bootmanager is missing

    问题描述: 在计算机管理->存储->磁盘管理中,因误操作,将D盘设置了"将分区标记为活动分区(M)",导致重启时无法无法进入系统,提示"bootmanager ...

  8. 安装11g 数据库

    出现问题解决: 1.首先确认下载的安装包完整性.2解压包的时候,按顺序解压,解压第一个包后,解压第二个包的时候,要把解压地址与解压第二包的地址要一样. 安装的时候,需要把两个压缩包都解压,并将目录wi ...

  9. RabbitMQ五:生产者--队列--多消费者

    一.生成者-队列-多消费者(前言) 上篇文章,我们做了一个简单的Demo,一个生产者对应一个消费者,本篇文章就介绍 生产者-队列-多个消费者,下面简单示意图 P 生产者    C 消费者  中间队列 ...

  10. C# Equals的重写

    using System; using System.Collections.Generic; using System.Text; namespace Equal {     using Syste ...