指标_USDCHF/EURUSD关联性

| 发表于 2020-7-27 02:38:41 | 显示全部楼层 |复制链接
  1. #include <stdlib.mqh>
  2. #property indicator_separate_window
  3. #property indicator_buffers 1
  4. #property indicator_color1 OrangeRed
  5. //----
  6. extern string Curency = "CHF";
  7. //----
  8. double UsdChf[],UsdChfO[];
  9. double Idx[];
  10. double diff,diff1;
  11. int init()
  12.   {
  13.    IndicatorShortName(Curency);
  14.    SetIndexStyle(0, DRAW_LINE);
  15.    SetIndexBuffer(0, Idx);
  16.    return(0);
  17.   }
  18. void start()
  19.   {
  20.    double dLastBarCLOSE, dLastBarOPEN;
  21. int nBars = ArrayCopySeries(UsdChf, MODE_CLOSE, "USDCHF", PERIOD_M1);
  22.    int LastError = GetLastError();
  23.    if(LastError != 4066)
  24.      {
  25.        int lastBars = nBars;
  26.        for( int k = 0; k <10; k++)
  27.          {
  28.            dLastBarCLOSE = UsdChf[0];
  29.            nBars = ArrayCopySeries(UsdChf, MODE_CLOSE, "USDCHF", PERIOD_M1);
  30.            LastError = GetLastError();
  31.            if(dLastBarCLOSE == UsdChf[0] && lastBars==nBars && LastError == 0)
  32.                break;
  33.            lastBars = nBars;
  34.          }
  35.      }
  36.    if(LastError != 0)
  37.       {
  38.         Print("Error 001: ArrayCopySeries(): Error == ", ErrorDescription(LastError), "(",
  39.               LastError, "), k == ",k, ", PERIOD_M1, nBars == ", nBars);
  40.         return(0);
  41.       }
  42. //----
  43.    nBars = ArrayCopySeries(UsdChfO, MODE_OPEN, "USDCHF", PERIOD_M1);
  44.    LastError = GetLastError();
  45.    if(LastError == 4066)
  46.      {
  47.        lastBars = nBars;
  48.        for(k = 0; k <10; k++)
  49.          {
  50.            dLastBarOPEN = UsdChf[0];
  51.            nBars = ArrayCopySeries(UsdChfO, MODE_OPEN, "USDCHF", PERIOD_M1);
  52.            LastError = GetLastError();
  53.            if(dLastBarCLOSE == UsdChf[0] && lastBars==nBars && LastError == 0)
  54.                break;
  55.            lastBars = nBars;
  56.          }
  57.      }
  58.    if(LastError != 0)
  59.       {
  60.         Print("Error 002: ArrayCopySeries(): Error == ", ErrorDescription(LastError), "(",
  61.               LastError, "), k == ",k, ", PERIOD_M1, nBars == ", nBars);
  62.         return(0);
  63.       }
  64. //----
  65.    int copylimit=MathMin(ArraySize(UsdChf),ArraySize(UsdChfO))-1;
  66.    int counted_bars = IndicatorCounted();
  67.    double USD;
  68. //----
  69.    if(counted_bars < 0)
  70.        return(-1);
  71.    int limit = Bars - counted_bars;
  72.    if(counted_bars==0) limit--;
  73.    limit=MathMin(limit,copylimit);
  74.    PrintFormat("ArraySize(UsdChf)=%d ArraySize(UsdChfO)=%d  limit=%d",ArraySize(UsdChf),ArraySize(UsdChfO),limit);
  75.    for(int i = 0; i < limit; i++)
  76.      {
  77.        diff = (UsdChf[i] - UsdChfO[i]);
  78.        diff1 = (UsdChf[i+1] - UsdChfO[i+1]);
  79.        Comment("Before", diff1, "\nnow    ", diff);
  80.        if(Curency == "CHF")
  81.            Idx[i] = UsdChf[i];
  82.        if(diff <= -0.0006 && diff < 0)
  83.          {
  84.            Comment("diff ",diff," Buy eur");
  85.            Alert ("USDCHF ", diff, " Difference BUY EURUSD");
  86.          }
  87.        if(diff >= 0.0006 && diff > 0)  
  88.          {
  89.            Comment("diff ", diff, " Sell eur");
  90.            Alert ("USDCHF ", diff, " Difference SELL EURUSD");
  91.          }
  92.        if(Curency == "CHF")
  93.            Idx[i] = UsdChf[i];
  94.       
  95.      }
  96.   }
复制代码
举报

评论 使用道具

精彩评论5

latage
C
| 发表于 前天 20:46 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

xpian
DDD
| 发表于 前天 23:54 来自手机 | 显示全部楼层
不错,谢谢分享!
举报

点赞 评论 使用道具

JOKEEBOSS
C
| 发表于 昨天 20:15 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

jongjongyoshen
DD
| 发表于 6 小时前 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

fxbienhild
DDD
| 发表于 半小时前 | 显示全部楼层
谢谢分享!楼主好人!
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册