請老師幫個忙,關於引用大周期數據跑小周期的問題

 

请教各位老師

我想做成引用4H的前五根K棒的最高价跟最低价,用在低于4H以下的时间架构,修改了好久都不行,現在只能在图形上只能跑当周期的数值,能否请老师拨空修改一下. 谢谢



#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 MediumSpringGreen
#property indicator_color2 DeepPink

extern int COUNT=5;
double HighBuffer[];
double LowBuffer[];

int init()
{
SetIndexStyle(0,DRAW_LINE,2,2);
SetIndexStyle(1,DRAW_LINE,2,2);

IndicatorDigits(Digits);
SetIndexBuffer(0,HighBuffer);
SetIndexBuffer(1,LowBuffer);
SetIndexLabel(0,"UAT");
SetIndexLabel(1,"DAT");
return(0);
}
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

for(int i=limit; i>=0;i--)
{
double up=High[Highest(NULL,PERIOD_H4,MODE_HIGH,count,i+1)];
double dp=Low[Lowest(NULL,PERIOD_H4,MODE_LOW,count,i+1)];

HighBuffer[i]=up;
LowBuffer[i]=dp;
}
return(0);
}

 

不同周期下 i 是不一样的!!!!! 比如 h4的一个值, 代表H1的4个, m5的48个

参考 iBarShift(....)函数

 
DxdCn:

不同周期下 i 是不一样的!!!!! 比如 h4的一个值, 代表H1的4个, m5的48个

参考 iBarShift(....)函数

老師!!!

小弟對MT4真的是一竅不通......

這裡不是就設定好了時間跟價格了嗎?

double up=High[Highest(NULL,PERIOD_H4,MODE_HIGH,count,i+1)];
double dp=Low[Lowest(NULL,PERIOD_H4,MODE_LOW,count,i+1)];


能請老師幫忙寫個範本供小弟參考嗎?

再次謝謝您的回覆!!!



 

你好象不明白我说什么?

好把再解释一下: 你是要用在低于4H以下的时间架构!!!

那么 High[Highest(NULL,PERIOD_H4,MODE_HIGH,count,i+1)]; 是4小小时下的.

然后赋值给 低于4H以下的时间架构的

HighBuffer[i]

LowBuffer[i]


对吧?

那么如过 i = 3, High[Highest 得到的是12小时前的, 如果指标用于1小时的, HighBuffer[3]是3小时前的.


i 相同, period不同, 对应的X坐标位置不同,

你把下标i 时间坐标对比着排出来就知道问题了

 

算了,还是给你个代码,自己区理解吧

int mm = PERIOD_H4 /Period()+1;

for(i=Bars/mm; i>=0; i--)
{
  double up=High[Highest(NULL,PERIOD_H4,MODE_HIGH,count,i+1)];
  double dp=Low[Lowest(NULL,PERIOD_H4,MODE_LOW,count,i+1)];
  n =  iBarShift(NULL, 0,iTime(NULL,PERIOD_H4 ,i));
  for (int j=1; j<mm; j++)    
  {
    HighBuffer[n+j]=up;
    LowBuffer[n+j]=dp;

  }
}


 

DxdCn老師

我想我懂您的意思了,因為我只寫過飛狐的編程,MT4的編程是剛剛接觸而已,我會試著去理解.


感謝您的幫忙!!!


MT4 H1圖



飛狐 H1圖