EATC

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

指标_USDCHF/EURUSD关联性

[复制链接]

2275

主题

3779

帖子

2万

积分

交易元老

Rank: 8Rank: 8

积分
26669
发表于 2022-12-18 11:26:44 | 显示全部楼层 |阅读模式
#include <stdlib.mqh>
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 OrangeRed
//----
extern string Curency = "CHF";
//----
double UsdChf[],UsdChfO[];
double Idx[];
double diff,diff1;

int init()
  {
   IndicatorShortName(Curency);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, Idx);
   return(0);
  }

void start()
  {
   double dLastBarCLOSE, dLastBarOPEN;
int nBars = ArrayCopySeries(UsdChf, MODE_CLOSE, "USDCHF", PERIOD_M1);
   int LastError = GetLastError();
   if(LastError != 4066)
     {
       int lastBars = nBars;
       for( int k = 0; k <10; k++)
         {
           dLastBarCLOSE = UsdChf[0];
           nBars = ArrayCopySeries(UsdChf, MODE_CLOSE, "USDCHF", PERIOD_M1);
           LastError = GetLastError();
           if(dLastBarCLOSE == UsdChf[0] && lastBars==nBars && LastError == 0)
               break;
           lastBars = nBars;
         }
     }
   if(LastError != 0)
      {
        Print("Error 001: ArrayCopySeries(): Error == ", ErrorDescription(LastError), "(",
              LastError, "), k == ",k, ", PERIOD_M1, nBars == ", nBars);
        return(0);
      }
//----
   nBars = ArrayCopySeries(UsdChfO, MODE_OPEN, "USDCHF", PERIOD_M1);
   LastError = GetLastError();
   if(LastError == 4066)
     {
       lastBars = nBars;
       for(k = 0; k <10; k++)
         {
           dLastBarOPEN = UsdChf[0];
           nBars = ArrayCopySeries(UsdChfO, MODE_OPEN, "USDCHF", PERIOD_M1);
           LastError = GetLastError();
           if(dLastBarCLOSE == UsdChf[0] && lastBars==nBars && LastError == 0)
               break;
           lastBars = nBars;
         }
     }
   if(LastError != 0)
      {
        Print("Error 002: ArrayCopySeries(): Error == ", ErrorDescription(LastError), "(",
              LastError, "), k == ",k, ", PERIOD_M1, nBars == ", nBars);
        return(0);
      }
//----
   int copylimit=MathMin(ArraySize(UsdChf),ArraySize(UsdChfO))-1;
   int counted_bars = IndicatorCounted();
   double USD;
//----
   if(counted_bars < 0)
       return(-1);
   int limit = Bars - counted_bars;
   if(counted_bars==0) limit--;
   limit=MathMin(limit,copylimit);
   PrintFormat("ArraySize(UsdChf)=%d ArraySize(UsdChfO)=%d  limit=%d",ArraySize(UsdChf),ArraySize(UsdChfO),limit);
   for(int i = 0; i < limit; i++)
     {
       diff = (UsdChf[i] - UsdChfO[i]);
       diff1 = (UsdChf[i+1] - UsdChfO[i+1]);
       Comment("Before", diff1, "\nnow    ", diff);
       if(Curency == "CHF")
           Idx[i] = UsdChf[i];
       if(diff <= -0.0006 && diff < 0)
         {
           Comment("diff ",diff," Buy eur");
           Alert ("USDCHF ", diff, " Difference BUY EURUSD");
         }
       if(diff >= 0.0006 && diff > 0)  
         {
           Comment("diff ", diff, " Sell eur");
           Alert ("USDCHF ", diff, " Difference SELL EURUSD");
         }
       if(Curency == "CHF")
           Idx[i] = UsdChf[i];

     }
  }

回复

使用道具 举报

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

本版积分规则

收藏本站|法律声明|Archiver|小黑屋|support@ea198.com|EATC ( 桂ICP备2022005787号 )

风险提示与免责声明:擅自从事外汇保证金交易的双方不受法律保护!社区内展示内容,均为网友自发分享,不构成投资建议,社区无法全面监控由第三方上传至社区的资源,因此不保证资源的合法性、安全性、完整性、真实性或品质等。您下载时,同意自行判断并承担所有风险。社区内的资源,仅限用于学习和研究目的,不得将用于商业或者非法用途,否则,一切后果请用户自负。社区信息来自网络,版权争议与社区无关,您下载后须在24个小时之内进行删除。如果您喜欢该内容,请支持正版。如有侵权请邮件与我们联系处理。