指标杂项问题

 

你好。

#Broker Time

我花了几个小时阅读一些评论,但我没有弄清楚如何将我的经纪商时间 设置为我的指标/ 如何将我的指标设置为我的经纪商时间(也许我搞混了)

我的经纪商时间从01:00 开始,但我所有的指标都从00:00 开始工作。

那么我怎样才能解决我的问题呢?

请帮助我。

谢谢。

(英语不是我的母语。)

 

#Broker Time - 暂时关闭。

我解决了我的问题。

 

#MonthOBJ_VLINE

我需要创建月线,但我很纠结。

int _prd = PERIOD_MN1;
int _cnt_MN1 = iBarShift( Symbol(), 0, iTime( Symbol(), PERIOD_MN1, 0 ) );
for ( int i = 0; i < _cnt_MN1; i++ )
{
    //---date & time
    datetime _time          = Time[i]                                               ;
    datetime _prd_time      = iTime( Symbol(), _prd, 0 )                            ;
    datetime _timeCvrt_MN1  = _time + ( _time % _prd_time ) - PeriodSeconds( _prd ) ;
    //---name
    string   _vlineName_MN1 = _prefix + "PERIOD_MN1 - " + TimeToStr( _timeCvrt_MN1, TIME_DATE )    ;

    if ( _Period < PERIOD_MN1 )
    {
        ObjectCreate( _vlineName_MN1, OBJ_VLINE     , 0, _time, 0 )                 ;
        ObjectSet   ( _vlineName_MN1, OBJPROP_COLOR , C'180,160,080'  )             ;
    }   //---if Close
}   //---for Close

谁能帮帮我?

最好是

 
你知道这个月是什么时候开始的:iTime(_Symbol, PERIOD_MN1, 0) 不需要循环,也不需要其他所有的。只需画线。
datetime BOM = iTime( Symbol(), PERIOD_MN1, 0 ); // Beginning of the month.
string   _vlineName_MN1 = _prefix + "PERIOD_MN1 - " + TimeToStr( BOM, TIME_DATE )    ;
ObjectCreate( _vlineName_MN1, OBJ_VLINE     , 0, BOM, 0 )                 ;
ObjectSet   ( _vlineName_MN1, OBJPROP_COLOR , C'180,160,080'  )             ;
 
int _cnt_MN1 = 12; // 12 lines for a year 24 for two years and etc.
for ( int i = 0; i < _cnt_MN1; i++ )
{
   ObjectCreate(0,"PERIOD_MN1-"+IntegerToString(i),OBJ_VLINE,0,iTime(Symbol(),PERIOD_MN1,i),0);
   ObjectSetString(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_TOOLTIP,TimeToString(iTime(Symbol(),PERIOD_MN1,i),TIME_DATE));
   ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i), OBJPROP_COLOR , C'180,160,080'  );
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_WIDTH,1);
}
 
whroeder1:
你知道这个月是什么时候开始的:iTime(_Symbol, PERIOD_MN1, 0) 不需要循环,也不需要其他所有的。只要画线就可以了。
datetime BOM = iTime( Symbol(), PERIOD_MN1, 0 ); // Beginning of the month.
string   _vlineName_MN1 = _prefix + "PERIOD_MN1 - " + TimeToStr( BOM, TIME_DATE )    ;
ObjectCreate( _vlineName_MN1, OBJ_VLINE     , 0, BOM, 0 )                 ;
ObjectSet   ( _vlineName_MN1, OBJPROP_COLOR , C'180,160,080'  )             ;

谢谢你的快速回复评论

我也试过你的代码,但我只看到一个前一个月 2016/10。

但我需要从当前年份未来年份 创建月线

例如。月份从 - 2016年1月 - 2016年2月 - 2016年3月 - ...直到2016年12月

我希望你现在清楚地了解我。

那么,请问我可以做什么?

提前感谢。

 
Marco vd Heijden:
int _cnt_MN1 = 12; // 12 lines for a year 24 for two years and etc.
for ( int i = 0; i < _cnt_MN1; i++ )
{
   ObjectCreate(0,"PERIOD_MN1-"+IntegerToString(i),OBJ_VLINE,0,iTime(Symbol(),PERIOD_MN1,i),0);
   ObjectSetString(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_TOOLTIP,TimeToString(iTime(Symbol(),PERIOD_MN1,i),TIME_DATE));
   ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i), OBJPROP_COLOR , C'180,160,080'  );
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
   //ObjectSetInteger(0,"PERIOD_MN1-"+IntegerToString(i),OBJPROP_WIDTH,1);
}

清楚地了解我的想法,我没有看到你的伟大评论(当我为前一个评论写答复时)。

非常感谢。

 
Max Enrik:

清楚地理解了我的想法,我为之前的评论写了回复(而我没有看到你的伟大评论)。

非常感谢。

请保持简单
 
    ObjectCreate(0,"Future-H4-",OBJ_VLINE,0,0,0);
    ObjectMove(0,"Future-H4-",0,iTime(Symbol(),PERIOD_H4,0)+PERIOD_H4,0);

MN1有点太远了,但这里有一个H4的。

你也可以用

TimeCurrent()
并在OnTick()或OnTimer()函数 中移动你的线,那么它就会随着时间移动。
 
Marco vd Heijden:
    ObjectCreate(0,"Future-H4-",OBJ_VLINE,0,0,0);
    ObjectMove(0,"Future-H4-",0,iTime(Symbol(),PERIOD_H4,0)+PERIOD_H4,0);

MN1有点太远了,但这里有一个H4的。

另外你可以用

TimeCurrent()
在OnTick()或OnTimer()函数中移动你的线,那么它就会随着时间而移动。

哇哦!我的天哪非常感谢您的评论。

我在我的周期线指标 中使用了下面的代码(你提到的那个),所以在'PERIOD_MN1'之前 对我来说效果不错。

iTime(Symbol(),PERIOD_*,0)+PERIOD_*

---

我读了一些关于"事件处理函数"的文章,但我需要专业编码员 的建议。

哪个函数 对我的这个(小时4,日,周,月线)指标有用?

例如:init()、start()、OnTick()或OnTimer()

谢谢。

 

你可以在OnInit()中画出所有的线,然后在上一个条形 的开放时间发生变化 时画出新的条形,你就会知道有一个新的条形。

但我不确定你到底想做什么。