Escribió un asesor, hay un problema. - página 2

 
Noterday >> :
Ya lo he puesto a 100, pero me sigue dando un error de 130. ¿Qué búfer en zigzag debo utilizar? ¿ZigzagBuffer? ¿O debo utilizar HighMapBuffer y LowMapBuffer? Oh, tío. El código debería ser sencillo, pero nadie puede decirme nada parecido .....

si lo comparas con high, debe ser HighMapBuffer

 

De acuerdo. Gracias por las respuestas) Una vez más describiré lo que necesito, si alguien tiene algo que decir...

Cómo hacerlo: necesito que una determinada acción. Cuando ZZ establece su punto en la barra Ihigh o Ilow, no importa si lo redibuja después o no. ¿Cómo lo hago? ¿Supongo que la propia línea ZZ está contenida en ZigzagBuffer? ¿O tengo que usar HighMapBuffer y LowMapBuffer en ZZ ?


 
Noterday >> :

Entonces, ¿nadie puede ayudar?) Específicamente, necesito hacer esto: si la línea de zigzag dibujada a ALTO o BAJO, entonces necesito abrir una posición (si ALTO, entonces vender, y si el BAJO, entonces comprar), y no importa si el redibujo el zigzag o no. Aquí hay un código de ejemplo, corrígeme si estoy haciendo algo mal porque el probador sigue mostrando el error 130 de ordersend:



Yo haría lo siguiente:

int barras_contadas=IndicadorContado();

int i=Barras=barras_contabilizadas-1;

while(i>=0){

double ZZ_1 = iCustom(NULL,0, "ZigZag",0,0,1);

if (ZZ_1 == High[i+1]){
OrderSend(Symbol(),OP_SELL,Lot(),Bid,10,ZZ_1+(10*Point),Bid-(10*Point), "SELL",0,0,Red);

}
si (ZZ_1 ==Low[i+1] ){
OrderSend(Symbol(),OP_BUY,Lot(),Ask,10,ZZ_1-(10*Point),Ask+(10*Point), "BUY",0,0,Blue);

}

 
Noterday >> :

Entonces, ¿nadie puede ayudar?) Específicamente, necesito hacer esto: si la línea de zigzag dibujada a ALTO o BAJO, entonces necesito abrir una posición (si el ALTO - vender, y si el BAJO - comprar), y no importa si el redibujar el zigzag o no. Este es un código de ejemplo, corregidme si estoy haciendo algo mal porque el probador sigue mostrando el error 130 de ordersend:



>> Sí. Indique el período del indicador.
 
Noterday >> :

Entonces, ¿nadie puede ayudar?) Específicamente, necesito hacer esto: si la línea de zigzag dibujada a ALTO o BAJO, entonces necesito abrir una posición (si el ALTO - vender, y si el BAJO - comprar), y no importa si el redibujar el zigzag o no. Este es un código de ejemplo, corregidme si estoy haciendo algo mal porque el probador sigue mostrando el error 130 de ordersend:


Corregido:


int barras_contadas=IndicadorContado();

int i=Barras=barras_contabilizadas-1;

while(i>=0){

double ZZ_1 = iCustom(NULL,0, "ZigZag",0,0,i+1); // si se necesita la barra anterior

if (ZZ_1 == High[i+1]){
OrderSend(Symbol(),OP_SELL,Lot(),Bid,10,ZZ_1+(10*Point),Bid-(10*Point), "SELL",0,0,Red);

}
si (ZZ_1 ==Low[i+1] ){
OrderSend(Symbol(),OP_BUY,Lot(),Ask,10,ZZ_1-(10*Point),Ask+(10*Point), "BUY",0,0,Blue);

}
 
Nada funcionó :( Sólo hubo un error de envío de órdenes 130. Aunque intenté poner un stop de 200 pips :)
 

Incluso eso no ayuda... hay algo en esto que no me gusta. De acuerdo, lo investigaré. ¡¡¡¡GRACIAS A TODOS!!!! :)


 

o tal vez usted está recibiendo Magic Number=0

 

Nunca he jurado antes... Creo que es un parámetro opcional, sobre todo porque el error 130 indica una parada incorrecta...


Estaba pensando... ¿tal vez hay algo mal con mis cotizaciones y no puede obtener los precios correctos? ¿Por qué iba a pensar eso? Porque no puedo desplazarme más allá del 1 de septiembre de 2009. Tengo activadas las 2000000 barras en la configuración.


Me gustaría probarlo con mi propio EA.

 

en cuanto a sigzag, intente ejecutar el siguiente código en el probador con la velocidad ajustada al mínimo y lanzar el indicador en el gráfico y utilizar F12 para ver lo que sucede con los dígitos

en la esquina superior izquierda espero que puedas entender mis ideas sobre cómo usar esto

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
double UP, DN;
int start()
  {
//----
double Buf_0 = iCustom(NULL, 0, "ZigZag", 0, 0);
double Buf_UP = iCustom(NULL, 0, "ZigZag", 1, 0);
double Buf_DN = iCustom(NULL, 0, "ZigZag", 2, 0);
if( Buf_UP != 0)  UP =  Buf_UP; // последние значение вершинки
if( Buf_DN != 0)  DN =  Buf_DN; // последние значение донышка
Comment("Буфер №0: ", Buf_0, "\n", "Буфер №1: ", UP, "\n", "Буфер №2: ", DN);
//----
   return(0);
  }
//+------------------------------------------------------------------+
Razón de la queja: