您的位置:315g外汇网 技术分析 正文
原作者:网络 添加时间:2008-04-03 原文发表:2008-04-03 人气:106

本文章共8554字,分6页,当前第1页,快速翻页:
 



MetaTrader编程入门教程(0)
  ----指标文件构成


例1

// --------------------------------------------------
//双些线后是单行注释,用于注解,自用说明。/*和*/包起来实现多行注释,记录自己的说明介绍,编程使用记录等
//MQL4语言基本服从C语言的规则-----------注重目前MetaEditor处理不好多字节代码,所以不要在代码中使用中文和中文空格-------------
//每个指标文件只是至少包括三个部分(1)property 和参数,数组声明,(2)初始化函数nit(), (3)主函数start()
//property 是各种说明信息
//最重要必须的是这三种,(1)说明指标将画在价格窗口还是独立的窗口
//(2)有多少个(1~7)储存指标数据的数组,(3)说明对应将画指标的绘画颜色,编号1~7
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- 可设置的参数,可根据需要,由使用者设置
extern int MA_Period=13;
extern int MA_Shift=0;
extern int MA_Method=2;
extern int MA_Price = 6;
/* MA_Method =
MODE_SMA 0 Simple moving average,
MODE_EMA 1 Exponential moving average,
MODE_SMMA 2 Smoothed moving average,
MODE_LWMA 3 Linear weighted moving average.
*/
/* MA_Price =
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high low)/2.
PRICE_TYPICAL 5 Typical price, (high low close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high low close close)/4.
*/
//数组,储存指标数据
double Buffer0[];

//| 初始化预备函数,装入时调用一次
int init()
{
//-设置编号为0的线的线形等参数, 0~6,对应indicator_color1~7
SetIndexStyle(0,DRAW_LINE);
//---- 设置编号为0的线 与数组的对应关系, 0~6
SetIndexBuffer(0,Buffer0);
return(0);
}

int start() //指标计算主函数,每次计算调用
{
ma();
return(0);
}



//自定义函数,这里只是直接使用库函数实现MA, 若你自己计算,可设计任何指标
void ma()
{
int pos=Bars;
//Bars = Number of bars in the current chart.当前窗口中的蜡烛数
while(pos>=0)
{
Buffer0[pos]=iMA(NULL,0,MA_Period,MA_Shift,MA_Method,MA_Price,pos);
pos--;
}
}
// --------------------------------------------------
例2
// --------------------------------------------------

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Red
#property indicator_color2 Yellow
#property indicator_color3 Blue
#property indicator_color4 Green
#property indicator_color5 Gray
#property indicator_color6 SkyBlue
#property indicator_color7 Tan

extern int MA_Period=13;
extern int MA_Shift=0;
extern int MA_Method=2;
extern int MA_Price = 6;


double Buffer0[];
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
//----

int init()
{
//-设置编号为0的线的线形等参数, 0~6,对应indicator_color1~7
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(3,DRAW_LINE);
SetIndexStyle(4,DRAW_LINE);
SetIndexStyle(5,DRAW_LINE);
SetIndexStyle(6,DRAW_LINE);
//---- 设置编号为0的线 与数组的对应关系, 0~6
SetIndexBuffer(0,Buffer0);
SetIndexBuffer(1,Buffer1);
SetIndexBuffer(2,Buffer2);
SetIndexBuffer(3,Buffer3);
SetIndexBuffer(4,Buffer4);
SetIndexBuffer(5,Buffer5);
SetIndexBuffer(6,Buffer6);
return(0);
}


//
int start() //指标计算主函数,每次计算调用
 
本页地址

相关文章

顺势操作的两难
木羊:如何看趋势
中国24节气在外汇中的应用
判断顶与底
三次到顶与三次到底
最简单有效的外汇投资方法
入场时机要耐心等待
如何利用技术指标赢利
外汇追市交易
外汇入门-建仓篇
“她”来自实践:一个简单的交易方法!
POURIA交易法
韦达ADX交易法则
外汇图表的行为特性
谈技术指标的背离
许强短线操作理念123
鹤眼看均线
ichimoku云图交易系统
小额滚动操作法巧解套
论技术分析

相关评论


本文章所属分类:首页 技术分析