设为首页收藏本站

 找回密码
 注册
查看: 3561|回复: 4
打印 上一主题 下一主题

求老师翻译一下这个源码,基于神经网络算法的 [复制链接]

Rank: 1

精华
0
UID
119582
积分
14
帖子
3
主题
1
阅读权限
10
注册时间
2013-5-29
最后登录
2013-7-9
跳转到指定楼层
1#
发表于 2013-6-23 21:34:05 |只看该作者 |倒序浏览
  1. //---- input parameters

  2. extern double       tp1 = 50;

  3. extern double       sl1 = 50;

  4. extern int          p1 = 10;

  5. extern int          x12 = 100;

  6. extern int          x22 = 100;

  7. extern int          x32 = 100;

  8. extern int          x42 = 100;

  9. extern double       tp2 = 50;

  10. extern double       sl2 = 50;

  11. extern int          p2 = 20;

  12. extern int          x13 = 100;

  13. extern int          x23 = 100;

  14. extern int          x33 = 100;

  15. extern int          x43 = 100;

  16. extern double       tp3 = 50;

  17. extern double       sl3 = 50;

  18. extern int          p3 = 20;

  19. extern int          x14 = 100;

  20. extern int          x24 = 100;

  21. extern int          x34 = 100;

  22. extern int          x44 = 100;

  23. extern int          p4 = 20;

  24. extern int          pass = 1;

  25. extern double       lots = 0.01;

  26. extern int          mn = 888;

  27. static int          prevtime = 0;

  28. static double       sl = 10;

  29. static double       tp = 10;







  30. //+------------------------------------------------------------------+

  31. //| expert start function                                            |

  32. //+------------------------------------------------------------------+

  33. int start()

  34.   {

  35.    if (Time[0] == prevtime) return(0);

  36.    prevtime = Time[0];

  37.   

  38.    if (! IsTradeAllowed()) {

  39.       again();

  40.       return(0);

  41.    }

  42. //----

  43.    int total = OrdersTotal();

  44.    for (int i = 0; i < total; i++) {

  45.       OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

  46.       if (OrderSymbol() == Symbol() && OrderMagicNumber() == mn) {

  47.          return(0);

  48.       }

  49.    }

  50.   

  51.    sl = sl1;

  52.    tp = tp1;

  53.   

  54.    int ticket = -1;

  55.   

  56.    RefreshRates();

  57.   

  58.    if (Supervisor() > 0) {

  59.       ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 1, Bid - sl * Point, Bid + tp * Point, WindowExpertName(), mn, 0, Blue);

  60.       if (ticket < 0) {

  61.          again();     

  62.       }

  63.    } else {

  64.       ticket = OrderSend(Symbol(), OP_SELL, lots, Bid, 1, Ask + sl * Point, Ask - tp * Point, WindowExpertName(), mn, 0, Red);

  65.       if (ticket < 0) {

  66.          again();

  67.       }

  68.    }

  69. //-- Exit --

  70.    return(0);

  71. }

  72. //+--------------------------- getLots ----------------------------------+





  73. double Supervisor() {

  74.    if (pass == 4) {

  75.       if (perceptron3() > 0) {

  76.          if (perceptron2() > 0) {

  77.             sl = sl3;

  78.             tp = tp3;

  79.             return(1);

  80.          }

  81.        } else {

  82.          if (perceptron1() < 0) {

  83.             sl = sl2;

  84.             tp = tp2;

  85.             return(-1);

  86.          }

  87.       }

  88.       return(basicTradingSystem());

  89.    }



  90.    if (pass == 3) {

  91.       if (perceptron2() > 0) {

  92.          sl = sl3;

  93.          tp = tp3;

  94.          return(1);

  95.        } else {

  96.          return(basicTradingSystem());

  97.        }

  98.    }



  99.    if (pass == 2) {

  100.       if (perceptron1() < 0) {

  101.          sl = sl2;

  102.          tp = tp2;

  103.          return(-1);

  104.        } else {

  105.          return(basicTradingSystem());

  106.        }



  107.    }

  108.    return(basicTradingSystem());

  109. }



  110. double perceptron1()   {

  111.    double       w1 = x12 - 100;

  112.    double       w2 = x22 - 100;

  113.    double       w3 = x32 - 100;

  114.    double       w4 = x42 - 100;

  115.    double a1 = Close[0] - Open[p2];

  116.    double a2 = Open[p2] - Open[p2 * 2];

  117.    double a3 = Open[p2 * 2] - Open[p2 * 3];

  118.    double a4 = Open[p2 * 3] - Open[p2 * 4];

  119.    return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);

  120. }



  121. double perceptron2()   {

  122.    double       w1 = x13 - 100;

  123.    double       w2 = x23 - 100;

  124.    double       w3 = x33 - 100;

  125.    double       w4 = x43 - 100;

  126.    double a1 = Close[0] - Open[p3];

  127.    double a2 = Open[p3] - Open[p3 * 2];

  128.    double a3 = Open[p3 * 2] - Open[p3 * 3];

  129.    double a4 = Open[p3 * 3] - Open[p3 * 4];

  130.    return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);

  131. }



  132. double perceptron3()   {

  133.    double       w1 = x14 - 100;

  134.    double       w2 = x24 - 100;

  135.    double       w3 = x34 - 100;

  136.    double       w4 = x44 - 100;

  137.    double a1 = Close[0] - Open[p4];

  138.    double a2 = Open[p4] - Open[p4 * 2];

  139.    double a3 = Open[p4 * 2] - Open[p4 * 3];

  140.    double a4 = Open[p4 * 3] - Open[p4 * 4];

  141.    return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4);

  142. }



  143. double basicTradingSystem() {

  144.    return(iCCI(Symbol(), 0, p1, PRICE_OPEN, 0));

  145. }



  146. void again() {

  147.    prevtime = Time[1];

  148.    Sleep(30000);

  149. }
复制代码

Rank: 1

精华
0
UID
79497
积分
15
帖子
4
主题
1
阅读权限
10
注册时间
2011-11-15
最后登录
2014-12-16
2#
发表于 2013-6-24 15:36:05 |只看该作者
你这个代码是MT4?

使用道具 举报

Rank: 1

精华
0
UID
119582
积分
14
帖子
3
主题
1
阅读权限
10
注册时间
2013-5-29
最后登录
2013-7-9
3#
发表于 2013-6-25 21:21:47 |只看该作者
是的,求老师翻译

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
64128
积分
179
帖子
42
主题
10
阅读权限
40
注册时间
2011-9-7
最后登录
2016-7-29
4#
发表于 2013-6-29 22:55:41 |只看该作者
标记,等待高手翻译

使用道具 举报

Rank: 2

精华
0
UID
145242
积分
88
帖子
66
主题
4
阅读权限
30
注册时间
2012-11-7
最后登录
2015-2-18
5#
发表于 2014-3-23 10:15:15 |只看该作者
高手翻译了也不会贴在这里啊

使用道具 举报

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

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-5 09:16

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部