houlubin 发表于 2011-12-16 05:44:04

1-------100你离100%还有多远??、、?

每个做外汇的人都想拥有自己的EA{保证能够赚钱的EA},。。。这个我就不在多说废话了,大家心里是最清楚不过了,想要有自己的EA这个想法是非常正确的,但是要动手做一个保证能够赚钱的EA,那真是太难了,但是我相信:努力还是有希望的,不努力那就绝对没希望了。好吧,我们要以十倍的努力加上我们所有的智慧从0开始的学习。
       刚开始要学EA的人,看到EA源码就好像是在看天书,好,那么我们从这里开始学,
       我们的学习思路是这样的:点-----线-----网-----面-----体,
       大家看了上面的话,感觉我是要给大家讲课似的,不然不然!!我只是想把我知道的发上来和大家共享,另外也通过此平台和大家一起进步。
《以后我会把我知道的东西陆续发在本粘上,“当然是从0开始得,”

相信不平凡的生活是从菜鸟开始的,

首先我们就从第一问题入手:

先找一个样本吧,那就找最平凡,最经典的一个EA:MACD。因为这个大家都知道,

你能完完全全的看懂它吗? 你能完完全全的理解他吗?每个字符和每个函数你都能完完全全的灵活的应用吗?

    如果你看不懂你也不要着急,我为什么要找个EA:MACD放上来呢?因为这个大家都知道,网上的资料相对来说也是比较齐全,所以对我们新手来说要看明白他是非常有利的,通过网上的资料和MQL4的字典功能,要完完全全的搞明白它,那只是个时间问题了,无论你会不会英语,有没有C语言的基础那都没多大的关系。这个问题就让我们一步一步的来解决。
    Let\'s get started!让我们开始吧!

还是提前声明一下:由于本人水平有限,所以呢,犯错误是在所难免的,在此也希望大家给予指正。
[*]//+------------------------------------------------------------------+
[*]//|                                                MACD Sample.mq4 |
[*]//|                      Copyright ?2005, MetaQuotes Software Corp. |
[*]//|                                       http://www.metaquotes.net/ |
[*]//+------------------------------------------------------------------+
[*]
[*]extern double TakeProfit = 10;
[*]extern double Lots = 0.1;
[*]extern double TrailingStop = 10;
[*]extern double MACDOpenLevel=3;
[*]extern double MACDCloseLevel=2;
[*]extern double MATrendPeriod=26;
[*]
[*]//+------------------------------------------------------------------+
[*]//|                                                                  |
[*]//+------------------------------------------------------------------+
[*]int start()
[*]{
[*]   double MacdCurrent, MacdPrevious, SignalCurrent;
[*]   double SignalPrevious, MaCurrent, MaPrevious;
[*]   int cnt, ticket, total;
[*]// initial data checks
[*]// it is important to make sure that the expert works with a normal
[*]// chart and the user did not make any mistakes setting external
[*]// variables (Lots, StopLoss, TakeProfit,
[*]// TrailingStop) in our case, we check TakeProfit
[*]// on a chart of less than 100 bars
[*]   if(Bars(MACDOpenLevel*Point) && MaCurrent0)
[*]         {
[*]            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(\"SELL order opened : \",OrderOpenPrice());
[*]         }
[*]         else Print(\"Error opening SELL order : \",GetLastError());
[*]         return(0);
[*]      }
[*]      return(0);
[*]   }
[*]   // it is important to enter the market correctly,
[*]   // but it is more important to exit it correctly...   
[*]   for(cnt=0;cnt(MACDCloseLevel*Point))
[*]                {
[*]               OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
[*]               return(0); // exit
[*]                }
[*]            // check for trailing stop
[*]            if(TrailingStop>0)
[*]            {               
[*]               if(Bid-OrderOpenPrice()>Point*TrailingStop)
[*]               {
[*]                  if(OrderStopLoss()0)
[*]            {               
[*]               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
[*]               {
[*]                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
[*]                  {
[*]                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
[*]                     return(0);
[*]                  }
[*]               }
[*]            }
[*]         }
[*]      }
[*]   }
[*]   return(0);
[*]}// the end.

复制代码
下面是我翻译的,可能有些翻译的不太准确,做不到十全十美那就来个十全九美吧,不过我相信是不会影响你看明白他的意思的,如果能做到这一点那么就说明我的目的达到了<div class=\"blockcode\"><div id=\"code_rYB\"><ol>//+------------------------------------------------------------------+
//|                                                MACD Sample.mq4 |
//|                      Copyright ?2005, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+

extern double TakeProfit = 10;// 盈利目标点数
extern double Lots = 0.1;//每单入场的手数
extern double TrailingStop = 20;//追踪止损的点数
extern double MACDOpenLevel=3;//MACD开仓的参考位置
extern double MACDCloseLevel=2;//MACD出场的参考位置
extern double MATrendPeriod=26;//条件中使用的MA均线的周期数
    //程序最上面extern开始的这些数据都是程序参数,也就是在使用者调用的时候可以修改的部分。
    //这个EA是个常见的技术指标条件入场,条件出场 同时又移动止损功能的完成示意,很适合初学者研究。
    //先总结这个程序的基本条件的意思 以方便大家对号入座,尽快理解。
    //多头入场条件:
    // MACD小于0 并且 小于指定的参数MACDOpenLevel并且 MACD讯号下下穿基准线(死叉) 并且 MA向上趋势
    //多头出场条件:
    // MACD大于0 并且 大于指定的参数MACDCloseLevel 并且 MACD信号线上传基准线(金叉)
    //空头入场条件:
    //MACD大于0 并且 大于指定的参数MACDOpenLevel并且 MACD讯号线上穿基准线(金叉) 并且 MA向下趋势
    //空头出场条件:
    //MACD小于0 并且 小于制定的参数MACDCloseLevel并且 MACD讯号线下穿基准线(死叉)

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//下面开始进行EA程序基本结构的分析
int start()
    //1、start()函数是最重要的执行部分,每来一个价格 此函数都自动执行一次,所以主要的逻辑结构都在这个函数里
    //2、程序的基本流程都是按照以下步骤进行,我们先牢牢记住这个结构,然后再对号入座去理解程序
    // 先判断当前自身的仓位状态,因为start函数式循环运行的,所以中间的每个步骤都会使用start函数,因此,当函数开始的时候我们首先要通过MT4的仓位操作函数获得当前的仓位状态,并进一步根据状态进行不同分支的计算。

   {
    double MacdCurrent, MacdPrevious, SignalCurrent;//MACD当前的数值,MACD之前的数值,信号线当前的数值
    double SignalPrevious, MaCurrent, MaPrevious;//信号线之前的数值,MA当前的数值,MA之前的数值
      //说明要引用3跟线进行交叉对比,
    int cnt, ticket, total;//同样在这里定义了3个整数
   // initial data checks 检查原始数据
   // it is important to make sure that the expert works with a normal确定很重要哪一专家的作品用常态
   // chart and the user did not make any mistakes setting external 图解和使用者没有让任何的设定的错误外部
   // variables (Lots, StopLoss, TakeProfit, 变数( 每单入场手数,止损 ,赢利目标点数, 追踪止损 在我们的情况,我们检查:
   // TrailingStop) in our case, we check TakeProfit
   // on a chart of less than 100 bars在一图解少于 100根酒吧上
    if(Bars

maker 发表于 2012-11-21 23:54:18

呵呵,找个机会...

whyhui 发表于 2012-11-21 23:54:18

真笨,如果有那么好赚的话,就不用做广告给你们了!这些都是骗人的!就像股票软件一样。。。。

drenched 发表于 2012-11-22 00:05:51

这个贴不错!!!!!

chen1110 发表于 2012-11-22 00:05:51

鉴定完毕.!

maker 发表于 2012-11-22 00:05:51

小生对楼主之仰慕如滔滔江水连绵不绝,海枯石烂,天崩地裂,永不变心.

左手起茧 发表于 2012-11-22 00:05:51

我的啦嘿嘿

月蓝蓝 发表于 2012-11-22 00:05:51

我帮你 喝喝

外汇配资 发表于 2012-11-22 00:05:51

现在越做月亏啊

小妖精 发表于 2012-11-22 00:05:51

我在顶贴~!~
页: [1] 2 3
查看完整版本: 1-------100你离100%还有多远??、、?