路路发智能交易研发中心

 找回密码
 立即注册
查看: 2735|回复: 0

MT4智能交易编程示例 Aligator指标

[复制链接]

管理员

MT4软件工程师

Rank: 9Rank: 9Rank: 9

积分
6521
帖子
2771
主题
2761
QQ
发表于 2014-4-4 14:33:39 | 显示全部楼层 |阅读模式
MT4智能交易编程示例 Aligator指标
  1. #property copyright   "路路发智能交易研发中心"
  2. #property link        "http://www.ea668.com"
  3. #property description "Bill Williams' Aligator"
  4. #property strict

  5. //---- indicator settings
  6. #property indicator_chart_window
  7. #property indicator_buffers 3
  8. #property indicator_color1  Blue
  9. #property indicator_color2  Red
  10. #property indicator_color3  Lime
  11. //---- input parameters
  12. input int InpJawsPeriod=13; // Jaws Period
  13. input int InpJawsShift=8;   // Jaws Shift
  14. input int InpTeethPeriod=8; // Teeth Period
  15. input int InpTeethShift=5;  // Teeth Shift
  16. input int InpLipsPeriod=5;  // Lips Period
  17. input int InpLipsShift=3;   // Lips Shift
  18. //---- indicator buffers
  19. double ExtBlueBuffer[];
  20. double ExtRedBuffer[];
  21. double ExtLimeBuffer[];
  22. //+------------------------------------------------------------------+
  23. //| Custom indicator initialization function                         |
  24. //+------------------------------------------------------------------+
  25. void OnInit(void)
  26.   {
  27.    IndicatorDigits(Digits);
  28. //---- line shifts when drawing
  29.    SetIndexShift(0,InpJawsShift);
  30.    SetIndexShift(1,InpTeethShift);
  31.    SetIndexShift(2,InpLipsShift);
  32. //---- first positions skipped when drawing
  33.    SetIndexDrawBegin(0,InpJawsShift+InpJawsPeriod);
  34.    SetIndexDrawBegin(1,InpTeethShift+InpTeethPeriod);
  35.    SetIndexDrawBegin(2,InpLipsShift+InpLipsPeriod);
  36. //---- 3 indicator buffers mapping
  37.    SetIndexBuffer(0,ExtBlueBuffer);
  38.    SetIndexBuffer(1,ExtRedBuffer);
  39.    SetIndexBuffer(2,ExtLimeBuffer);
  40. //---- drawing settings
  41.    SetIndexStyle(0,DRAW_LINE);
  42.    SetIndexStyle(1,DRAW_LINE);
  43.    SetIndexStyle(2,DRAW_LINE);
  44. //---- index labels
  45.    SetIndexLabel(0,"Gator Jaws");
  46.    SetIndexLabel(1,"Gator Teeth");
  47.    SetIndexLabel(2,"Gator Lips");
  48.   }
  49. //+------------------------------------------------------------------+
  50. //| Bill Williams' Alligator                                         |
  51. //+------------------------------------------------------------------+
  52. int OnCalculate(const int rates_total,
  53.                 const int prev_calculated,
  54.                 const datetime &time[],
  55.                 const double &open[],
  56.                 const double &high[],
  57.                 const double &low[],
  58.                 const double &close[],
  59.                 const long &tick_volume[],
  60.                 const long &volume[],
  61.                 const int &spread[])
  62.   {
  63.    int limit=rates_total-prev_calculated;
  64. //---- main loop
  65.    for(int i=0; i<limit; i++)
  66.      {
  67.       //---- ma_shift set to 0 because SetIndexShift called abowe
  68.       ExtBlueBuffer[i]=iMA(NULL,0,InpJawsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);
  69.       ExtRedBuffer[i]=iMA(NULL,0,InpTeethPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);
  70.       ExtLimeBuffer[i]=iMA(NULL,0,InpLipsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);
  71.      }
  72. //---- done
  73.    return(rates_total);
  74.   }
  75. //+------------------------------------------------------------------+
复制代码




外汇智能交易,成就财富梦想!
回复

使用道具 举报

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

本版积分规则


MT4编程培训|EA定制开发|QQ在线咨询|路路发智能交易研发中心

GMT+8, 2024-12-22 16:00 , Processed in 0.149405 second(s), 26 queries .

© 2009-2022 520EA.com EA668.com

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