[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 59

 
dzhini:
Well...., por favor, PROFI, dame una respuesta, qué hacer con el indicador. Dime, ¿es posible o imposible? (La pregunta fue escrita anteriormente en el hilo, si la duplico, tendré una segunda amarilla :o) )

Tienes que subir la historia.

Con Alpari no hay problema. Otros corredores tienen problemas. No recuerdo cuáles (además está aceptado no hablar de ellos aquí en un foro).

 
OrdersTotal<br / translate="no"> int OrdersTotal()
Devuelve el número total de órdenes abiertas y pendientes.

¿Es posible conocer sólo el número total de órdenes abiertas?
 
gince:

Tienes que subir la historia.

Con Alpari no hay problema. Otros corredores tienen problemas. No recuerdo cuáles (además está aceptado no hablar de ellos aquí en el foro).

Tengo suficiente historial desde finales de junio de 2010 (en teoría, debería ser suficiente para mostrar enero de 2011). Pero ni siquiera eso funciona. Hay algún punto fundamental en la compatibilidad de los comandos del indicador y el funcionamiento del probador.
 
Jaguar1974:
¿Es posible conocer sólo el número total de órdenes abiertas?
 int Opend(){
     int Ord=0;
     for(int cnt=0;cnt<OrdersTotal();cnt++){
        if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==true){
          if(OrderMagicNumber()==Magic){
            if(OrderSymbol()==Symbol()){
              if(OrderType()<2)Ord++;
      } } } }        
  return(Ord);} 
 
¡Buenas tardes! Ayuda a resolver un problema. Tengo un Asesor Experto e-CrossCCI (no es mío). El Asesor Experto funciona cuando la línea del indicador de CCI cruza un nivel cero, cómo funciona (rentable o no es el punto). Y funciona tanto con los indicadores incorporados como con los personalizados. Hay un indicador estocástico Premier. En mi Asesor Experto, cambio el indicador CCI por el estocástico Premier, dejando en realidad el código sin cambios (el principio del mismo cruce de cero). Lo puse para probarlo. No realiza ningún pedido. ¿Cuál puede ser el problema? Todo está unido. El resultado de la resolución del problema, si es posible, puede verse en ban_61@mail.ru/.

¡¡¡Gracias de antemano!!!
Archivos adjuntos:
123.rar  4 kb
 
ban61:
¡Buenas tardes! Ayuda a resolver un problema. Tengo un Asesor Experto e-CrossCCI (no es mío). El Asesor Experto funciona cuando la línea indicadora del CCI cruza un nivel cero, cómo funciona (rentable o no es el punto). Y funciona tanto con los indicadores incorporados como con los personalizados. Hay un indicador estocástico Premier. En mi Asesor Experto, cambio el indicador CCI por el estocástico Premier, dejando en realidad el código sin cambios (el principio del mismo cruce de cero). Lo puse para probarlo. No realiza ningún pedido. ¿Cuál puede ser el problema? Todo está unido. El resultado de la resolución del problema, si es posible, puede verse en ban_61@mail.ru/.

¡¡¡Gracias de antemano!!!
¿has intentado averiguar cómo funcionan los topes indicadores? Artículo muy útil (https://docs.mql4.com/ru/indicators/iCustom)
 
dzhini:
¿has intentado averiguar cómo funcionan los topes indicadores? Artículo muy útil (https://docs.mql4.com/ru/indicators/iCustom)

He leído el artículo. El indicador estocástico Premier parece estar prescrito correctamente también, agregó los parámetros de entrada:

extern int StochasticLenght=8;

extern int StochasticMode=0;

extern int SmoothLength=25;

extern double Nivel1=0,9;

extern double Nivel2=0.2;

el indicador se escribe

double cci = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

double cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

el resto del código fuente no se modifica.

-

-

 
ban61:

He leído el artículo. El indicador estocástico Premier parece estar prescrito correctamente también, agregó los parámetros de entrada:

extern int StochasticLenght=8;

extern int StochasticMode=0;

extern int SmoothLength=25;

extern double Nivel1=0,9;

extern double Nivel2=0.2;

el indicador se escribe

double cci = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

double cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

el resto del código fuente no se modifica.

-

-

Pregunta: ¿quieres aprender a programar o sólo que te arreglen el bot? Si es lo primero, entonces hay que entender por qué se produce la ejecución de la orden. Si es lo segundo, deberías haberlo dicho enseguida.

En cuanto a tu código, toma datos del mismo buffer (de los cuales hay 5) en la vela anterior y en la anterior, y espera estas condiciones: (cci1<0 && cci>0) o (cci1>0 && cci<0) .... y creo que esperará siempre.

 
Por favor, que alguien mire mi pregunta anterior. No puedo identificar y solucionar el error. El código compila, pero en el probador no da el resultado esperado.
 

Hola a todos.

Tengo una simple pregunta.

Hay un pequeño programa, que consta de tres archivos:

1. experto vol1, el archivo que contiene int start () etc.

#include <Variables.mq4>
#import "statistics.mq4"
#import "files.mq4"

int init_main (double &MAIN[], int quantity);
int write (int fh);
int init()
  {  
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
  
  init_main(MAIN,50000);
for (int i = 0; i < 1000; i++){
int fh = write(Name);
}
   return(0);
  }

Como puedes ver, incluyo #include <Variables.mq4>
e importo #import "statistics.mq4", #import "files.mq4 ".

2. Variables.mq4 - contiene variables.

string  Name = "new";
double MAIN [50000];
double TEN [10];
double CUR [10];
3. files.mq4 este vil contiene varias funciones

int init_main (double &MAIN[], int quantity){

int count = 0;
int time = 0;
int end_time = 0;

time = TimeCurrent();

end_time = time + quantity;


while (time != end_time){

MAIN[count] = Ask;

Alert(MAIN[count]);

count++;

time = TimeCurrent();

while (time == TimeCurrent()){}

}
}

int write (int fh){ 

if (fh <  0){
     
     Alert("Неудается открыть файл с таким именем, ошибка ", GetLastError() );
     FileClose(fh);
                  }
     
                      
                      if (fh > 0) {

                      //Alert("Записываю тики в файл ", file_name, " !");
                      //Alert(StrToInteger(CharToStr(StringGetChar(file_name,0))));
                     
                 
                 
               
                      FileSeek(fh, 0, SEEK_END);
                      FileWrite(fh, TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS), " ", Ask, " ", Bid);
                      FileClose(fh);
                      return;

            }  
}
La esencia del problema es que el compilador me da 'MAIN' - variable no definida y

Nombre" - ¡variable no definida!

Los he declarado como Variables.mq4 ?

Si alguien puede ayudarme, le estaré muy agradecido.

Gracias de antemano por la respuesta.

Razón de la queja: