[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 406

 
谢谢你!但它对链接中给出的所有例子也不起作用......。
 
int start()
  {
   int i, limit;
   int counted_bars=IndicatorCounted();
//---- 
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
//---- 
   for( i= limit; i>=0; i--) 

      if (Close[ i+1]>0) 

         Buffer0[ i]=Close[ i]/Close[ i+1];

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

      double StdDev=iStdDevOnArray( Buffer0,Bars,16,0,MODE_SMA, i);

      Buffer1[ i]= StdDev;
      

   return(0);
  }
由于某些原因,它不能工作,请帮助我找出问题所在!"。谢谢你!
 
Mr-Franklyn >>:
Почему-то не работает, помогите разобраться в чём проблема! Спасибо!

缺少括号

 

试图在多余的订单被接走之前,进行一次股权牵引来解决这个问题。


写了这个代码。

int init(){
      //Наиль - фиксируем сумму средств на начало работы советника
       EquityStart=AccountEquity();
       StartBalance=AccountBalance();
       if(GlobalVariableSet("EquityStart", EquityStart)==0)
       if(GlobalVariableSet("StartBalance", StartBalance)==0)
       return(false);
       //---- продолжение обработки
//===============

//трал у  меня выведен в отдельную функцию:
bool fPrEquity(){
   if(! PrEquity)return(true);
   static bool 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);           
}

但EA开始工作时是这样的。


谁能告诉我问题出在哪里?

 
Nail_Saby >>:

Пытаюсь сделать трал Эквити, чтобы зафиксировать его раньше, чем наберет лишние ордера:


написал такой код:

Но советник начинает работать так:


Кто подскажет, в чем проблема?

你似乎在做错误的比较。

if(Pr2>=ProcentToclose/100.0*AccountEquity())
而你应该
if(Pr2>=ProcentToclose/100.0*StartBalance)
 
alsu >>:

Вы, кажется, не с тем сравниваете:

修正了它,但它没有帮助...

顺便说一下,日志中总是说

Средстава возросли. Закрываем все!!!

并写下股权的数额。

会不会是与周期有关呢?

 
Nail_Saby писал(а)>>

试图在额外的订单到来之前,进行一次股权拖动来解决这个问题。

写了这个代码。

但EA开始工作时是这样的。

谁能告诉我问题出在哪里?

在函数的第一次运行后,ClAllFlag变量的值为true,并且不改变其值。变量类型应该是简单的bool。

 

解释一下我做错了什么



我得到的错误是ftp服务器上没有目录,但我知道它肯定在那里,我哪里出错了?

 
Vinin >>:

После первого запуска функции значение переменной ClAllFlag принимает значение true и больше не меняет своего значения. Надо бы тип переменной сделать просто bool.

你的意思是要删除bool ClAllFlag之前的静态?

但是这个变量在代码的其他地方也被使用...其中所有的订单都被关闭。

我已经试过了--它没有帮助。

对日志中不断出现的信息感到困惑......也许在某个地方

return
它是否毫无价值?
 
Nail_Saby писал(а)>>

你的意思是,在ool ClAllFlag之前删除静态?

但这个变量在代码的其他地方也有使用...其中所有的订单都被关闭。

我试过这个--没有帮助。

我对日志中不断出现的信息感到困惑......也许是在某个地方

>>它是否毫无价值?

Pr2等于什么?

也许你只需要重写这些值。

原因: