[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 145

 
100yan:

谢谢你!
但这并不奏效--这是一个简单的转变......而我需要知道56个小节后的MA值!有人有什么建议吗?提前感谢!
 
ma_shift是移位,移位是计算MA的条数。
 
eddy:

doubleiMA( 符号,时间框架,周期,ma_shift,ma_method,applied_price,shift)
参数。
ma_shift
- shift - 指标相对于价格图表
移动。
shift- 从指标缓冲区获得的数值的索引(相对于当前的条形图,按指定的时间段向后移动)。

我也读过......也许我弄错了,但在实践中,我用不同的方法尝试过......它不起作用!例如,对于Alligator:如果你在指标中同时改变它的shift和ma_shift,结果是一样的--它在图表上移位。为什么?
 
IgorM:
一切都是正确的,只是没有控制已经下过的订单,也就是说,你现在每打一次勾就会有一个新的订单。

你如何设置这个控制?
 
100yan:
我也读到过......也许我弄错了,但在实践中我尝试了不同的方法......它不起作用!例如,"Alligator":如果你同时改变指标中的shift和ma_shift,结果将是一样的--图表将移动...为什么?

如果ma_shift=0就没有移位,那一定是因为移位后没有值,也就是因为行结束了。

 
你能告诉我如何从一个窗口移动或复制对象 在我的例子中是垂直线)到另一个窗口吗?
 
AndrejFX:
你能告诉我如何从一个窗口移动或复制对象(在我的例子中是垂直线)到另一个窗口吗?

在代码库中有一个 对象同步器

但如果只是垂直线,这个 就比较好。

 
sergeev:

该代码库有一个 对象同步器

但如果只有垂直的,这个 更好

很好的脚本,谢谢你!
 

eddy:

为什么我的MainBuffer[i] 超过100?错误在哪里?

我找到了错误所在,但我不明白为什么。

HighesBuffer[i]=MathMax(HighesBuffer[i],High[k]); //if(High[k]>maximum) maximum=High[k];
 LowesBuffer[i]=MathMin(LowesBuffer[i],Low[k]);   // if(Low[k]<minimum) minimum=Low[k];

这不等于

if(High[k]>HighesBuffer[i]) HighesBuffer[i]=High[k];
if(Low[k]<LowesBuffer[i]) LowesBuffer[i]=Low[k];
 


伙计们帮忙,我不明白....买入时机:当两个周期为14和17的RSI指标同时交叉并收于30以上时....。卖出时机:当两个周期为14和17的RSI指标同时交叉,并收于70水平以下时,从上方....。


我感兴趣的是同时交叉的血液......也就是说,例子

diRSI1和diRSI2都在30以下,而在下一根蜡烛的收盘时,两者都在30以上......与70级类似!


double diRSI1=iRSI(NULL,0,14,PRICE_CLOSE,0);
double diRSI2=iRSI(NULL,0,17,PRICE_CLOSE,0);
double diRSI3=iRSI(NULL,0,14,PRICE_CLOSE,1)。
double diRSI4=iRSI(NULL,0,17,PRICE_CLOSE,1);

if(AccountFreeMargin()<(100*Lots)){
Print("We have no money.Free Margin = ", AccountFreeMargin());
return(0);
}
if (!ExistPositions()){

if ((diRSI1>30 && diRSI2>30 && diRSI3<30 && diRSI4<30)){
OpenBuy();
return(0);
}

如果((diRSI1<70 && diRSI2<70 && diRSI3>70 && diRSI4>70)){
OpenSell();
return(0);
}
}


如果正确,那么在测试时仍然开出不适合的交易....。

帮助...