MT4精讲:MT4编程入门全集11_第1页
MT4精讲:MT4编程入门全集11_第2页
MT4精讲:MT4编程入门全集11_第3页
MT4精讲:MT4编程入门全集11_第4页
MT4精讲:MT4编程入门全集11_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MT物程入T 1: MT#定义指标的基本操作MT4自定义指标的保存目录、指标编缉器与指标调用一、MT4自定义指标保存在C:Program FilesMetaTrader4expertsindicators这个 目 录中,文件 编辑堡)查看史)收址)工具注)帮助如该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可 以人工编写修改,机器不能直接执行,但能在MT4启动时自动编译为ex4可执 行文件。另一种就是ex4文件,这是MT4自定义指标的可执行文件,由mq4文件编译得 到。mq4文件必须编译为ex4文件才能被MT敝行 但ex4文件是机器码文件,

2、人工不可修改 另外还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题mq4文件编译为ex4可执行文件有两种方法:1、MT4启动时,会自动把此目录中的mq4文件编译为ex4文件。2、 用MQ言编辑器打开mq4文件,点一下“编写”按钮,即可生成ex4文件iitdicat ors。后退保希目录,/搜索文件夹区,可执行文件kc cwnulatioii. ex4I0: Program FilesVMetaTrader 4 exp er 13 i ndi c at or s文件和文件夹文件和文件夹 创建一个新:0将这个文件:fcj共享此爻

3、件:其它位置I rI expertso我的文档o共享文档j我的电脑J河上邻居Awesome. ex4不可ATR mq4二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存 到C:ProgramFilesMetaTrader 4expertsindicators这个目录,也就是下 面这个目录中,就可以了。如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4让系统自动编译生成ex4可执行文件。如果下载 的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。另存为r?ipx三、将源码保存为源码文件在论坛上,

4、我们也经常能看到指标源码贴在网页上,但没有mq4 ex4等文件可以下载,只能复制源码。此时需要我们自己动手将源码保存为源码文件,那也 没关系,非常地简单,多点几下鼠标就搞定。1、打开MQ言编辑器保存在:kccel&rAlli gat : ATR! Awesomt pBands, m文件名如:q4li_/ indi calory曰我的文档q4 *L |n|x/ +- - - - -F A/I日立交叉报誓.煦4 | -/|Copyright ?2007, NetaQuotes Sortuare Corp. | / |http : / /tjww.imetaquotes . net |/+-

5、+hSproperty copyi:ightTrCoyyright ?2007fMetaQuote property link,fhttp: /WKWitietaquotes. net,r/ +- - -*-*-/| expert initialisation function /+-int init()/ /件中的内容全或做、4、接着我们就可以将网页上源码复制粘贴进来试着点一下“编写”,如果左下角出现“0错误,0警告”,那说明源码没问题, 编译通过了,成功生成了ex4可执行文件添加作者一字行智能智能交易的交易的常规属性常规属性请羿定智能交易的常规犀性Ittp :/WKW.占qii心七电参数皿

6、踪山)|5、还有很重要的一点,就是要把源码文件保存到正确的目录中A 本地碇瘩(F J0 SD / FWC竦)11 nvm.vniAr、保存后,再点一下编写 到此,源码保存完成。当然,我们也还有另的办法: 可以打开一个原已存在的mq4文件,然后另存为你需要的文件名,再删除文件 中的所有内容成为空文件,把网页上的源贴到文件中保存即可也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后缀必须输入mq4保存类型选择“所以 文件” 四、mt4程序调用自定义指标 这非常简单另存为保存在(X):_J indical oreAccelerlto jAccumu

7、LKi 1. Alligitl-.金AIR. m4V J Awes Qm. mq iBanis. mi4画桌面荔的文档块我的电脑本地成盘CJ l._1 freeram F iles121 MetaTrader 4目S 电rM除曜D- nq4思inq4.! Movirit&r agfes.imdi catorz保存目录不要搞错文件名理):鼻Mflmory Stick CE:)果存类型(T):MT物程入T 2:指标源码中的常用符号说明一、 注释符:单行注释“ / ”、多行注释程序不执行注释,注释内容仅供阅读或保留不用的语句在MC言编辑器中,注释内容以灰色显示二、 分号“;”表示一个语句结束

8、三、 逗号表示一个语句内部间隔,不结束语句。四、 等丁号“=”赋值语句,把等号后面的值赋给等号前的变量中五、 加号“ +”整数或小数,则表示值相加;字符申,则表示前后连接。六、 加加“ +”表示把符号前的变量值加1,例如:“i+; ”这实际上就是:“ i=i+1;”的简 写,表小i的值加1七、加等于“+=”表小把符号后的值加到符号前的变量中。例如“ i+=2;,实际上就是i=i+2; ”的简写,表示i的值加2八、双等号“=”等于号。用于逻辑判断,双等号前后值相等,贝U返回逻辑值“真true ”;双等 号前后值不相等,则返回逻辑值“假false ”九、 叹号等号!= ”不等于号。用于逻辑判断,不

9、等号前后值不相等,则返回逻辑值“真true ”; 不等号前后值相等,则返回逻辑值“假false ”十、“&逻辑符“并且”十一、“ II ”逻辑符“或者”十二、大括号“ ”表小函数体。内部为函数体语句。MT斯程入T 3:自定义变量MT物程入T 3:自定义变量一、自定义变量在使用前,必须先创建(定义),设定变量的类型和名称。创建时可同时赋值,也可以不赋值。名称可以使用中文字符。例:int mark;创建一个整型变量,变量名为“mark”。bool是否报警=true ;创建一个逻辑型变量,变量名为“是否报警”,同时,赋初值“true ”二、类型和类型定义词自定义变量的基本类型有:1、 整形(

10、int):就是整数,包括负整数2、 双精度小数(double):可以简单地理解为带小数位的数3、 字符申型(string)。4、 逻辑型(bool):其值分别为“true false”,即“真、假”,也可以写成10” (1真,0假)。类型定义词仅在创建变量时使用,后面使用变量时,就不能再加类型定义词了三、附加变量附加变量就是在程序投入使用后,变量值允许用户自由更改的变量,一般用作程 序参数。一般指标,例如MACD(12,26,9)参数输入就是通过附加变量实现,(12,26,9)分 别为三个附加变量的默认值。定义附加变量只需在变量定义语句前加“extern ”例:extern int周期=9;创

11、建一个整型附加变量,变量名为“周期”,默认值为9,允许用户在程序外部修改参数值MT4编程入T 4:自定义函数自定义函数与数学函数在本质上是一致的例如:数学函数ft(x,y)=3x+2y (x,y为正整数)写成程序语句就是:int ft(int x,int y)int temp;temp=3*x+2*y;return(temp);一、 和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。函数类型、名称、参数位于函数头部(参数问以逗号分隔),大括号中的是运算语句,也就是函数体部分。return语句为函数结束语句,return后面括号中的值为函数返回值,即函数运

12、算结果。上例中,int为函数类型,表示该函数的返回值(运算结果)是整数;(x,y)为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词intft为函数名,有了函数名,我们就可以在别处用ft(2,1)的形式来调用此函数;函数体部分有三句:第一句,定义一个整形变量temp第二句,计算temp的值第三句,函数结束,返回调用点,以temp的值作为本函数返回值。此函数也可以简写为:int ft(int x,int y) return(3*x+2*y);二、 函数类型与类型符函数类型就是函数返回值(运算结果)的类型,与自定义变量类型差不多有整型(int)、双精度型(double)、字符申型(s

13、tring)、逻辑型(bool)等,还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的, 则函数类型可以写成void(无值型)三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行 结束时,自定义变量也就自动注销。上例中,有x、y、temp三个自定义变量,在函数运行时创建,在函数运行结束 时自动消失,仅在函数内部有效,与函数外部无关。四、函数的调用函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用如我们前面创建了ft(x,y)函数,则别处我们可以用ft(4,5)等样式来调用ft(x,y)函数求值。调用时,传递参数值给ft(x,y)函数(按顺序

14、把4传给x,把5传给y),返回结 果23后继续执行主程序。MT物程入T 5:自定义数组一、数组是一系列同类型变量的集合,可以同时存储多个数值。例:int aa4=4,3,2,1;这是一个数据名为aa、包含了4个元素的整数型数组(即数组长度为4),可以同 时存储4个数值。二、 自定义数组也必须“先建立,后使用”创建(定义)时,必须设定类型和名称。创建(定义)时,数组的元素个数也可以设定,也可以不设定数组中第一个元素的编号为0,第二个为1,以此类推。编号使用方括号括起来在这上例中aa0的值为4、aa1的值为3、aa2的值为2、aa3的值为1创建(定义)数组的同时,可以赋初值,也可以不赋初值。例:i

15、nt bb;创建数组bb,不设定数组元素个数int cc8;创建数组cc,设定数组元素为8个,不赋初值int dd3=9,8,7;创建数组dd,设定数组元素为4个,并赋初值赋值后,dd0的值为9、dd1的值为8、dd2的值为7int ee9=0,1,2,3;创建数组ee,设定数组元素为9个,但只给前4个元素赋初值三、 数组使用时的赋值数组的赋值必须指定明确的赋值对象,除了新建数组时可以批量赋值外,数组元素必须一个一个赋值例如:dd2=1 ;这是对数组dd的第3个元素dd2 (0是第1个,2表示第3个)重新赋值为1在这里,没有整数型变量定义符int ,这样,数组dd原有三个值9,8,7就变为9,

16、8,1四、数组的引用数组只是一系列变量的集合,所以每次只能使用数组中的一个元素。数组的引用必须指定明确的引用对象,一次只能引用一个。如果需要使用整列数组,则必须逐个使用。例如:数组aa4的值为4,3,2,1我们用aa来引用数组aa中的值当i=0时,aai 的值为4当i=1时,aai 的值为3当i=2时,aai 的值为2当i=3时,aai 的值为1这样,我们在处理数列的时候,使用数组就能带来极大的方便MT物程入T 6:市场数据取值一、预定义数组(MT4已经定义好的,可以直接使用)开盘价、最高价、最低价、收盘价、成交量等历史数据,每根K线蜡烛都各有一个,所以必须用数组来解决问题,MTM几个预定义数

17、组:开盘价Open、 最高价High、 最低价Low、 收盘价close、 成交量Volume、所届时间Time类型为双精度double型(即精确小数) 这里有一个位置的问题,右边第一根K线蜡烛(即最新的蜡烛)的编号为0,第 根蜡烛编号1,第三根蜡烛编号2,也就是说从右向左倒着数过去。Open0、High0、Low0、Close0,表示最新的开盘价、最高价、最低价、收盘价Open1、High1、Low1、close1,表示第2根K线蜡烛的开盘价、最高价、最低价、收盘价Open2、High2、Low2、close2,表示第3根K线蜡烛的开盘价、最高价、最低价、收盘价Open3、High3、Low

18、3、close3,表示第4根K线蜡烛的开盘价、最高价、最低价、收盘价Open High、Low close,表示第i+1根K线蜡烛的开盘价、最高价、最低价、收盘价以此类推。注意:这些是数组,用的是方括号 二、预定义变量买入价、卖出价是实时价格,MT4用预定义变量Ask和Bid表示,数值类型为double双精度还有一些预定义变量,如:Bars表示图表中的蜡烛数,类型为int整数型Digits表示当前货币对的小数位,类型为int整数型,无日元币对为4,有日 元币对为2,黄金石油等一般也为2Point表示当前货币对的点值, 类型为双精度double型, 无日元币对为0.0001,有日元币对为0.01

19、。与Digits正好相反。三、指标函数1、价格、成交量、时间它们都有三个参数:货币对名、K线周期、位置序号开盘价:iOpen(symbol,timeframe,shift)收盘价:iClose(symbol,timeframe,shift)最高价:iHigh(symbol,timeframe,shift)最低价:iLow(symbol,timeframe,shift)成交量:iVolume(symbol,timeframe,shift)所届时间:iTime(symbol,timeframe,shift)K线周期为:1分钟图(PERIOD_M1) 5分钟图(PERIOD_M5) 15分钟图(PE

20、RIOD_M15) 30分钟图(PERIOD_M30)1小时图(PERIOD_H1) 4小时图(PERIOD_H4)日线图(PERIOD_D1)周线图(PERIOD_W1、)周丞图(PERIOD_W1)月线两(PERIOD_W1)例:iOpen(USDJPY,PERIOD_H1,0)价iClose(EURUSD,PERIOD_H4,2)盘价iClose(GBPUSD,PERIOD_H1,i)收盘价iHigh(NULL,0,0)是谁,用在哪就是哪2、移动平均值。双精度double型iMA(symbol, timeframe, period, ma_shift, ma_method, applie

21、d_price, shift)参数共7个,分别为:商品名称、K药周期、均丞周期、均线偏移【平均模式、 价格种类、位置均线周期:10天平均线的均线周期为10, 20天均线的均线周期为20均线偏移:均线位置整体左右移动的位置偏移量平均模式:简单移动平均(MODE_SMA浙数移动平均(MODE_EMA)平滑移动平均 线(MODE_SMMA践性加权移动平均线(MODE_LWMA)价格种类:收盘价(PRICE_CLOSE)开盘价(PRICE_OPEN)最高价(PRICE_HIGH)最低价(PRICE_LOW)中值(PRICE_MEDIAN) 5(PRICE_TYPICAL) 6(PRICE_WEIGHT

22、ED)双精度double型双精度double型双精度double型双精度double型双精度double型日期时间datetime型表示美元兑日元1小时图最新K线蜡烛的开盘 表示欧元兑美元4小时图第3根K线蜡烛的收 表小英磅兑美兀1小时图第i+1根K线蜡烛的 既不指定商品,也不指定K线周期,用在谁就例1: iMA(EURUSD,PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,0)表示:欧元1小时图上,以收而介计算的,20小时简单移动平均线,最新K线 所对应位置的值例2: iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,2)表示:在当前商品、当前

23、K线周期图表上,以收盘价计算的,20(天)指数移动平均线 第3根K线所对应位置的值其他如MAC昉标、威廉指标、RSI、SAR布林线等指标取值都与移动平均线指 标相类似3、在数组中求元素的移动平均值。双精度double型iMAOnArray(数组名,总数,平均周期,均线偏移,平均模式,位置)这也与iMA函数差不多,不过数据源变为数组从数组中不但可以求得移动平均值,还可以求得RSI等指标值4、求自定义指标的值我们经常自己编一些自定义指标,可用iCustom函数来取得自定义函数的值iCustom(商品名,K线周期,自定义指标名称,自定义指标参数1,参数2,参数3,自定义指标线编号,位置)如果自定义指

24、标只有一根指标线,则自定义指标线的编号为00如果自定义指标有多根指标线,则第一条自定义指标线的编号为0,第二条为1,第三条为2。例如:iCustom(NULL,0,mymacd,12,26,9,2,0) (12,26,9)为自定义指标mymacd勺三个参数表示:求当前图表中,自定义指标mymacd(12,26,9)的第3条指标线在最新位置 的值抛砖引玉,这里只是有代表性地列了几个函数,详细请查阅MT4程手册MT物程入T 7:判断语句一、if语句if语句很常用,也比较简单。规则:如果小括号中的条件成立,则执行大括号中的语句;如果不成立,则跳过 大括号。例如:if(a=1)(b=c+1;我们在编写

25、报警指标的时候,就经常用到这一语句:如果“价格向上达到指定价位”,则“报警”如果“MACDt穿”,贝U“报警”如果“均线金义”,则“报警”。等等例:int mark=0;if( High1=1.0000 & mark!=1)(Alert(symbol(),价格向上触及1.0000);mark=1;if( Low11.0000 & Low0=1.0000 & mark!=2)(Alert(symbol(),价格向下触及1.0000);mark=2;这是一个价格上、下穿1.0000时报警的判断语句:上穿报警条件:当第二根K线最高价小于1.0000 ,并且最新K线最高价大等于

26、1.0000下穿报警条件:当第二根K线最低价大于1.0000,并且最新K线最低价小等于1.0000这里,mark是用作报警标记,mark的初值是0,当上穿报警后,mark的值就改为1;当下穿报警后,mark的值就改为2;当mark=0时,说明从未报过警,上、下穿都能报警;当mark= 1时,说明已经上穿报过警了,不能再上穿报警了,但仍可下穿报警 当mark=2时,说明已经下穿报过警了,不能再下穿报警了,但仍可上穿报警、if . else语句 规则:如果小括号中的条件成立,则执行if下大括号中的语句1;如果不成立, 则执行else下大括号中的语句2。if(条件)(语句1;else(语句2;三、注

27、意事项1、 只有语句后面才用到语句结束符“;” 条件、大、小括号后面都不用2、 语句用大括号括起来,但如果只有一行语句,则大括号可以省略if(条件)语句1;MT物程入T 8:循环一幅K线图有几千上万条K线,每根K线乂各有开收盘价、最高低价等数值,而 且还有很多移动平均线、MACD RSI等指标值。面对海量数据,我们必须用循环来实现数据的取值和赋值。一、while循环while(条件)(语句1语句2。规则:当小括号中的条件成立时,就执行大括号中的语句,执行完了再判断条件 是否成立,如果条件成立就继续执行大括号中的语句。只要条件成立,程序就不停地运行大括号中的语句(循环体),直到小括号中的条 件不

28、再成立时结束循环。它与if语句的区别是:if语句是当条件为真时运行一次;而while语句则是只 要条件为真,循环体语句就不停地运行,直到条件为假时结束循环。例:extern int快线=12;extern int慢线=26;double buffer;int i=0;while(i1000)(buffer= iMA(NULL,0,快线,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,慢线,0,MODE_EMA,PRICE_CLOSE,i);i+;这里,循环执行条件是i1000,循环体中有两个语句,一句是把两条均线的差值赋给数组buffer,另一句 i+;”是每运行一次

29、,i的值在原有基础上增加1。 这样,随着循环的不断运行,i的值逐渐增加,循环1000次后,i的值也就从0变为1000,此时“i1000”就不再成立,循环结束。这样,数组buffer中也 就有了1000个值。二、for循环for循环与while循环在原理上是一致的,只是书写格式上有所区别把上面的例子改成for语句:extern int快线=12;extern int慢线=26;double buffer;for(int i=0; i1000; i+)(buffer= iMA(NULL,0,快线,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,慢线,0,MODE_EMA,

30、PRICE_CLOSE,i);与前面相比,我们注意到:“int i=0;”语句从“ while(i1000)”上方移到循环条件“i1000”的前面;“i+;”语句从循环体中移到了循环条件“i1000”的后面;循环执行顺序与while循环一致:第一步、先执行小括号中的第1句:int i=0;(此语句用来定义初始变量,在循环中仅执行一次,可以为没有任何表达式的空 操作符“;”)第二步、再判断小括号中的第2句是否成立:io) cowiCed Lats-;limi t=Baxs-counted_bai:s;for(int 1=0; ilimit; 14-+)Buffeti=iHA(liULL/O/FK

31、A, 0,1,0,!) -iKA(MULLf0,5114,0,1,0,1);fot(i-o;1+JSBuferi=ilULDnArray(BufEe:,Ba:s/SgHAjO,0,i一、文件头部,也称为预处理程序预处理程序以“ #”开头,行尾无语句结束符“;”常用的预处理程序有:1、#property indicator_chart_window把指标显示在主图。如均线?SR酣类指标用到此语句把指标显示在副图。如:MACDRSI、威廉等类指标用到此语句例:MACD才甘标源码spropertypropertyipropertYpropertyffpropettyindi catorsep ar

32、ate_TimidoTJindicator_buffera indicavorcolorlindicator_coloi:2 indicator widthl2文件头部分蚩;责处理程序:xtern int FMA=12;ixtern in.t SMA=2tj;ixt-ern int SgMAS;定义参数变量doublsdoublek薰章定义数组D初始化函数SetlndexStyle (0 HISTOGRAM)投置指标线型SetlndexStyle (1 ,DRAW_LIME);冬旧砂AMU上IndiestorDigits(Digits+l);SetlndexBuffer (OrBuffec);

33、SetlndexBufEet(1,SEufEer);设置小数位设置指标数Indicator Shor tUane (rrMACD (rr+FHA+,rfrr+SMA+设置指标名称LWQHA+了”SetlndexLabel (0,HACD);设带 M 标线标蓊SetlndexLabel (1,r,Siynalr);iZt stact()inc limt主函数3、#property indicator_buffers 3显示3根指标线4、#property indicator_color1 Red第1根指标线的颜色为Red5、#property indicator_width1 1第1根指标线的粗

34、细分仙为16、#property indicator_level1 0.00在0.00值位置横划1条虚线二、参数、变量和数组的定义全局性的参数、变量、数组在此定义,局部变量可在start()函数中定义三、初始化函数init()init()在自定义指标加载时运行一次。初始化函数的功能是“设置”。如果自定义指标需要划线,则必然用到此函数四、主函数start()当数据有变动时,start()就被触发。数据变动一次,start()就运行一次。自定义指标的编程主要依靠此函数进行。start()函数的作用主要是取值和给指标线赋值,报警也在此函数内发起。另外,还有一个反初始化函数deinit()deinit

35、()在自定义卸载时运行一次,可用以去除指标加载时init()所做的初始化操作。MT物程入T 10:画一条指标线要画指标线,只要在程序中写明以下几点就可以了:第一、明确指标线所在窗口,是主图还是副图第二、要建立数组,用以保存指标线在各个位置的值。第三、要建立指标线与数组的对应关系,哪个数组对应哪条指标线2、#property indicator_separate_window第四、要明确指标线的线型,是曲线还是柱线或者是箭头第五、如果指标线是箭头,还要说明是哪种箭头第六、给数组赋值其中:第一、二条写在文件头部中,第三、四、五条写在init()函数中(init函数仅在指标加载时运行一次)第六条写在

36、start()函数中(start函数在数据发动变动时运行,变动一次运行 一次) 下面以MAC的例说明我们知道,MAC指标由二条曲线和一组红绿柱线组成。(下图一)其中:白线是二根均线的差;紫线是白线的移动平均线;红绿柱线则是白线和紫线的差,白线上穿紫线,出现红柱,下穿则出现绿柱。我们从简单入手,先去除紫线和红绿柱线,仅保留其中的那根白线,来看白线是 怎样画出来的。卜面是全部语句:#property indicator_color1 White #property indicator_level1 0 extern intFMA=12;extern int SMA=26;double buf;in

37、t init()SetIndexBuffer(0,buf);SetIndexStyle(0,DRAW_LINE); return(0);int start()int limit=Bars-IndicatorCounted();for(int i=0; ilimit; i+)buf =iMA(NULL,0,FMA,0,1,0,i) -iMA(NULL,0,SMA,0,1,0,i); return(0);说明如下:单线MACD指标程序语句说明#property ind ic at or_se par at e_w indow指标放在副图property indicatorcolor1 White指

38、标线为白色property indicator level10在零轴画一条水平线extern int riTA=12;extern int SMA=26;定义参数变量double buf ;定义数组int init J init设置指标线数组SetlndexBuifer(t,buf);SetIndexStyie(D, DRAGLINE);芦皿设亶指标线线型Mi stare ()i start函数(int 1lmic=Bars-IndicatorCounted();far (int i=C; Klimit; i+)r 循环语句buf i =JiMANULL,口,FMA,Q,1,0, 1)-iHA(NULL,0,SMA,O, l,0yi);I 将两条均线的差值赋值给数组以下为上述语句的简要说明#property indicator_separate_window指标放在副图#property indicator_color1 White第一条指标线为白色#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论