int init(){//Наиль - фиксируем сумму средств на начало работы советника
EquityStart=AccountEquity();
StartBalance=AccountBalance();if(GlobalVariableSet("EquityStart", EquityStart)==0)if(GlobalVariableSet("StartBalance", StartBalance)==0)return(false);//---- продолжение обработки//===============//трал у меня выведен в отдельную функцию:bool fPrEquity(){if(! PrEquity)return(true);staticbool ClAllFlag=false;double Pr2=0;
StartBalance=GlobalVariableGet("StartBalance");
Pr2=AccountEquity()- StartBalance;if( Pr2>= ProcentToclose/100.0*AccountEquity()){Print("Средстава возросли. Закрываем все!!!");
ClAllFlag=true;
StartBalance=AccountEquity();GlobalVariableSet("StartBalans", StartBalance);}if( ClAllFlag){if( fOrderCloseMarket(true,true)==0){
ClAllFlag=false;return(true);}else{return(false);}}return(true);}
После первого запуска функции значение переменной ClAllFlag принимает значение true и больше не меняет своего значения. Надо бы тип переменной сделать просто bool.
Почему-то не работает, помогите разобраться в чём проблема! Спасибо!
缺少括号
试图在多余的订单被接走之前,进行一次股权牵引来解决这个问题。
写了这个代码。
但EA开始工作时是这样的。
谁能告诉我问题出在哪里?
Пытаюсь сделать трал Эквити, чтобы зафиксировать его раньше, чем наберет лишние ордера:
написал такой код:
Но советник начинает работать так:
Кто подскажет, в чем проблема?
你似乎在做错误的比较。
Вы, кажется, не с тем сравниваете:
修正了它,但它没有帮助...
顺便说一下,日志中总是说
Средстава возросли. Закрываем все!!!
并写下股权的数额。
会不会是与周期有关呢?
试图在额外的订单到来之前,进行一次股权拖动来解决这个问题。
写了这个代码。
但EA开始工作时是这样的。
谁能告诉我问题出在哪里?
在函数的第一次运行后,ClAllFlag变量的值为true,并且不改变其值。变量类型应该是简单的bool。
解释一下我做错了什么
我得到的错误是ftp服务器上没有目录,但我知道它肯定在那里,我哪里出错了?
После первого запуска функции значение переменной ClAllFlag принимает значение true и больше не меняет своего значения. Надо бы тип переменной сделать просто bool.
你的意思是要删除bool ClAllFlag之前的静态?
但是这个变量在代码的其他地方也被使用...其中所有的订单都被关闭。
我已经试过了--它没有帮助。
对日志中不断出现的信息感到困惑......也许在某个地方
return
它是否毫无价值?你的意思是,在ool ClAllFlag之前删除静态?
但这个变量在代码的其他地方也有使用...其中所有的订单都被关闭。
我试过这个--没有帮助。
我对日志中不断出现的信息感到困惑......也许是在某个地方
>>它是否毫无价值?Pr2等于什么?
也许你只需要重写这些值。