我写的这个ea逻辑问题在哪里呢
如图是我写的部分代码,实现功能是:在开仓前,比对持仓订单的开仓价格和现价的价差,
如果差距在3000个点之内,本次即使符合条件也不开仓了。
但是现在跑出来好像一点效果也没有,不知道能否有大神指点下是哪里出了问题!
不胜感谢!!!
晚上有大神吗 试下这个 extern int PriceDistance = 300;
if (Ordertype==OP_BUY)
{
if (Bid-OrderOpenPrice() >PriceDistance*point,Digits);
类似这样的 如果你的OrderOpenPrice()没问题,那么替换你的if语句试试
if (Ordertype==OP_BUY)
{
if(MathAbs(OrderOpenPrice()-Bid)<3000*Point )
Duokai=false;
}
本帖最后由 红心大蜜柚 于 2019-3-11 00:17 编辑
mary1331 发表于 2019-3-10 23:23
试下这个 extern int PriceDistance = 300;
if (Ordertype==OP_BUY)
...
感谢大神深夜回复,可惜我按照您指点的试了一下,还是没奏效。
目前感觉的问题是,我开始设置的全局参数Duokai和Kongkai,在后面的计算函数里,没有被正确赋值。
没有被正确赋值的原因是否跟我引用的函数方法有问题?还是要在if后面加return?
另外可能的问题是不是OrderOpenPrice()-Bid这个计算出来不是point呢,跟后面的300无法形成比较,才会导致后面的赋值无法生效?
如有时间,烦请再帮忙看看。
实现的诉求就是,例如现在奥美价格是0.79000,持单中有一个开仓价是0.79100,那么即使现在符合开仓条件,也不进行开仓了,主要是为了规避震荡行情。
zoonily 发表于 2019-3-10 23:41
如果你的OrderOpenPrice()没问题,那么替换你的if语句试试
if (Ordertype==OP_BUY)
{
感谢大神深夜回复,可惜我按照您指点的试了一下,还是没奏效。
目前感觉的问题是,我开始设置的全局参数Duokai和Kongkai,在后面的计算函数里,没有被正确赋值。
没有被正确赋值的原因是否跟我引用的函数方法有问题?还是要在if后面加return?
另外可能的问题是不是OrderOpenPrice()-Bid这个计算出来不是point呢,跟后面的300无法形成比较,才会导致后面的赋值无法生效?
如有时间,烦请再帮忙看看。
实现的诉求就是,例如现在奥美价格是0.79000,持单中有一个开仓价是0.79100,那么即使现在符合开仓条件,也不进行开仓了,主要是为了规避震荡行情。 求大神继续指点下 来个大哥帮忙看看啊 没人了吗。。自己顶下 都告诉你了,自己检查去
"a<b<c"是错误的,不可以这样写,按下面逻辑
if(多信号)
if(MathAbs(lastopsell-Ask)>1000*Point)
{for。。。。。}//for循环,选择订单执行
关闭空单;
buy(。。。)//开多
buytime=Time;
lastopbuy=OrderOpenPrice();//这两个设全局变量就可以了
空。。。照上面来
页:
[1]