[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 738

 

我知道了,谢谢你的帮助。

 
spidey:

晚上好,请您告诉我如何在指示器中设置警报,我已经试过了所有的方法,每次打勾都会发出提示音,或者根本没有提示音......


拿到它并签名 :)

附加的文件:
 
请告知如何在指标中比较第i条的收盘价(例如,М15)和当天的开盘价。
 

你好。

你能告诉我或建议我在哪里得到.hst或为视觉测试器生成Eliot波,(可以是csv文件),如下图所示。

 
RomanS:
请告诉我如何比较指标中i-bar的收盘价(例如,М15)和当天的开盘价 。


我一定没有正确解释......例如

#property indicator_separate_window
#property  indicator_buffers 4
#property  indicator_color1  Red
#property  indicator_color2  Green
#property  indicator_color3  Blue
#property  indicator_color4  Black

extern int DAY       = 0;
extern int History   = 500;

double GBP[],EUR[],JPY[],USD[]; 

int init()
  {
   SetIndexBuffer(0, GBP);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(1, EUR);    
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(2, JPY);
   SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
   SetIndexBuffer(3, USD);
   SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2);
   IndicatorShortName("...");
   return;
  }

int start()
  {
  int limit = 0, 
      counted_bars = IndicatorCounted();
      if(counted_bars>0) counted_bars--; 
      limit = Bars - counted_bars;
 
  for(int i=0; i<limit; i++)
    {
     USD[i] = -(iClose("EURUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY))
              -(iClose("GBPUSD",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY))
              +(iClose("USDJPY",NULL,i)-iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i);
     EUR[i] = +(iClose("EURUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY))
              +(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              +(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)/iOpen("GBPUSD",PERIOD_D1,DAY))*iClose("GBPUSD",NULL,i);
     GBP[i] = +(iClose("GBPUSD",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY))
              +(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)/iOpen("GBPUSD",PERIOD_D1,DAY))*iClose("GBPUSD",NULL,i);
     JPY[i] = -(iClose("USDJPY",NULL,i)-iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("EURUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i)
              -(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-iOpen("GBPUSD",PERIOD_D1,DAY)*iOpen("USDJPY",PERIOD_D1,DAY))/iClose("USDJPY",NULL,i);
    }
   return(0);
  }

如果我设置DAY=0,那么第i个柱子的价格,让它成为M5,将与今天的开盘价 进行比较,如果DAY=1,则与昨天的开盘价进行比较,等等。

,如何使其动态化...如果我想动态比较,即当我查到第1278条时,就会与当天的开盘价进行比较,当我看到这个条时。

 

假设这是某个指标MAKD或STOH的图形,建议在EA中如何描述卖出时Xmax*0.25和买入时Xmin*0.25的进入点。 如果周期 "n "不是恒定的,并且Xmax和Xmin发生变化。

附加的文件:
ypi.rar  7 kb
 

如何实现这样一个操作者

while ( Условие если закрылся любой ордер )                  
{   то опредеяем тип закрытого ордера из списка   }  
значение передаем следущему оператору

{  по переданому значению выбераем из списка нужный ордер и открываем его  } 
после того как ордер открыт возращяемся в начало

或者用什么其他方式来实现这个循环

 
RomanS:


我一定是解释错了......比如说

如果我设置DAY=0,那么第i个条形图的价格,让它成为M5,将与今天的开盘价相比,如果DAY=1,则与昨天相比,等等。

如何动态地做到这一点...例如,当计算第1278条时,与该条开盘时当天的开盘价相比,我已经淹没在我的脑海中,如何做呢?

我有一个函数,可以返回任何高级时期的OHLC :)

//+------------------------------------------------------------------+
//| getOHLC                                                          |
//+------------------------------------------------------------------+
double getOHLC(int OHLC, string symbol, int timeframe, int shift = 0){
   if(timeframe < Period())return(-1);
   switch(OHLC){
      case 0:  return(iOpen(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 1:  return(iLow(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 2:  return(iHigh(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
      case 3:  return(iClose(symbol, timeframe, iBarShift(symbol, timeframe, Time[shift])));
   }
}
//+------------------------------------------------------------------+

参数。
int OHLC- 应该从高位时间框架中提取什么数据,对应于标准常数
string symbol - 仪器的符号名称。
int timeframe- 上层时间框架的工作周期,对应于标准常数
int shif t- 可选参数,指定当前时间框架中的当前条形图的编号,以搜索较早时期的匹配。

为你的情况调用函数的例子。

for(int i=0; i<limit; i++)
    {
     USD[i] = -(iClose("EURUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i))
              -(iClose("GBPUSD",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i))
              +(iClose("USDJPY",NULL,i)-getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i);
     EUR[i] = +(iClose("EURUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i))
              +(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              +(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)/getOHLC(0, "GBPUSD",PERIOD_D1,i))*iClose("GBPUSD",NULL,i);
     GBP[i] = +(iClose("GBPUSD",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i))
              +(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)/iClose("GBPUSD",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)/getOHLC(0, "GBPUSD",PERIOD_D1,i))*iClose("GBPUSD",NULL,i);
     JPY[i] = -(iClose("USDJPY",NULL,i)-getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              -(iClose("EURUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "EURUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i)
              -(iClose("GBPUSD",NULL,i)*iClose("USDJPY",NULL,i)-getOHLC(0, "GBPUSD",PERIOD_D1,i)*getOHLC(0, "USDJPY",PERIOD_D1,i))/iClose("USDJPY",NULL,i);
    }

因此,iClose("EURUSD",NULL,i)将找到当前图表中第i条的收盘价,而getOHLC(0, "EURUSD",PERIOD_D1,i)是当前图表中第i条所在日的开盘价。

 
RomanS:


我一定是解释错了......比如说

如果我设置DAY=0,那么第i个条形图的价格,让它成为M5,将与今天的开盘价相比,如果DAY=1,则与昨天的开盘价相比,等等。

如何动态地做到这一点...例如,当计算第1278条时,它与该条开盘时的开盘价进行比较。

你首先需要计算出这个柱子对应的是哪一天。我现在不在家,等我晚上回家后再给你说说功能。同时,自己搜索一下,或者想想如何实施。

哎呀...已经提供了一个变量....

 
akuma_san1:

假设这是某个指标MAKD或STOH的图表,建议如何描述EA中卖出的Xmax*0.25和买入的Xmin*0.25的进入点。 如果周期 "n "不是恒定的,并且Xmax和Xmin发生变化。

你的参赛标准定义得非常模糊。我个人并不清楚。如果你需要控制任何级别的跨越,那么改变你提供的所有参数就没有干扰因素。只需看看第一个柱状图上所需参数的值和第二个柱状图上同一参数的值。如果第一个条形图上的参数值高于你所指定的阈值,而第二个条形图上的参数值较低,我们就有一个从下到上的交叉。如果第一个条形图上的数值较低,而第二个条形图上的数值较高--我们有一个从上到下的交叉。这里我们有两个买入和卖出的信号。你可以只检查高于或低于的值--所以我们会有相同的信号,但在整个过程中,参数不是高于就是低于监测值。
SZY.如果参数没有变化,我们就不会有信号...:)
原因: