#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
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' ) ;
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);
}
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) 不需要循环,也不需要其他所有的。只要画线就可以了。
你知道这个月是什么时候开始的: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' ) ;
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);
}
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:
请保持简单你清楚地理解了我的想法,我为之前的评论写了回复(而我没有看到你的伟大评论)。
非常感谢。
![](https://c.mql5.com/3/109/cool.png)
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);
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()。
谢谢。
你好。
#Broker Time
我花了几个小时阅读一些评论,但我没有弄清楚如何将我的经纪商时间 设置为我的指标/ 如何将我的指标设置为我的经纪商时间。(也许我搞混了)
我的经纪商时间从01:00 开始,但我所有的指标都从00:00 开始工作。
那么我怎样才能解决我的问题呢?
请帮助我。
谢谢。
(英语不是我的母语。)