任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 183

 
Integer:


int bt=((TimeCurrent()-5*60)/3600)*3600;

bt值将在每小时的5分钟内改变。可以不在最后乘以3600,它将成为从纪元开始的条形数字,这就足以定义一个新的条形。

我不明白。如果你能得到完整的代码。
 
gince:


感谢大家的帮助。

问题是这样的。

<有一个函数叫NewBar(sy, TF)看起来好像是一个新的酒吧开张了。我想在小时图上得到一个关于出现新条形的信号,滞后5分钟。也就是说,我想在0.05、1.05、2.05、...........、10.05、11.05等位置获得一个信号。>

为了澄清这个问题。该函数应每小时返回真,但延迟5分钟。也就是说,当1.05条的形成结束,2.05条出现时,当后者出现时,该函数返回真。当条形图出现在1.10、2.10等位置时,该函数返回真。

在图片中,黄线显示下一个条形图是真实的。

根据你的提示,我试着这样做,但没有成功。


我立刻想到,这些类型是不对的。

static int  LastBar = 0; 
datetime    curbar = iTime (Symbol(), 60, 0) +300; 

然后对它们进行比较并赋值...从int到datetime

 

我只是匆匆忙忙地写了一下。你可以得到它的大意,就其本身而言,这是很好的。

bool IsTrueBar ()
{
    static datetime LastTrueBar = 0;
    datetime OOT, CurBar, ShiftFromOOT;
//----    
    OOT = iTime (Symbol(), PERIOD_H1, 0);   // Время открытия часовик
    CurBar = OOT + ShiftFromOOT;            // Время открытия со сдвигом
    
    if (LastTrueBar != CurBar)
    {
        LastTrueBar = CurBar;
        return(true);
    }
    else return (false);
}
 

什么是所有的大惊小怪的...在这里,每小时的第五分钟返回TRUE,并保持一分钟。

bool NewBar(){
 if(Minute()==5)return(true);
 else return(false);
}
 
Integer:


int bt=((TimeCurrent()-5*60)/3600)*3600;

bt值将在每小时的5分钟内改变。可以不在最后乘以3600,它将成为从纪元开始的条形数字,这就足以定义一个新的条形。


错过了。如果最后乘以3600,那么还要加回5*60的修正。

 
Sepulca:

什么是所有的大惊小怪的...在这里,每小时的第五分钟返回TRUE,并保持一分钟。


我的意思是,真的,而且我们在这里自作聪明......
 
Integer:


错过了。如果最后乘以3600,那么还要加回5*60的修正。


它有点裹足不前,无法阅读。不过我明白这个道理。
 
hoz:


我立刻想到,这些类型是错误的。

然后对它们进行比较并分配数值...从int到datetime

int和 datetime 是同一类型。
 
Sepulca:

什么是所有的大惊小怪的...在这里,每小时的第五分钟返回TRUE,并保持一分钟。

在这一分钟里,顾问将为他打开多达40个订单。
 
Roger:
在这一分钟里,顾问将为他开出多达40个订单。


这就是控制......订单数量或只是对函数的第一次调用的方法......。