编码帮助 - 页 515

 
mladen:
如果所有其他部分(MetQuotesID和其他部分)都设置好了,只需要SendNotificaton()就可以了。

行为,但对于每个新的蜡烛.... 信号 "推动smartfon "是唯一的信号指标。关闭代码错误 - 但在哪里?

 
popej30:
行动,但对于每个新的蜡烛.... 信号 "推动smartfon "是唯一的信号指标。关闭代码错误 - 但在哪里?

找到一个SendEmail()并把它放在该行之后

 
mladen:
找到一个SendEmail()并把它放在该行之后

很好,正在工作......谢谢你

 

在哪里改进代码来改变项目的箭头?

int deinit()

{

//----------------------------------------------------------------------+

for (int i = ObjectsTotal()-1; i >= 0; i--)

if (StringSubstr(ObjectName(i), 0, StringLen(PREFIX)) == PREFIX)

ObjectDelete(ObjectName(i));

return(0);

//----------------------------------------------------------------------+

}

int init()

{

IndicatorBuffers(8);

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,SmthBulls);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,SmthBears);

SetIndexStyle(2,DRAW_LINE);

SetIndexBuffer(2,SigBulls);

SetIndexStyle(3,DRAW_LINE);

SetIndexBuffer(3,SigBears);

SetIndexBuffer(4,Bulls);

SetIndexBuffer(5,Bears);

SetIndexBuffer(6,AvgBulls);

SetIndexBuffer(7,AvgBears);

string short_name="Bolero Ravel("+Mode+","+Length+","+Smooth+","+Signal+",,"+ModeMA+")";

IndicatorShortName(short_name);

SetIndexLabel(0,"Bulls");

SetIndexLabel(1,"Bears");

SetIndexLabel(2,"SignalBulls");

SetIndexLabel(3,"SignalBears");

//------------------------------------------------------------------------------------------+

SetIndexDrawBegin(0,Length+Smooth+Signal);

SetIndexDrawBegin(1,Length+Smooth+Signal);

SetIndexDrawBegin(2,Length+Smooth+Signal);

SetIndexDrawBegin(3,Length+Smooth+Signal);

//------------------------------------------------------------------------------------------+

return(0);

}

int start()

{

int i, shift, limit, counted_bars=IndicatorCounted();

double Price1, Price2, smax, smin;

if ( counted_bars < 0 ) return(-1);

if ( counted_bars ==0 ) limit=Bars-Length+Smooth+Signal-1;

if ( counted_bars < 1 )

for(i=1;i<Length+Smooth+Signal;i++)

{

//-----------------------------------------------------------------------+

Bulls=0;

Bears=0;

AvgBulls=0;

AvgBears=0;

SmthBulls=0;

SmthBears=0;

SigBulls=0;

SigBears=0;

}

if(counted_bars>0) limit=Bars-counted_bars;

limit--;

for( shift=limit; shift>=0; shift--)

//-----------------------------------------------------------------------+

{

Price1 = iMA(NULL,0,1,0,0,Price,shift);

Price2 = iMA(NULL,0,1,0,0,Price,shift+1);

//-----------------------------------------------------------------------+

if (Mode==0)

{

Bulls[shift] = 0.5*(MathAbs(Price1-Price2)+(Price1-Price2));

Bears[shift] = 0.5*(MathAbs(Price1-Price2)-(Price1-Price2));

}

if (Mode==1)

{

smax=High;

smin=Low[Lowest(NULL,0,MODE_LOW,Length,shift)];

Bulls[shift] = Price1 - smin;

Bears[shift] = smax - Price1;

}

if (Mode==2)

{

Bulls[shift] = 0.5*(MathAbs(High[shift]-High[shift-2])+(High[shift]-High[shift-2]));

Bears[shift] = 0.5*(MathAbs(Low[shift-1]-Low[shift])+(Low[shift-1]-Low[shift]));

}

//------------------------------------------------------------------------+

}

for( shift=limit; shift>=0; shift--)

{

AvgBulls[shift]=iMAOnArray(Bulls,0,Length,0,ModeMA,shift);

AvgBears[shift]=iMAOnArray(Bears,0,Length,0,ModeMA,shift);

}

for( shift=limit; shift>=0; shift--)

{

SmthBulls[shift]=iMAOnArray(AvgBulls,0,Smooth,0,ModeMA,shift);

SmthBears[shift]=iMAOnArray(AvgBears,0,Smooth,0,ModeMA,shift);

}

for( shift=limit; shift>=0; shift--)

{

if (OverBought > 0 && OverSold > 0 )

{

SigBulls[shift]=OverBought/100*(SmthBulls[shift]+SmthBears[shift]);

SigBears[shift]=OverSold/100*(SmthBulls[shift]+SmthBears[shift]);

}

else

{

SigBulls[shift]=iMAOnArray(SmthBulls,0,Signal,0,ModeMA,shift);

SigBears[shift]=iMAOnArray(SmthBears,0,Signal,0,ModeMA,shift);

}

}

//----------------------------------------------------------------------------------------+

for (i = limit; i >= 0; i--)

{

if(SmthBullsSmthBears)

arrows_wind(i,"Up",Arr_otstup ,242,Red,Arr_width,false); //! ! ! !

else ObjectDelete(PREFIX+"Up"+TimeToStr(Time,TIME_DATE|TIME_SECONDS));

if(SmthBulls>SmthBears && SmthBulls<SmthBears)

arrows_wind(i,"Dn",Arr_otstup ,241,Aqua,Arr_width,true); //! ! ! !

else ObjectDelete(PREFIX + "Dn" +TimeToStr(Time,TIME_DATE|TIME_SECONDS));

//----------------------------------------------------------------------------------------+

附加的文件:
vvv.jpg  95 kb
 
popej30:
在哪里改进代码来改变项目的箭头?
int deinit()

{

//----------------------------------------------------------------------+

for (int i = ObjectsTotal()-1; i >= 0; i--)

if (StringSubstr(ObjectName(i), 0, StringLen(PREFIX)) == PREFIX)

ObjectDelete(ObjectName(i));

return(0);

//----------------------------------------------------------------------+

}

int init()

{

IndicatorBuffers(8);

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,SmthBulls);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,SmthBears);

SetIndexStyle(2,DRAW_LINE);

SetIndexBuffer(2,SigBulls);

SetIndexStyle(3,DRAW_LINE);

SetIndexBuffer(3,SigBears);

SetIndexBuffer(4,Bulls);

SetIndexBuffer(5,Bears);

SetIndexBuffer(6,AvgBulls);

SetIndexBuffer(7,AvgBears);

string short_name="Bolero Ravel("+Mode+","+Length+","+Smooth+","+Signal+",,"+ModeMA+")";

IndicatorShortName(short_name);

SetIndexLabel(0,"Bulls");

SetIndexLabel(1,"Bears");

SetIndexLabel(2,"SignalBulls");

SetIndexLabel(3,"SignalBears");

//------------------------------------------------------------------------------------------+

SetIndexDrawBegin(0,Length+Smooth+Signal);

SetIndexDrawBegin(1,Length+Smooth+Signal);

SetIndexDrawBegin(2,Length+Smooth+Signal);

SetIndexDrawBegin(3,Length+Smooth+Signal);

//------------------------------------------------------------------------------------------+

return(0);

}

int start()

{

int i, shift, limit, counted_bars=IndicatorCounted();

double Price1, Price2, smax, smin;

if ( counted_bars < 0 ) return(-1);

if ( counted_bars ==0 ) limit=Bars-Length+Smooth+Signal-1;

if ( counted_bars < 1 )

for(i=1;i<Length+Smooth+Signal;i++)

{

//-----------------------------------------------------------------------+

Bulls=0;

Bears=0;

AvgBulls=0;

AvgBears=0;

SmthBulls=0;

SmthBears=0;

SigBulls=0;

SigBears=0;

}

if(counted_bars>0) limit=Bars-counted_bars;

limit--;

for( shift=limit; shift>=0; shift--)

//-----------------------------------------------------------------------+

{

Price1 = iMA(NULL,0,1,0,0,Price,shift);

Price2 = iMA(NULL,0,1,0,0,Price,shift+1);

//-----------------------------------------------------------------------+

if (Mode==0)

{

Bulls[shift] = 0.5*(MathAbs(Price1-Price2)+(Price1-Price2));

Bears[shift] = 0.5*(MathAbs(Price1-Price2)-(Price1-Price2));

}

if (Mode==1)

{

smax=High;

smin=Low[Lowest(NULL,0,MODE_LOW,Length,shift)];

Bulls[shift] = Price1 - smin;

Bears[shift] = smax - Price1;

}

if (Mode==2)

{

Bulls[shift] = 0.5*(MathAbs(High[shift]-High[shift-2])+(High[shift]-High[shift-2]));

Bears[shift] = 0.5*(MathAbs(Low[shift-1]-Low[shift])+(Low[shift-1]-Low[shift]));

}

//------------------------------------------------------------------------+

}

for( shift=limit; shift>=0; shift--)

{

AvgBulls[shift]=iMAOnArray(Bulls,0,Length,0,ModeMA,shift);

AvgBears[shift]=iMAOnArray(Bears,0,Length,0,ModeMA,shift);

}

for( shift=limit; shift>=0; shift--)

{

SmthBulls[shift]=iMAOnArray(AvgBulls,0,Smooth,0,ModeMA,shift);

SmthBears[shift]=iMAOnArray(AvgBears,0,Smooth,0,ModeMA,shift);

}

for( shift=limit; shift>=0; shift--)

{

if (OverBought > 0 && OverSold > 0 )

{

SigBulls[shift]=OverBought/100*(SmthBulls[shift]+SmthBears[shift]);

SigBears[shift]=OverSold/100*(SmthBulls[shift]+SmthBears[shift]);

}

else

{

SigBulls[shift]=iMAOnArray(SmthBulls,0,Signal,0,ModeMA,shift);

SigBears[shift]=iMAOnArray(SmthBears,0,Signal,0,ModeMA,shift);

}

}

//----------------------------------------------------------------------------------------+

for (i = limit; i >= 0; i--)

{

if(SmthBullsSmthBears)

arrows_wind(i,"Up",Arr_otstup ,242,Red,Arr_width,false); //! ! ! !

else ObjectDelete(PREFIX+"Up"+TimeToStr(Time,TIME_DATE|TIME_SECONDS));

if(SmthBulls>SmthBears && SmthBulls<SmthBears)

arrows_wind(i,"Dn",Arr_otstup ,241,Aqua,Arr_width,true); //! ! ! !

else ObjectDelete(PREFIX + "Dn" +TimeToStr(Time,TIME_DATE|TIME_SECONDS));

//----------------------------------------------------------------------------------------+

由于你从来没有公布整个代码,我将假设(从函数参数 中很明显),它是来自forex tsd的代码被改变了。

在这种情况下,

arrows_wind(i,"Up",Arr_otstup,242,Red,Arr_width,false) 。

必须被替换为

arrows_wind(i,"Up",Arr_otstup,242,Red,Arr_width,true) 。

arrows_wind(i,"Dn",Arr_otstup,241,Aqua,Arr_width,true)。

arrows_wind(i,"Dn",Arr_otstup,241,Aqua, Arr_width,false)。

 

嗨,盖伊。

我不确定这是否可行,但如果有人能做到,那一定是你。

你能否为所附的指标编码,使其在图表底部显示为直方图?

我是一个生来就有的直方图人!

祝你周末愉快

附加的文件:
 
Jeeves:
嗨,盖伊。

我不确定这是否可行,但如果有人能做到,那一定是你。

你能为所附指标编码,使其在图表底部显示为直方图吗?

我是一个生来就有的直方图人!

祝你周末愉快

杰维斯

我不确定是否可以这样做。将会检查

 

非常感谢我的朋友,非常感谢。

 

如果这不可能,也许下面所附的就可以了。 我相信它们会显示同样的结果。只是以不同的方式。

我将不得不在图表上放置三个MA交叉指标的实例....,但并非完美无缺!

附加的文件:
 
Jeeves:
如果这不可能,也许下面的附件就可以了。 我相信它们会显示同样的结果,只是方式不同。只是方式不同而已。我必须在图表上放置三个MA交叉指标的实例....,但并非完美无缺!

杰维斯

在我看来,这个版本是可以工作的。我说的对吗?