以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求老师翻译一下这个源码,基于神经网络算法的  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=96251)

--  作者:cc315416174
--  发布时间:2016/4/14 0:23:13
--  求老师翻译一下这个源码,基于神经网络算法的
  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.  

--  作者:cc315416174
--  发布时间:2016/4/14 0:24:20
--  
 if (pass == 3) {

  •       if (perceptron2() > 0) {

  •          sl = sl3;

  •          tp = tp3;

  •          return(1);

  •        } else {

  •          return(basicTradingSystem());

  •        }

  •    }




  • --  作者:cc315416174
    --  发布时间:2016/4/14 0:24:59
    --  
  •    if (pass == 2) {

  •       if (perceptron1() < 0) {

  •          sl = sl2;

  •          tp = tp2;

  •          return(-1);

  •        } else {

  •          return(basicTradingSystem());

  •        }



  •    }

  •    return(basicTradingSystem());

  • }




  • --  作者:cc315416174
    --  发布时间:2016/4/14 0:25:36
    --  
  • double perceptron1()   {

  •    double       w1 = x12 - 100;

  •    double       w2 = x22 - 100;

  •    double       w3 = x32 - 100;

  •    double       w4 = x42 - 100;

  •    double a1 = Close[0] - Open[p2];

  •    double a2 = Open[p2] - Open[p2 * 2];

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

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

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

  • }




  • --  作者:cc315416174
    --  发布时间:2016/4/14 0:26:08
    --  
  • double perceptron2()   {

  •    double       w1 = x13 - 100;

  •    double       w2 = x23 - 100;

  •    double       w3 = x33 - 100;

  •    double       w4 = x43 - 100;

  •    double a1 = Close[0] - Open[p3];

  •    double a2 = Open[p3] - Open[p3 * 2];

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

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

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

  • }




  • --  作者:cc315416174
    --  发布时间:2016/4/14 0:26:21
    --  
  • double perceptron3()   {

  •    double       w1 = x14 - 100;

  •    double       w2 = x24 - 100;

  •    double       w3 = x34 - 100;

  •    double       w4 = x44 - 100;

  •    double a1 = Close[0] - Open[p4];

  •    double a2 = Open[p4] - Open[p4 * 2];

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

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

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

  • }



  • double basicTradingSystem() {

  •    return(iCCI(Symbol(), 0, p1, PRICE_OPEN, 0));

  • }



  • void again() {

  •    prevtime = Time[1];

  •    Sleep(30000);

  • }

  • --  作者:jinzhe
    --  发布时间:2016/4/14 11:28:41
    --  
    你发CSDN 比发这里靠谱多了