[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 406

 
Gracias. Pero tampoco ha funcionado con todos los ejemplos que se dan en el enlace...
 
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);
  }
Por alguna razón no funciona, ¡ayúdame a descubrir cuál es el problema! Gracias.
 
Mr-Franklyn >>:
Почему-то не работает, помогите разобраться в чём проблема! Спасибо!

faltan los corchetes

 

Intentando hacer un rastreo de la equidad para arreglarlo antes de que lleguen los pedidos extra:


escribió este código:

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);           
}

Pero el EA empieza a funcionar así:


¿Quién puede decirme cuál es el problema?

 
Nail_Saby >>:

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


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

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


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

Parece que está haciendo una comparación equivocada:

if(Pr2>=ProcentToclose/100.0*AccountEquity())
y deberías
if(Pr2>=ProcentToclose/100.0*StartBalance)
 
alsu >>:

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

Lo he arreglado, pero no ha servido de nada...

Por cierto, el registro siempre dice que

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

y escribe el importe de los fondos propios.

¿Podría ser algo relacionado con los ciclos?

 
Nail_Saby писал(а) >>

Intentando hacer un rastreo de la equidad para arreglarlo antes de que lleguen los pedidos extra:

escribió este código:

Pero el EA empieza a funcionar así:

¿Quién puede decirme cuál es el problema?

Después de la primera ejecución de la función, el valor de la variable ClAllFlag toma el valor verdadero y no cambia su valor. El tipo de variable debe ser simplemente bool.

 

Explica lo que estoy haciendo mal



Me sale el error de que no hay ningún directorio en el servidor ftp, pero sé con seguridad que está ahí, ¿en qué me he equivocado?

 
Vinin >>:

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

¿quieres decir que hay que quitar la estática antes del bool ClAllFlag?

Pero esta variable también se utiliza en otros lugares del código... donde se cierran todos los pedidos.

He probado esto - no ayuda.

Confundido por los constantes mensajes en el registro...Tal vez en algún lugar

return
¿es inútil?
 
Nail_Saby писал(а) >>

¿Quieres decir que hay que quitar la estática antes del bool ClAllFlag?

Pero esta variable se utiliza en otros lugares del código... donde se cierran todos los pedidos.

He probado esto - no ayuda.

Estoy confundido por los constantes mensajes en el registro... Tal vez sea en algún lugar

>> ¿es inútil?

¿A qué equivale Pr2?

Probablemente haya que reimprimir los valores.