佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 2485|回复: 15

MT4 EA 智能交易制作速成班-基础篇

[复制链接]
发表于 29-4-2008 10:13 PM | 显示全部楼层 |阅读模式
 

 
 
李易鸿原创
MT4 EA 智能交易制作速成班
版权所有 请勿翻版
 
MT4-EA制作速成班教程-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
疫苗:[email protected]
网站:7x51.com


  • 什么是MT4?
    MT4就是META TRADER 4
    是一个免费的外汇交易平台
    里边有现场的外汇报价
    非常方便使用
    你可以在google搜索
    然后下载
    然后立刻使用
    你可以免费注册户口1000,10000,100000
    都不是问题

  • 什么是EA?
    EA 就是 Expert Adviser
    EA 就是智能交易系统
    智能交易系统就是:
    -软件自己判断下订单
    -软件自己判断提成利润
    -软件自己判断砍仓止输

  • 这个EA软件不是便便就有的
    而是一个插件
    这个插件是提供空间给会编写的人编写的
    里边有便便的METAEDITOR给你编写
    如果你不会C++,就不会编写,这是他们说的

  • 什么是速成班?
    就是你在很短很快的时间内就可以学会如何编写EA
    而且不需要会什么C++软件语言
    是的,快则8个学习小时
    慢则24个学习小时


  • 什么叫“易学难精”?
    就是你很快的就上手
    但难在成为厉害的高手。
    这需要时间慢慢的去研究编写策略
    不过久而久之你就可以是EA编写高手了

  • 学习编写EA有什么好处?
    1.自己编写自己的EA
    2.可以帮助别人编写别人的EA而获取回酬

  • 现在市场上有很多免费的EA
    也就是我所谓的-垃圾EA
    为什么是“垃圾”
    因为他是亏钱的EA
    你千万别因为是“宝”
    就贸贸然用真金白银的去试用

  • 现在市场上也有很多人在卖EA
    便宜的100美金
    贵的1000美金
    通常EA的寿命是一年
    有一回在一个新加坡人的讲座会上
    他们讲他的EA价值15000马币?
    你千万别以为他们个个卖的是“圣杯”
    有的是假象罢了的。


  • 现在市场上没有一个人出来教EA
    以前我想学习也没有机会
    付钱也没有人会教
    哈哈和。。。


(未完)


 





[ 本帖最后由 柒侠伍义 于 29-4-2008 10:33 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 29-4-2008 10:28 PM | 显示全部楼层
 

 
 
李易鸿原创
MT4 EA 智能交易制作速成班
版权所有 请勿翻版
 
MT4EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:
7x51.com
第一课::EA的结构


  • 了解一下EA的基本形式结构
    以下就是EA的编写形式
    //+------------------------------------------------------------------+
    //| MT4-EA制作速成班.mq4 |
    //| Copyright ?2007, MetaQuotes Software Corp. |
    //|
    http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright ?2007, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net"

    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
     
    //+------------------------------------------------------------------+
    //| MT4-EA制作速成班.mq4 |
    //| Copyright ?2007, MetaQuotes Software Corp. |
    //|
    http://www.metaquotes.net |
    //+------------------------------------------------------------------+
    这个是在上面的垃圾
    写与不写都无所谓
    我们就不用理他

    #property copyright "Copyright ?2007, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net"
     
    这个也是在上面的垃圾
    写与不写都无所谓
    我们也不用理他

     

    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----
    //以后可能有用到
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----
    //以后可能有用到
    //----
    return(0);
    }
    这两个很少用到。高高手才会用
    速成班的话,这个可以不用理他。
    放在一边先,以后才学怎样用它。

     
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----
    //主程式
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    这个就是EA开始操作的重要部分


    以上的EA的编写形式我们改成如下:
    //+------------------------------------------------------------------+
    //| MT4-EA制作速成班.mq4 |
    //| Copyright 2007, MT4-EA制作速成班. |
    //| http://www. MT4-EA制作速成班.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2007, MT4-EA制作速成班."
    #property link "http://www. MT4-EA制作速成班.net"

    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----
    /以后可能有用到
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----
    /以后可能有用到
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----
    //主程式
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
       
  • 什么是“.mq4”?
    EA制作好了就save成
    .mq4
    的文件
    这文件是可以修改的
     
  • 什么是“.ex4”?
    EA制作好了
    按“编写”就会自动save成
    .ex4
    的文件
    这文件是不可以被修改的
    这文件是加密的
    可以出售的文件。
     
  • 有什么问题要问吗?
    但是我告诉你
    不要问太深的问题,我是不会的。


     
     


(未完)


 





[ 本帖最后由 柒侠伍义 于 29-4-2008 10:29 PM 编辑 ]
回复

使用道具 举报

发表于 30-4-2008 12:33 AM | 显示全部楼层
很高興柒侠伍义大大再回來發表文章 ............
回复

使用道具 举报

 楼主| 发表于 30-4-2008 10:27 PM | 显示全部楼层

 
 
李易鸿原创
MT4 EA 智能交易制作速成班
版权所有 请勿翻版
 
MT4EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:
7x51.com
第二课
  • 回到EA重要部分
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----
    //主程式
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
     
  • 我们要知道EA是由上面往下读的
    所以我们在编写方面要有逻辑思考
    以下是速成班编写的形式
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----

    MoneyManagement();
    macd();
    ma();
    zhangchang();
    buyme();
    sellme();
    xianshi();

    //----
    return(0);
    }
    //+------------------------------------------------------------------+

    void MoneyManagement() {
    }
    //+------------------------------------------------------------------+

    void macd() {
    }
    //+------------------------------------------------------------------+

    void ma() {
    }
    //+------------------------------------------------------------------+

    void zhangchang() {
    }
    //+------------------------------------------------------------------+

    void buyme() {
    }
    //+------------------------------------------------------------------+

    void sellme() {
    }
    //+------------------------------------------------------------------+

    void buyme() {
    }
    //+------------------------------------------------------------------+

    void xianshi() {
    }
    //+------------------------------------------------------------------+

    /////end

  • // 这两划代表右边的不要读
    也可以说是注解
  • 注意:EA不会读中文符号。比如这个“”
    这个就可以 ""
  • 我们可以完整他
    //+------------------------------------------------------------------+
    //| MT4-EA制作速成班.mq4 |
    //| Copyright 2007, MT4-EA制作速成班. |
    //| http://www. MT4-EA制作速成班.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2007, MT4-EA制作速成班."
    #property link "http://www. MT4-EA制作速成班.net"

    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----
    //以后可能有用到
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----
    //以后可能有用到
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----
    //主程式
    MoneyManagement();//资金管理
    macd();//指标管理
    ma();//指标管理
    zhangchang();//战场管理
    buyme();//买上
    sellme();//买下
    xianshi();//显示管理


    //----
    return(0);
    }
    //+------------------------------------------------------------------+

    void MoneyManagement() {
    //子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void macd() {
    //子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void ma() {
    //子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void zhangchang() {
    ///子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void buyme() {
    //子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void sellme() {
    //子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void buyme() {
    //子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void xianshi() {
    //子程式
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    /////end
     
  • 如果你在上面加这个xianshi2();
    下面就加这个

    //////////////////////////
    void xianshi2() {
    //这边要写一些东西
    }
    ////////////////////////////

    可以任意无限的加。。。
  • 有什么问题要问吗?
    但是我老实告诉你
    不要问太深的问题,我是不会回答的。


(未完)


 


回复

使用道具 举报

 楼主| 发表于 30-4-2008 10:31 PM | 显示全部楼层

李易鸿原创
MT4 EA 智能交易制作速成班
版权所有 请勿翻版
 
MT4EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:
7x51.com
第三课::指标
 
  • void ma()
    {
    ma1now = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
    ma1now2 = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,1);

    ma2now = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,0);
    ma2now2 = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,1);

    ma1bnow = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_OPEN,0);
    ma2bnow = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_OPEN,0);
    }
  • ma1now是代表的字
    你可以写成什么都可以
  • PRICE_CLOSE是ma最新的参数
    PRICE_OPEN是ma开始的参数
  • ma1now = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
    这个整句是死的。
    你只要copy&press就可以用了
    ma1是ma的参数号码或bar
  • 如果这样写法,他人不能更改参数
    double ma1=1,ma2=2;
    double ma1now,ma1now2,ma2now,ma2now2,ma1bnow,ma2bnow;

    这样写法,他人可以更改参数
    extern double ma1=1,ma2=2;
    这个是要放在#property上面那边的
  • 其它指标的写法
    macd1now=iMACD(NULL,0,macd1,macd1*2,1,PRICE_CLOSE,MODE_MAIN,0);
    zigzag1now=iCustom(NULL,0,"ZigZag",2,deviation,backstep,0,0);
    Highest1now=High[iHighest(NULL,0,MODE_HIGH,Highest1,0)];
    Lowest1now=Low[iLowest(NULL,0,MODE_LOW,Lowest1,0)];
    iTrend1now=iCustom(NULL,0,"iTrend",2,0,0,iTrend1,0,iTrend1,0,0,1);
    wpr1now = iWPR(Symbol(),0,wpr1,0);

    不用记住的
    网上可以找到很多指标的写法
  • 有了指标
    我们可以更改我们的EA了
    更改如下:
    注意看看
    刚刚的指标加在什么地方
    什么位置
    //+------------------------------------------------------------------+
    //| MT4-EA制作速成班.mq4 |
    //| Copyright 2007, MT4-EA制作速成班. |
    //| http://www. MT4-EA制作速成班.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2007, MT4-EA制作速成班."
    #property link "http://www. MT4-EA制作速成班.net"
    extern double ma1=1,ma2=2;
    double ma1now,ma1now2,ma2now,ma2now2,ma1bnow,ma2bnow;


    //+------------------------------------------------------------------+
    //| expert initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| expert start function |
    //+------------------------------------------------------------------+
    int start()
    {
    //----

    MoneyManagement();//资金管理
    macd();//指标管理
    ma();//指标管理
    zhangchang();//战场管理
    buyme();//买上
    sellme();//买下
    xianshi();//显示管理


    //----
    return(0);
    }
    //+------------------------------------------------------------------+

    void MoneyManagement() {
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void macd() {
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void ma()
    {
    ma1now = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
    ma1now2 = iMA(NULL,0,ma10,0,MODE_EMA,PRICE_CLOSE,1);

    ma2now = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,0);
    ma2now2 = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,1);

    ma1bnow = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_OPEN,0);
    ma2bnow = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_OPEN,0);

    }

    //+------------------------------------------------------------------+
    void zhangchang() {
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void buyme() {
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void sellme() {
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void buyme() {
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    void xianshi() {
    //这边要写一些东西
    }
    //+------------------------------------------------------------------+

    /////end

  • 注意这个{},不要糊涂的删除了也不知道
    会出错的
  • 注意这个可以写成这样
    效果一样
    double ma1=1;
    double ma2=2;
    double ma1now;
    double ma1now2;
    double ma2now;
    double ma2now2;
    double ma1bnow;
    double ma2bnow;
  • extern double ma1=1;
    extern double ma2=2;
    这样写可以显示在EA修改处
  • 有什么问题要问吗?
    但是我老实告诉你
    不要问太深的问题
    可能我也不会回答的。





(未完)


 

回复

使用道具 举报

 楼主| 发表于 30-4-2008 10:40 PM | 显示全部楼层

 
李易鸿原创
MT4 EA 智能交易制作速成班
版权所有 请勿翻版
 MT4-EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:7x51.com
第四课-资金管理

 

  • 这个将放在#property上面那边
    ////////////////////////
    extern string _资金管理_ ="任选一个";
    extern bool zijiguanli1 = true;//false true、、
    extern bool zijiguanli2= false;//false true、、
    extern bool zijiguanli3= false;//false true、、
    ///////////////////////////////////
  • true=要
    false =不要用
  • 我提供了三个资金管理作为参考
    你可以自己增加自己喜欢的资金管理方案

  • void MoneyManagement() {
    lotstart=(AccountBalance()*lotab/10000);
    lots=lotstart;
    if(cheng==0){cheng=1;}
    CurrentBasket=AccountEquity()-AccountBalance();
    /////////////////////////////////////////////////////////////////
    if(zijiguanli1){ LotMM = lots;}
    /////////////////////////////////////////////////////////////////
    if(zijiguanli2){
    if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lots*(OrdersTotal()*cheng)+lotstart,2); }
    if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
    }
    /////////////////////////////////////////////////////////////////
    if(zijiguanli3){
    if(s+b==0){aa=1;}
    if(s+b==1){aa=3;}
    if(s+b==2){aa=7;}
    if(s+b==3){aa=11;}
    if(s+b==4){aa=20;}
    if(s+b==5){aa=31;}
    if(s+b==6){aa=42;}
    if(s+b==7){aa=54;}
    if(s+b==8){aa=66;}
    if(s+b==9){aa=76;}
    if(s+b>=10){aa=66;}
    if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lotstart*aa,2); }
    if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
    }
    /////////////////////////////////////////////////////////////////
    if(LotMM<lots){LotMM=0.01;}
    if(LotMM>LotsMax){LotMM=LotsMax;}
    }//end zijiguanli
  • 注意:这个资金管理加了很多新的词句
    所以我们要加上去#property上面那边
    不然会出错
    新的词句:
    extern double cheng=1;
    double aa=0;

    int s=0,b=0;
    intdouble CurrentBasket=0;
    double LotMM=0;
    double lotstart=0;
    double LotsMax=100;
    extern double lotab=0.1;
    double lots=0;
  • 注意:
    double 是有小数点的
    int 是没有小数点的
  • 注意:
    if(){}
    很容易用,比如:
    if(LotMM<lots){LotMM=0.01;}
    意思就是:
    如果
    LotMM小过lotsLotMM就等于0.01。

    if(LotMM>LotsMax){LotMM=LotsMax;}

    意思就是:
    如果
    LotMM大过LotsMaxLotMM就等于LotsMax
  • 不会的话,不要紧
    copy&press就可以用了
  • void MoneyManagement() {   }
    copy&press到我们EA模板去
    结果如下:

    ...............

  • 资金管理有三个方案:
    资金管理1=平注
    资金管理2=1,2,3,4,5...
    可以乘,如果你把cheng改成2或3或0.2
    资金管理3是固定式,1,3,7,11.。。

    不明白?别急,用了就明白。
  • 有什么问题要问吗?
    但是我老实告诉你
    我是自学成功的,没有上过什么EA课程
    不要问太深的问题
    可能我也不会回答的。



(未完)
回复

使用道具 举报

Follow Us
 楼主| 发表于 30-4-2008 10:40 PM | 显示全部楼层
//+------------------------------------------------------------------+
//| MT4-EA制作速成班.mq4 |
//| Copyright 2007, MT4-EA制作速成班. |
//| http://www. MT4-EA制作速成班.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2007, MT4-EA制作速成班."
#property link "http://www. MT4-EA制作速成班.net"
extern double ma1=1,ma2=2;
double ma1now,ma1now2,ma2now,ma2now2,ma1bnow,ma2bnow;
////////////////////////
extern string _资金管理_ ="任选一个";
extern bool zijiguanli1= true;//false true、、
extern bool zijiguanli2= false;//false true、、
extern bool zijiguanli3= false;//false true、、
///////////////////////////////////
extern double cheng=1;
double aa=0;
int s=0,b=0;
int double CurrentBasket=0;
double LotMM=0;
double lotstart=0;
double LotsMax=100;
extern double lotab=0.1;
double lots=0;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----

MoneyManagement();//资金管理
macd();//指标管理
ma();//指标管理
zhangchang();//战场管理
buyme();//买上
sellme();//买下
xianshi();//显示管理

//----
return(0);
}
//+------------------------------------------------------------------+
void MoneyManagement() {
lotstart=(AccountBalance()*lotab/10000);
lots=lotstart;
if(cheng==0){cheng=1;}
CurrentBasket=AccountEquity()-AccountBalance();
/////////////////////////////////////////////////////////////////
if(zijiguanli1){ LotMM = lots;}
/////////////////////////////////////////////////////////////////
if(zijiguanli2){
if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lots*(OrdersTotal()*cheng)+lotstart,2); }
if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
}
/////////////////////////////////////////////////////////////////
if(zijiguanli3){
if(s+b==0){aa=1;}
if(s+b==1){aa=3;}
if(s+b==2){aa=7;}
if(s+b==3){aa=11;}
if(s+b==4){aa=20;}
if(s+b==5){aa=31;}
if(s+b==6){aa=42;}
if(s+b==7){aa=54;}
if(s+b==8){aa=66;}
if(s+b==9){aa=76;}
if(s+b>=10){aa=66;}
if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lotstart*aa,2); }
if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
}
/////////////////////////////////////////////////////////////////
if(LotMM<lots){LotMM=lots;}
if(LotMM>LotsMax){LotMM=LotsMax;}
}//end zijiguanli
//+------------------------------------------------------------------+
void macd() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
void ma()
{
ma1now = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
ma1now2 = iMA(NULL,0,ma10,0,MODE_EMA,PRICE_CLOSE,1);

ma2now = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,0);
ma2now2 = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,1);

ma1bnow = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_OPEN,0);
ma2bnow = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_OPEN,0);

}
//+------------------------------------------------------------------+
void zhangchang() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
void buyme() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
void sellme() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
void buyme() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
void xianshi() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
/////end
回复

使用道具 举报

发表于 8-5-2008 09:05 PM | 显示全部楼层

哈罗

这是什么东西啊,看不明
回复

使用道具 举报


ADVERTISEMENT

发表于 12-5-2008 08:22 PM | 显示全部楼层
我也是對MT4的智能trading很有興趣,但可以加圖片解釋嗎?不然看了真的會很吸收不到大俠你所交的東西
回复

使用道具 举报

发表于 12-5-2008 09:10 PM | 显示全部楼层
原帖由 fashionebiz 于 8-5-2008 09:05 PM 发表
这是什么东西啊,看不明

一个 外汇交易系统的 软件说明啦。。。   
回复

使用道具 举报

 楼主| 发表于 18-5-2008 12:37 PM | 显示全部楼层
MT4-EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:7x51.com
第五课::战场


这里是整个EA最重要的地方
这里策略变化无穷
高深莫测就是这里作怪

在这里你要想:。。。
你的EA要怎样下注
什么时候买上?
什么时候买下?
怎样买上?
怎样买下?
有买上又买下?
什么时候离场?
条件满足是很重要的


在这里我给个简单的策略
-ma1黄金交叉ma2,EA买上
-ma1死亡交叉ma2,EA买下
-有赚25点就出场
-如果亏的时候亏50点就出场

是这样编写的:
ma1now>ma2now
这样一句是不够条件的

ma1now>ma2now
&& ma1now2<ma2now2
这个就是黄金交叉的编写法

反过来
ma1now<ma2now
&& ma1now2>ma2now2
这个就是死亡交叉的编写法

但是条件还是不够的
再加
ma1now>ma2now
&& ma1now2<ma2now2
&& s+b==0

s+b==0 意思就是 买上+买下等于没有
没有下注,如果遇到条件符合就可以下注的意思

&& 的意思就是“再加”什么什么的条件

那么整句是这样编写
if(什么什么){就什么什么}
就是用这个

if(ma1now>ma2now
&& ma1now2<ma2now2
&& s+b==0
){buyme();}
if(ma1now<ma2now
&& ma1now2>ma2now2
&& s+b==0
){sellme();}

现在我们就把这两句copy&press到战场去

注意:
现在又多了两个新的东西
buyme()和sellme()
你就copy&press buyme()和sellme()的编写法就可以了。

结果如下:
//+------------------------------------------------------------------+
//| MT4-EA制作速成班.mq4 |
//| Copyright 2007, MT4-EA制作速成班. |
//| http://www. MT4-EA制作速成班.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2007, MT4-EA制作速成班."
#property link "http://www. MT4-EA制作速成班.net"
extern double ma1=1,ma2=2;
double ma1now,ma1now2,ma2now,ma2now2,ma1bnow,ma2bnow;
////////////////////////
extern string _资金管理_ ="任选一个";
extern bool zijiguanli1= true;//false true、、
extern bool zijiguanli2= false;//false true、、
extern bool zijiguanli3= false;//false true、、
///////////////////////////////////
extern double cheng=1;
double aa=0;
int s=0,b=0;
intdouble CurrentBasket=0;
double LotMM=0;
double lotstart=0;
double LotsMax=100;
extern double lotab=0.1;
double lots=0;
double TP=0,TPP=0,SL=0,SLL=0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----

MoneyManagement();//资金管理
macd();//指标管理
ma();//指标管理
zhangchang();//战场管理
buyme();//买上
sellme();//买下
xianshi();//显示管理
//----
return(0);
}
//+------------------------------------------------------------------+
void MoneyManagement() {
lotstart=(AccountBalance()*lotab/10000);
lots=lotstart;
if(cheng==0){cheng=1;}
CurrentBasket=AccountEquity()-AccountBalance();
/////////////////////////////////////////////////////////////////
if(zijiguanli1){ LotMM = lots;}
/////////////////////////////////////////////////////////////////
if(zijiguanli2){
if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lots*(OrdersTotal()*cheng)+lotstart,2); }
if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
}
/////////////////////////////////////////////////////////////////
if(zijiguanli3){
if(s+b==0){aa=1;}
if(s+b==1){aa=3;}
if(s+b==2){aa=7;}
if(s+b==3){aa=11;}
if(s+b==4){aa=20;}
if(s+b==5){aa=31;}
if(s+b==6){aa=42;}
if(s+b==7){aa=54;}
if(s+b==8){aa=66;}
if(s+b==9){aa=76;}
if(s+b>=10){aa=66;}
if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lotstart*aa,2); }
if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
}
/////////////////////////////////////////////////////////////////
if(LotMM<lots){LotMM=lots;}
if(LotMM>LotsMax){LotMM=LotsMax;}
}//end zijiguanli
//+------------------------------------------------------------------+
void macd() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
void ma()
{
ma1now = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
ma1now2 = iMA(NULL,0,ma10,0,MODE_EMA,PRICE_CLOSE,1);

ma2now = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,0);
ma2now2 = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,1);

ma1bnow = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_OPEN,0);
ma2bnow = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_OPEN,0);

}
//+------------------------------------------------------------------+
void zhangchang() {
//这边要写一些东西

if(ma1now>ma2now
&& ma1now2<ma2now2
&& s+b==0
){buyme();}

if(ma1now<ma2now
&& ma1now2>ma2now2
&& s+b==0
){sellme();}

}
//+------------------------------------------------------------------+
void buyme(){
if (TP==0) { TPP=0; } if(TP>0) { TPP=Ask+TP*Point; }
if (SL==0) { SLL=0; } if(SL>0) { SLL=Ask-SL*Point; }
OrderSend(Symbol(),OP_BUY,LotMM,Ask,slip,SLL,TPP,"M"+Period()+"",0,0,Violet);

return(0); }
//+------------------------------------------------------------------+
void sellme(){
if (TP==0) { TPP=0; } if(TP>0) { TPP=Bid-(TP*Point); }
if (SL==0) { SLL=0; } if(SL>0) { SLL=Bid+(SL*Point); }
ticket=OrderSend(Symbol(),OP_SELL,LotMM,Bid,2,SLL,TPP,"M"+Period()+"",0,0,GreenYellow);
return(0); }
//+------------------------------------------------------------------+
void buyme() {
//这边要写一些东西
}
//+------------------------------------------------------------------
+void xianshi() {
//这边要写一些东西
}
//+------------------------------------------------------------------+/////end
 

在buyme()和sellme()
我们又发现新的词句
TP,TPP,SL,SLL

我们必须在#property上面加上他们
不然会出错

我已经加上去了上面的结果了
你注意到了吗?

ok,这个EA可以用了
现在你copy&press 去你的METAEDITOR
save as 一个新的名字就可以了

试一试,用一用
告诉你,它肯定是“垃圾”EA
因为是亏钱的EA
哈哈和。。。

有什么问题要问吗?
但是我老实告诉你
我是自学成功的,没有上过什么EA课程
不要问太深奥或无聊的问题
我可能不知道怎样答你的问题。
哈哈和。。。

你会发现问题??。。。
然后告诉我上面问题。。。
这就是你今天的功课
再见
哈哈和。。。
回复

使用道具 举报

 楼主| 发表于 18-5-2008 12:39 PM | 显示全部楼层
MT4-EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:7x51.com
第六课-解决出错问题

如果你有做功课
你会知道以上的EA还是不能用
因为出错了

出错是常事
没有什么了不起
没有什么大事

当你按在METAEDITOR按“编写”时
最下方会告诉你出错了
按一按下方的出错
他会告诉你在那里出错了
第一:intdouble CurrentBasket=0;
多了 int
删掉 int 就可以了
//int 是表示要“整数”比如:1,2,3,4...
//double 表示要有小数点,比如:1.1,7.987.56.897.....

之后你在按一下“编写”
他告诉你
第二:ma1now2 = iMA(NULL,0,ma10,0,MODE_EMA,PRICE_CLOSE,1);
ma10,意思就是没有ma10这个新词句
其实我们没有用到ma10
是编写错误
不是ma10,是多了个0
应该是ma1
删掉 0 就可以了

之后你在按一下“编写”
他告诉你
第三:OrderSend(Symbol(),OP_BUY,LotMM,Ask,slip,SLL,TPP,"M"+Period()+"",0,0,Violet);
问题是slip
应该是新的词句
slip 是什么?
听他们讲是滑点?管他
因为我们不可以删掉slip
所以在上方加上新的词句吧!
比如:
int slip=6;
就可以了

再来。。。
ticket=OrderSend(Symbol(),OP_SELL,LotMM,Bid,2,SLL,TPP,"M"+Period()+"",0,0,GreenYellow);
ticket?
我们没有用到ticket
所以可以删掉 ticket= 就可以了

再来。。。他告诉你多了这个

void buyme() {
//这边要写一些东西
}

因为已经有了的,哈哈和。。。
是糊涂多了一个
删掉 整句多余的buyme() 就可以了


再来。。。
0错误 0警告
哈哈和。。。
成功了
恭喜你已经学会编写EA了

试一试用一用?
效果怎样?
是不是有一点怪怪?
又出错了?
又是功课的时间
告诉我又发生什么事情。。。

编写EA就是解决问题
当你是解决问题高手
你就是编写EA高手
哈哈和。。。
回复

使用道具 举报

 楼主| 发表于 18-5-2008 12:40 PM | 显示全部楼层
MT4-EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:7x51.com
第七课-填写盈亏

上一回我们讲到
-有赚25点就出场
-如果亏的时候亏50点就出场

这个还没有加上去
编写方法就是
Take Profit=25
Stop Loss=50

我把他们简写成
TP=25;
SL=50;

你想到了什么吗?
对,这字眼很熟吧!
记得吗?
double TP=0,TPP=0,SL=0,SLL=0;

我们改成
double TP=25,TPP=0,SL=50,SLL=0;
你发现吗?
不过下注方面还是有问题!

其实是这EA没有判断
什么是B
什么是S

B是buy
S是sell
速成班不必学会怎样写
你只要copy&prss下面的子程式
放进去就可以了

我把它称为检查

//////////////////////////////////////////
void jiancha()
{

b=0;s=0;
for (int cnt=0; cnt<=OrdersTotal(); cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() )
{
mode=OrderType();LastOrderType=OrderType();
if (OrderType() == OP_SELL){ s++; LastPricesell=OrderOpenPrice();}

if (OrderType() == OP_BUY ){ b++; LastPricebuy=OrderOpenPrice();}
LastPrice=OrderOpenPrice();
if (OrderType()==OP_SELL) {OpenSells++;}
if (OrderType()==OP_SELLSTOP) {OpenSellStops++;}
if (OrderType()==OP_BUY) {OpenBuys++;}
if (OrderType()==OP_BUYSTOP) {OpenBuyStops++;}
}
}
}//end jiancha
//////////////////////////////////////////////////

要记得:在start那边也加入

jiancha();

这样就可以了。

当我们按“编写”
会出错
因为有了新的词句

我们没有加在#property上面那边
新的词句:
mode
LastOrderType
LastPricesell
LastPricebuy
LastPrice
OpenSells
OpenSellStops
OpenBuys
OpenBuyStops

我们更正如下:

double mode=0;
double LastOrderType;
double LastPricesell;
double LastPricebuy;
double LastPrice;
double OpenSells;
double OpenSellStops;
double OpenBuys;
double OpenBuyStops;

按“编写”。。。
0错误 0警告
ok了
按“终端”试一试效果怎样

还是不行
还是buy sell buy sell buy sell
你知道什么事情发生了吗?

跟你讲一个逻辑

什么是主程式
就是主要的程式

什么是子程式
就是不是主要的程式
了解了这些

现在一个问题,这些子程式

MoneyManagement();//资金管理
macd();//指标管理
ma();//指标管理
zhangchang();//战场管理
buyme();//买上
sellme();//买下
xianshi();//显示管理

那些是不需要一直用的就不可以在主程式这里
对啦!

buyme();//买上
sellme();//买下

是有时用到,有时没有用
所以我们删掉它

现在这个EA可以正常的操作了
其编写程式如下:
注意红色部分的位置

//+------------------------------------------------------------------+
//| MT4-EA制作速成班.mq4 |
//| Copyright 2007, MT4-EA制作速成班. |
//| http://www.MT4-EA制作速成班.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2007, MT4-EA制作速成班."
#property link "http://www.MT4-EA制作速成班.net"
extern double ma1=1,ma2=2;
double ma1now,ma1now2,ma2now,ma2now2,ma1bnow,ma2bnow;
////////////////////////
extern string _资金管理_ ="任选一个";
extern bool zijiguanli1= true;//false true、、
extern bool zijiguanli2= false;//false true、、
extern bool zijiguanli3= false;//false true、、
///////////////////////////////////
extern double cheng=1;
double aa=0;
int s=0,b=0;
double CurrentBasket=0;
double LotMM=0;
double lotstart=0;
double LotsMax=100;
extern double lotab=0.1;
double lots=0;
double TP=25,TPP=0,SL=50,SLL=0;
int slip=6;
///////////////////////////////////////
double mode=0;
double LastOrderType;
double LastPricesell;
double LastPricebuy;
double LastPrice;
double OpenSells;
double OpenSellStops;
double OpenBuys;
double OpenBuyStops;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
jiancha();//检查判断
MoneyManagement();//资金管理
macd();//指标管理
ma();//指标管理
zhangchang();//战场管理
xianshi();//显示管理
//----
return(0);
}
//+------------------------------------------------------------------+
void jiancha()
{

b=0;s=0;
for (int cnt=0; cnt<=OrdersTotal(); cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() )
{
mode=OrderType();LastOrderType=OrderType();
if (OrderType() == OP_SELL){ s++; LastPricesell=OrderOpenPrice();}

if (OrderType() == OP_BUY ){ b++; LastPricebuy=OrderOpenPrice();}
LastPrice=OrderOpenPrice();
if (OrderType()==OP_SELL) {OpenSells++;}
if (OrderType()==OP_SELLSTOP) {OpenSellStops++;}
if (OrderType()==OP_BUY) {OpenBuys++;}
if (OrderType()==OP_BUYSTOP) {OpenBuyStops++;}
}
}
}//end jiancha
//+------------------------------------------------------------------+

void MoneyManagement() {
lotstart=(AccountBalance()*lotab/10000);
lots=lotstart;
if(cheng==0){cheng=1;}
CurrentBasket=AccountEquity()-AccountBalance();
/////////////////////////////////////////////////////////////////
if(zijiguanli1){ LotMM = lots;}
/////////////////////////////////////////////////////////////////
if(zijiguanli2){
if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lots*(OrdersTotal()*cheng)+lotstart,2); }
if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
}
/////////////////////////////////////////////////////////////////
if(zijiguanli3){
if(s+b==0){aa=1;}
if(s+b==1){aa=3;}
if(s+b==2){aa=7;}
if(s+b==3){aa=11;}
if(s+b==4){aa=20;}
if(s+b==5){aa=31;}
if(s+b==6){aa=42;}
if(s+b==7){aa=54;}
if(s+b==8){aa=66;}
if(s+b==9){aa=76;}
if(s+b>=10){aa=66;}
if(CurrentBasket<0 ) {LotMM=NormalizeDouble(lotstart*aa,2); }
if(CurrentBasket==0 ) {LotMM=NormalizeDouble(LotMM*0,2); }
}
/////////////////////////////////////////////////////////////////
if(LotMM<lots){LotMM=lots;}
if(LotMM>LotsMax){LotMM=LotsMax;}
}//end zijiguanli
//+------------------------------------------------------------------+
void macd() {
//这边要写一些东西
}
//+------------------------------------------------------------------+
void ma()
{
ma1now = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,0);
ma1now2 = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_CLOSE,1);

ma2now = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,0);
ma2now2 = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_CLOSE,1);

ma1bnow = iMA(NULL,0,ma1,0,MODE_EMA,PRICE_OPEN,0);
ma2bnow = iMA(NULL,0,ma2,0,MODE_EMA,PRICE_OPEN,0);

}
//+------------------------------------------------------------------+
void zhangchang() {
//这边要写一些东西

if(ma1now>ma2now
&& ma1now2<ma2now2
&& s+b==0
){buyme();}

if(ma1now<ma2now
&& ma1now2>ma2now2
&& s+b==0
){sellme();}

}
//+------------------------------------------------------------------+
void buyme(){
if (TP==0) { TPP=0; } if(TP>0) { TPP=Ask+TP*Point; }
if (SL==0) { SLL=0; } if(SL>0) { SLL=Ask-SL*Point; }
OrderSend(Symbol(),OP_BUY,LotMM,Ask,slip,SLL,TPP,"M"+Period()+"",0,0,Violet);

return(0); }
//+------------------------------------------------------------------+
void sellme(){
if (TP==0) { TPP=0; } if(TP>0) { TPP=Bid-(TP*Point); }
if (SL==0) { SLL=0; } if(SL>0) { SLL=Bid+(SL*Point); }
OrderSend(Symbol(),OP_SELL,LotMM,Bid,2,SLL,TPP,"M"+Period()+"",0,0,GreenYellow);
return(0); }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
void xianshi() {
//这边要写一些东西
}
//+------------------------------------------------------------------+

///////////////////////////////end


恭喜!恭喜,这EA可以正常操作了

有什么问题要问吗?
但是我老实告诉你
我是自学成功的
没有上过什么EA课程
不要问太深奥或无聊的问题
我可能不知道怎样答你的问题
其实也不用问什么
自己想出答案会更好更刻骨铭心
哈哈和。。。
回复

使用道具 举报

 楼主| 发表于 18-5-2008 12:41 PM | 显示全部楼层
MT4-EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:7x51.com
第八课-移动止赢

移动止赢就是到口的肉就不要吐出去了
哈哈和。。。
这样形容你明白吗?
其实也不是这个意思
是赢到尽头的意思

速成班不必学会怎样写Traingstop
copy&Press就可以了
子程式如下:

///////////////////////
void TrailingStop()
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() )//&& OrderMagicNumber()==MAGICMA)
{
if (OrderType()==OP_SELL)
{
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}

if (OrderType()==OP_BUY)
{
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
}
}
}//end TrailingStop
////////////////////////////////////

这TrailingStop是可以一直用的
所以我们要加在start那边加

TrailingStop();

发现新的词句
cnt
TrailingStop

我们更正如下:
int cnt;
double TrailingStop=0;

按“编写”
0错误 0警告
厉害,哈哈和。。。
加入成功

把double TrailingStop=0;
0改成10,就可以操作了

改成这样也可以
extern double TrailingStop=10;

自己试一试看看效果如何?
怎样?容易吗?
哈哈和。。。
回复

使用道具 举报

 楼主| 发表于 18-5-2008 12:42 PM | 显示全部楼层
MT4-EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:7x51.com
第九课-显示画面

显示的子程式如下

//////////////////////////////////////////////
void xianshi()
{
string name_8 = "xianshi1";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8, "伺服器时间::"+TimeToStr(CurTime( ))+"", 13, "Arial", White);
ObjectSet(name_8, OBJPROP_CORNER, 0);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 15);

text="EA制作速成班";
name_8 = "xianshi2";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8, ""+text+"", 15, "Arial", Yellow);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 5);

name_8 = "Lableyeddrice1";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8, "M"+Period()+" 货币 "+Symbol()+"", 10, "Arial", Silver);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 130);
ObjectSet(name_8, OBJPROP_YDISTANCE, 32);

//////这个显示上方
name_8 = "LableCurPrice2";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8,""+DoubleToStr(Ask, Digits)+"::买上", 15, "Arial", Lime);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 30);

//////这个显示下方
name_8 = "Lab345rPrice3";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8,""+DoubleToStr(Bid, Digits)+"::卖下", 15, "Arial", Lime);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 50);

name_8 = "Acc87lance";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8,""+DoubleToStr( AccountBalance(), 2)+"::账面资金", 13, "Arial", Lime);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 70);

name_8 = "LableC5rice6";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8,""+DoubleToStr( AccountEquity(), 2)+"::净值资金", 13, "Arial", Lime);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 90);

name_8 = "Labl456rice6";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8,""+DoubleToStr( AccountMargin(), 2)+"::保证资金", 13, "Arial", Lime);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 110);

name_8 = "Labl4hcjce6";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8,""+DoubleToStr( AccountFreeMargin(), 2)+"::可用资金", 13, "Arial", Lime);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 130);

name_8 = "Accvf7lance";
ObjectDelete(name_8);
ObjectCreate(name_8, OBJ_LABEL, 0, 0, 0);
ObjectSetText(name_8,""+DoubleToStr( AccountProfit(), 2)+"::账面盈亏", 13, "Arial", Lime);
ObjectSet(name_8, OBJPROP_CORNER, 1);
ObjectSet(name_8, OBJPROP_XDISTANCE, 15);
ObjectSet(name_8, OBJPROP_YDISTANCE, 150);

//我们可以无限的加
}
////////////////////////////////////////////////////

研究一下
你应该会用了

这显示有什么了不起吗?
有什么作用吗?
用你的脚想一想你应该会领悟的
哈哈和。。。
回复

使用道具 举报

 楼主| 发表于 18-5-2008 12:42 PM | 显示全部楼层
MT4-EA制作速成班-基础篇
版权所有 请勿转翻
作者:李沂鸿(马来西亚)
网站:7x51.com
第十课-解决问题2

每一个程式的开始就是一个问题
没有问题就是有问题
有问题就有答案
没有答案就不是问题
哈哈和。。。

速成班基础篇教程到这里就结束了
结束就是新的开始
开始什么
开始更上一层楼

其它基础的东东
你可以在Metaeditor的右边找到
有中文的
所以我也不必重复

接下来
我们要快速的学习“策略篇”
因为一个成败的EA取决于策略

什么是策略?
策略就是战略

什么是战略?
战略就是你怎样把EA弄到直线上升
而不是楼梯下降

如果你要学习这一篇
可以,你必须交功课

功课:
在上面EA的基础上
请加上以下指标
a)macd

如果你做不出来
你的基础都有问题
怎样更上一层楼呢!
是不是

哈哈和。。。

未完,再见。



[ 本帖最后由 柒侠伍义 于 18-5-2008 12:44 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 5-11-2024 07:21 AM , Processed in 0.101340 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表