geek168 发表于 2019-7-25 22:57:34

【MT4学习】MQL4语言基础语法06--变量



定义变量
定义基本类型
基本类型包括
·      string - 字符串型; ·      int - 整数型; ·      double - 双精度浮点数型; ·      bool - 布尔型 示例:
stringMessageBox;
int Orders;
double SymbolPrice;
bool bLog;

定义附加类型
附加类型包括 ·      datetime - 时间型,使用无符号整型数字存储,是1970.1.1 0:0:0开始的秒数 ·      color - 颜色,使用三色的整型数字编码而成 示例:
externdatetime tBegin_Data = D'2004.01.01 00:00';
extern color cModify_Color = C'0x44,0xB9,0xE6';

定义数组类型
示例:inta; //一个一维由五十个int组成的数组
double m; //一个两维由7x50个double组成的数组
内部变量定义
内部变量顾名思义是在内部使用的,可以理解为在当前嵌套内所使用的变量。

函数参数定义
示例:
voidfunc(int x, double y, bool z)
{
...
}
函数的参数内的变量只能在函数内才生效,在函数外无法使用,而且在函数内对变量进行的修改在函数外无法生效。
调用函数示例:func(123,0.5);
如果有需要在变量传入由参数传入函数内操作后保留修改在函数外生效的情况的话,可以在参数定义的类型名称后加上修饰符(&)。
示例:voidfunc(int& x, double& y, double& z[])
{
...
}

静态变量定义
在数据类型前加上static就可以将变量定义成静态变量
示例:
{
static int flag
}

全局变量定义
全局变量是指在整个程序中都能够调用的变量,只需将变量定义卸载所有嵌套之外即可。
示例:
intGlobal_flag;
int start()
{
...
}

附加变量定义
附加变量可以允许由用户自己输入。
示例:
externdouble InputParameter1 = 1.0;
int init()
{
...
}

初始化变量
变量必须经过初始化才可以使用。

基本类型
示例:
int mt =1; // integer 初始化
// double 初始化
double p = MarketInfo(Symbol(),MODE_POINT);
// string 初始化
string s = "hello";

数组类型
示例:intmta = {1,4,9,16,25,36};

外部函数引用
示例:
#import"user32.dll"
int MessageBoxA(int hWnd ,string szText,
string szCaption,int nType);
int SendMessageA(int hWnd,int Msg,int wParam,int lParam);
#import "lib.ex4"
double round(double value);
#import
预处理程序定义常数
#define identifier_value
常数可以是任何类型的,常数在程序中不可更改。
示例:
#defineABC 100
#define PI 0.314
#define COMPANY_NAME "MetaQuotes Software Corp."

编译参数定义
#property identifier_value
示例:#propertylink "http://www.metaquotes.net"
#property copyright "MetaQuotes Software Corp."
#property stacksize 1024
以下是所有的参数名称:
参数名称类型说明
link string 设置一个链接到公司网站
copyright string 公司名称
stacksize int 堆栈大小
indicator_chart_window void 显示在走势图窗口
indicator_separate_window void 显示在新区块
indicator_buffers int 显示缓存最高8
indicator_minimum int 图形区间最低点
indicator_maximum int 图形区间最高点
indicator_colorN color 第N根线的颜色,最高8根线
indicator_levelN double predefined level N for separate window custom indicator
show_confirm void 当程序执行之前是否经过确认
show_inputs void before script run its property sheet appears; disablesshow_confirm property

嵌入文件
#include <file_name>
示例:
#include<win32.h>
#include "file_name"
示例:#include"mylib.h"

引入函数或其他模块
#import "file_name"
func1();
func2();
#import
示例:#import"user32.dll"
int MessageBoxA(int hWnd,string lpText,string lpCaption,
int uType);
int MessageBoxExA(int hWnd,string lpText,string lpCaption,
int uType,int wLanguageId);
#import "melib.ex4"
#import "gdi32.dll"
int GetDC(int hWnd);
int ReleaseDC(int hWnd,int hDC);
#import



gyshssl 发表于 2019-7-26 07:13:12

学习中,MQL4语言其实和其他语言大同小异:):)

gyshssl 发表于 2019-7-26 07:13:55

学了几天感觉还是不错的

geek168 发表于 2019-7-27 12:31:00

这个需要多练习
页: [1]
查看完整版本: 【MT4学习】MQL4语言基础语法06--变量