Latest blog entry

善用MT4中的全局变量GlobalVariable

全局变量在MT4编程中有两层含义,一是编程领域中常规的全局变量含义,即独立于所有函数之外定义的变量,生命周期覆盖整个程序;还有一个就是MT4中独有的:在同一MT4客户端内,所有的指标、脚本和EA都可共享同一全局变量:
GlobalVariable,这个概念类似于编程领域中的共享内存区域;下面简单介绍一下其用法。
首先是必须用到的三个函数:GlobalVariableSet()、GlobalVariableGet()、GlobalVariableDel()。顾名思义,这三个函数的作用分别是设置、获取和删除GlobalVariable。在任何一个指标、脚本和EA中,可用GlobalVariableSet来设置一个GlobalVariable,如:

GlobalVariableSet(“test”, 1.2345);

这就设置好了,把这个指标挂到任何一张图表之上后,在同一个MT4客户端下运行的任何指标、脚本和EA都能读取到这个GlobalVariable了,读取方法:

GlobalVariableGet(“Test”);

最后,如果我们不需要这个GlobalVariable了,就可以这样把它删除了:

GlobalVariableDel(“Test”);

需要注意:一是GlobalVariable只能是double类型的数据,不能把string、数组之类的赋给它,否则编译的时候虽然不会报错,但其实是无效的;二是GlobalVariable的生命周期是名符其实的“全局”,在设置了一个GlobalVariable后,如果不用GlobalVariableDel来删除它,它将会一直存在,无论设置它的指标、脚本和EA是否已被删除,甚至MT4关闭后也会存在,下次重新启动MT4时这个GlobalVariable仍然是可用的!善用这点,在设计交易程序的时候可说是如虎添翼,呵呵!

11月 8, 2008 | 发表评论 | Permalink

一个改进的Comment函数

这个函数是我在forexfactory.com论坛上看到的,主要作用是在图表上输出多行的Comment(注释),觉得挺有用,所以和大家分享一下:

//Determines how many of your previous comments are shown
extern int MaxCommentsToShow=25;
//An array to hold all of the comments
string allcomments[];
 
//+------------------------------------------------------------------+
//| Manage comments - Written by DMS                                           |
//+------------------------------------------------------------------+
void managecomments(string addcomment)
   {
   string tempcomments[];
   int commentscroll;
   string output;
   int CommentCount = ArrayRange(allcomments, 0);
   if(CommentCount<MaxCommentsToShow)
      {
      ArrayResize(tempcomments,CommentCount+1);
      ArrayCopy(tempcomments,allcomments,1,0,WHOLE_ARRAY);
      }
   else
      {
      ArrayResize(tempcomments,MaxCommentsToShow);
      ArrayCopy(tempcomments,allcomments,1,0,MaxCommentsToShow-1);
      }   
   tempcomments[0]=addcomment;
   CommentCount = ArrayRange(tempcomments, 0);
   ArrayResize(allcomments,CommentCount);
   ArrayCopy(allcomments,tempcomments,0,0,CommentCount);
 
   for(commentscroll=0;commentscroll<CommentCount;commentscroll++)
      {
      output = output + allcomments[commentscroll] +"\n";
      }    
   Comment(output);
   }

那么怎么用呢?很简单,直接调用行了:

managecomments("show this on my chart!");
11月 8, 2008 | 发表评论 | Permalink

第一期MT4编程入门学习班现在开始接受报名

经过一段时间的筹备策划,现在第一期的MT4编程入门学习班现在开始接受报名了。这个学习班主要是针对之前从未接触过MT4编程的朋友而设计的,从零开始教授MQL语法。详情请下载参阅招生简章。

招生简章下载

11月 3, 2008 | 发表评论 | Permalink

睿盈MT4伴侣 v0.1.3.0版发布

RexPack正式更名为睿盈MT4伴侣,继续保持一贯的免费原则,下载最新版本请访问睿盈MT4伴侣官方网站

睿盈MT4伴侣 v0.1.3.0版新增功能:

1、显示开仓位置与盈亏(指标);
2、一键开多仓(脚本).

10月 29, 2008 | 发表评论 | Permalink

RexPack v0.1.2.0版本发布

v0.1.2.0新增功能:

1、即时图(指标);
2、显示当前总盈亏(指标)

详情及下载请浏览RexPack官方网站

10月 27, 2008 | 发表评论 | Permalink

我对EA应如何使用的态度

每当我和别人谈论EA时,我总是声明我的观点:我对使用EA的态度是:如果你对一个EA没有充分的了解,那么绝对不要用它进行真实交易!
EA就像一把双刃剑,如用得好,对外汇交易是事半功倍,但若用不好,则其伤害也是很大的。其实,EA对我来说,更多时候是在构建交易系统时的一个工具而已。大家都知道,要构建一个完整的交易系统,通常会将入场信号、离场信号、止损、资金管理和头寸管理等部分搭配起来,并用其对历史数据进行测试,通过测试评估交易系统的性能。所以我通常是把交易系统的各个部分编写为EA进行测试,这样就能迅速的对交易系统各个部分的大量不同组合进行测试。
在实际交易中,如果希望利用EA来自动进行交易,你必须首先明白下面所说的一些事情:
1、EA的容错性能如何?大家都知道,外汇交易中,特别是在发布消息时,经常会出现频繁的滑点、不能成交等情况,如果是人工进行交易,那么自然会知道如何去处理这些事情,但EA不是人,它不会自动会处理这些意外情况的,除非你所使用的EA足够稳固,把所有的意外情况都考虑到并有相应的处理代码,否则你必须清楚你的EA在某些意外情况发生时会做些什么事情;
2、EA的各项指标是怎样的?如果你打算用一个EA来代替你进行交易,那我建议你首先对你的EA进行一个全面的了解,例如EA的交易原理、在历史测试中最大盈利、平均盈利、最大亏损、平均亏损、资金的最大回撤、最大连续亏损等;了解了这些东西,你就对你的EA能做什么有了个大概的了解,也就知道了EA在什么情况下是正常工作的,在什么情况下是异常的、甚至可能已经不适应市场了。
总而言之,在使用EA进行真实交易前,尽可能多的去了解清楚这个EA,这是对你的资金负责!不要幻想能通过某种途径获得一个EA,然后这个EA就会源源不绝的往你的帐户里装钱!

10月 25, 2008 | 发表评论 | Permalink

睿盈外汇工具包v0.1.1.0版本发布

新增加了如下三个功能:

1、将止损提到入场价位(脚本);
2、新K线出现时发送警报(指标);
3、当前K线剩余时间(指标);

v0.1.1.0版本下载地址

10月 20, 2008 | 发表评论 | Permalink

开设了rexpack专用论坛

为更方便地发布睿盈外汇工具包rexpack和收集反馈,现开设了rexpack论坛,以后所有rexpack的新版本都会在论坛中进行发布。大家在使用过程中发现的问题,或者有什么好的建议都请不吝在论坛中发表你的意见,谢谢!

10月 20, 2008 | 发表评论 | Permalink

换了个新的主题界面

今天在wordpress.org.cn发现了这个主题,感觉很喜欢,所以换来试试,希望大家继续支持O(∩_∩)O哈哈~

10月 20, 2008 | 发表评论 | Permalink

补充睿盈外汇工具包的使用教程录像

请从睿盈外汇工具包下载页面下载

10月 17, 2008 | 发表评论 | Permalink
粤ICP备08108171号