[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 19

 
nadya:
如果我把它写成一个全局变量,我是否应该直接在那里赋值?

在这些中,更多的是由于它们在deinit()之后没有将其状态重置为所需的0。

最好在init()中初始化它们。

 
nadya:
我必须改变程序的意识形态。当middleSL发送到止损时,它被规范化,即四舍五入到某个符号,当除以2时会发生这样的情况,这是不可避免的。
int z;
z=MathMod(Close[0]*10000,2.0);
if ((z==0)&&High[0]>H)
{
H=High[0];
middleSL=OrderOpenPrice()+(Close[0]-OrderOpenPrice())/MIDDLESL;
}

我把代码稍微复杂化了一下,整个交易从开始到结束只有3次出错,现在我将实时查看它们发生的条件,它们基本上不影响我,一切都像时钟一样工作,但我担心当我进入一个真正的账户 时,服务器会被驱逐。

 
nadya:
如果我把它写成一个全局变量,我是否应该直接在那里赋值?


你可以,但这没有意义,因为它不会和普通变量一样。当您在图表上拖动Svetnic时,会弹出一个窗口,进入下一个标签 "输入参数 "并输入所需的值,Svetnic会记住它们。

如果你想让这个值在EA的每个周期都是恒定的,只需在开始后立即输入这个值,例如

int N=5; //одновременно объявляется переменная и присваивается ей значение
double K=3,5; //то же самое
 

请告诉我,否则我现在就爆了!!!。

EA能否因为资金不足而删除挂单

 
nadya:

请告诉我,否则我现在就要爆发了!!!。

EA能否因为没有足够的资金而删除挂单?


如果你要求它检查余额,并在不足的情况下关闭订单,那么是的,否则它将发出错误或其他东西,甚至可能关闭,但它总是更好地提供所有选项,并在代码中规定它。

"ERR_NOT_ENOUGH_MONEY 134 没有足够的钱来执行交易",它可以发出这个指令,但这个指令会被删除还是会一直存在,我不知道。

 
LazarevDenis:

我把代码做得更复杂一些,整个交易从开始到结束只出了3个错误,现在我将实时查看这些错误发生的条件,它们原则上不影响我,一切都像时钟一样工作,但我担心当我进入一个真正的账户时,服务器会禁止我。

是的,这太复杂了,有这样一个原则性的方法吗?
 
LazarevDenis:

如果你要求它检查余额,并在有缺口时关闭订单,那么是的,否则它要么给出一个错误或其他东西,要么也许会关闭它,但最好是考虑所有选项并在代码中规定。
我并不真的需要它,但我的订单以一种奇怪的方式被删除,我整个晚上都在寻找一个错误。
 
nadya:
问题是,我并不真正需要它,但我的订单以一种奇怪的方式被删除,我整个晚上都在寻找一个错误。


我确信这是一个大批量,没有足够的免费资金,或者许多订单已经被打开(如果你让它打开一个以上)。

如果你是在测试器中或在演示中工作,尝试增加资金量并设置最低手数

 
nadya:

请告诉我,否则我现在就要爆发了!!!。

EA能否因为资金不足而删除挂单?


是的!请看一下日志。
 
LazarevDenis:


更加肯定的是,设定的手数太大,他没有足够的闲钱,或者手数已经开好了(如果你允许他开多个订单)。

如果你是在测试或演示中工作,尽量增加资金量,并把最低手数放进去。

我已经这样做了,而且马上就成功了!万岁!"。