• QQ空间
  • 回复
  • 收藏

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

gyshssl 技术面百科 2019-7-28 20:13 559280人围观



定义变量
定义基本类型
基本类型包括
·        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[50]; //一个一维由五十个int组成的数组
double m[7][50]; //一个两维由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[6] = {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

预处理程序[Preprocessor]定义常数
#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; disables  show_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



MT4编程课程.png


路过

雷人

握手

鲜花

鸡蛋
原作者: geek168

财经媒体撰稿人,自由投资者

上一篇

关注微信