MT4软件EA编程简明教程

标签:
财经股票情感时尚娱乐 |

(网摘)
收集此贴目的,方便自己,方便大家。全部内容全部转载于bull、瞬间的光辉、白色流星。非本人原创。
第一篇
1、打开
2、选择文件-->新文件
3、选择第二项
4、输入名字,作者等等。(支持中文)暂时不添加参数。
5、下一步
6、点击完成。
ok新的指标文件生成了。但还没有任何有用的代码。初始化代码齐全。
//+------------------------------------------------------------------+
//|
//|
//+------------------------------------------------------------------+
#property copyright "ldj"
#property
link
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization
function
//+------------------------------------------------------------------+
int init()
//---- indicators
//----
//+------------------------------------------------------------------+
//| Custom indicator deinitialization
function
//+------------------------------------------------------------------+
int deinit()
//----
//----
//+------------------------------------------------------------------+
//| Custom indicator iteration
function
//+------------------------------------------------------------------+
int start()
//----
//----
//+------------------------------------------------------------------+
第一部分
//+------------------------------------------------------------------+
//|
//|
//+------------------------------------------------------------------+
第二部分
#property copyright "ldj"
#property
link
#property indicator_chart_window
#
property
例如:版权变量
其中窗口类型变量有indicator_chart_window(主窗口)indicator_separate_window(副窗口)两个这里只能用一个不能两个同时用
这部分内容一般不需要修改。
第三部分
//+------------------------------------------------------------------+
//| Custom indicator initialization
function
//+------------------------------------------------------------------+
int init()
//---- indicators
//----
去初注释函数体为
int init()
//+------------------------------------------------------------------+
//| Custom indicator deinitialization
function
//+------------------------------------------------------------------+
int deinit()
//----
//----
去除注释函数体为
int deinit()
//+------------------------------------------------------------------+
//| Custom indicator iteration
function
//+------------------------------------------------------------------+
int start()
//----
//----
华丽的分割线
===================================================================
#property indicator_buffers 3
#property indicator_separate_window
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_color3 Silver
double Buffer1[];
double Buffer2[];
double Buffer3[];
extern int Fast = 10;
extern int Slow = 22;
extern int Signal = 7;
int init()
int deinit()
{
return(0);
}
int start()
MACD1
我们要形成双线MACD和一个柱状指标。
因此我们在副图上要形成3个指标线。
主指标
信号指标
柱状指标
1、第一步确认指标显示的窗口
#property indicator_separate_window
//
2、预定义3个缓冲区来显示这三个指标线
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_color3 Silver
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_color3 Silver
这三条语句为这三个指标预定义了三种颜色。
3、定义这三个指标的数组变量。
double Buffer1[];
double Buffer2[];
double Buffer3[];
double定义一个浮点变量。因为是一组数所以要定义一个数组“[]”。
4、在init()函数中初始化这三个指标。
IndicatorBuffers(3);//
SetIndexStyle(0,DRAW_LINE,0,1);//定义指标的显示形式。DRAW_LINE标示画线指标。
看下这个内置函数的定义
SetIndexStyle( int index, int type, int style=EMPTY, int
width=EMPTY, color clr=CLR_NONE)
SetIndexBuffer(0,Buffer1);//为定义的指标变量数组标记索引号。就是使他们一一对应。
IndicatorShortName("MACD("+Fast+","+Slow+","+Signal+")");//设置指标显示的名称,内容是用+号连接的字符串。
SetIndexLabel(0,"MACD_MAIN");//设置指标的标记。就是当鼠标放在指标线上显示的第三行的名称。
IndicatorDigits(Digits+2);//定义指标的小数点位数数值是整数。这里Digits是MT4的预定义变量。其值为当前货币兑的小数位。
主函数体
int start()
1
2、if(counted_bars<0)
return(-1); //如果条件成立说明指标调用运行错误。则退出程序。
3、if(counted_bars>0)
counted_bars--;//从已经计算的指标中去除最后一条。
4、limit=Bars-counted_bars;//计算需要计算的指标数据的柱数。
5、for(int
i=0; i
6、Buffer1[
i ]=iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i);
//调用MACD指标函数为Buffer1数组负值。
7、Buffer3[
i ]=Buffer1[ i ] - Buffer2[ i ];//计算MACD两条线之间的距离。
8、这里用到了外部变量。也可以叫用户自定义变量。这种变量在加载图表的时候可以修改。
extern int Fast = 10;
extern int Slow = 22;
extern int Signal = 7;
extern