[¡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 804

 
Maniac:


Aquí está el código del Asesor Experto. Es necesario:

1) abrió no una, sino tres operaciones a la vez con topes de 25 y tomas de 15, 35, 50

2) después de cerrar la segunda orden en la toma (35), la última posición (con la toma 50) se lleva al punto de equilibrio

Usas las funciones de Igor Kim... Entre toda la variedad de funciones listas
que ha puesto a disposición de todos, ¿no has encontrado la forma de resolver tu "problema"?
Créanme que están ahí e incluso son suficientes...
Es un buen lugar para empezar a aprender...
También - lea esta sección del tutorial de IC - describe bien cómo estructurar su código y dividirlo en bloques de código lógicamente estructurados,
Cada bloque tiene su propia función dentro del Asesor Experto...
Lo tienes todo en una pila... :)
En mi opinión, por supuesto... :)
 
Esa es una gran manera de hacer bailar a una chica... <:-О ...
Hay una posición de compra con el billete 88. ¡¡¡Hay una orden pendiente de SellStop con el ticket 89
Cuando la orden pendiente de SellStop se convierte en orden de mercado, el ticket de venta de mercado también se convierte en 89,
pero el ticket de posición de compra (88) ESTARÁ EN EL HISTORIAL!!! ¿Cómo puede ser esto - no está cerrado y está en el mercado !!! ??????????????
Por ejemplo, al comprobar:
if (OrderSelect(CurTicB,SELECT_BY_TICKET,MODE_HISTORY)) // CurTicB равен тикету позы, т.е. 88
   {
      if (OrderType()==OP_BUY)
          {
              Print("Поза Buy с тикетом ",CurTicB," отошла, блин в мир иной, сволочь!!!",", и типчик у неё = ",OrderType());
              SaveCurB = false;   
          }
      else if (OrderType()==OP_BUYSTOP) Print("Поза Buy с тикетом ",CurTicB," отошла, блин в мир иной, сволочь!!!",", а типчик у неё = ",OrderType());
   }

... dice en mi diario:

2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5: La posición de compra con el ticket 88 se ha ido al otro mundo, ¡¡¡el muy cabrón!!!, y su tipo = 0

Y se siente muy bien en el mercado al mismo tiempo... ¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!! ?????????
¿Puede alguien indicarme algo para que pueda ver por dónde va... ...y cómo afrontarlo... Este es el tercer día que me hace enojar...

( Por eso mis expresiones en el diario del probador son más fuertes que las que he corregido aquí... :)) )

Gracias...

 
artmedia70:
Esa es una gran manera de hacer bailar a una chica... <:-О ...
Hay una posición de compra con el billete 88. Hay una orden pendiente de SellStop con el ticket 89
Al transformar un SellStop pendiente en uno de mercado, el ticket de la venta de mercado se convierte también en 89,
¡PERO EL BILLETE DE COMPRA DE POSICIÓN (88) ENTRA EN LA HISTORIA! ¿Cómo puede ser esto - porque no está cerrado y está en el mercado !!! ??????????????
Es decir, al comprobarlo:

... dice en mi diario:

2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5: La pose de compra con el ticket 88 se ha ido al otro mundo, ¡¡¡cabrón!!!, y su tipo = 0

Y se siente bien en el mercado mientras tanto... ¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!! ?????????
¿Puede alguien indicarme algo para que pueda ver por dónde va... ...y cómo afrontarlo... Este es el tercer día que me hace enojar...

( Por eso mis expresiones en el diario del probador serán más fuertes que las que corregí aquí... :)) )

Gracias...


¡El probador es impecable!

Como todo el código y la usabilidad MetaQuotes Software Corp ...

De lo contrario, es una prohibición.

Busque lo torcido en los microprogramas y en usted mismo.

;)

 

Estoy empezando a creer en los bichos...

La posición de compra se cerró de golpe en el nivel de Take Profit de una posición de venta ya cerrada:


No hay parada en la posición de compra, y ¡bam!... y cerrado y así
interesante - justo en el nivel de la toma de la posición de venta ya cerrada ...

Parece que... hay un muerto viviente en mi piso... o necesito dormir más... :)

¿Alguien ha tenido un lío así?

No sé...

 
FreeLance:

¡El probador es impecable!

Así es todo el código y la usabilidad de MetaQuotes Software Corp ...

De lo contrario, está prohibido.

Busque lo torcido en los microprogramas y en usted mismo.

;)

Una respuesta muy informativa... arco bajo... Me inclino y con las manos torcidas dejo caer las ollas de los estantes... ¿No hay astillas? ;)
 
artmedia70:
Una respuesta muy informativa... inclínate... Me inclino y con mis manos torcidas dejo caer las ollas de los estantes. ¿Te has clavado alguna astilla? ;)

No, por supuesto, ¡el rocío de Dios! $)

y sólo estás empezando...

;)

 
artmedia70:
Esa es una gran manera de hacer bailar a una chica... <:-О ...
Hay una posición de compra con el billete 88. Hay una orden pendiente de SellStop con el ticket 89
Al transformar un SellStop pendiente en uno de mercado, el ticket de la venta de mercado se convierte también en 89,
¡PERO EL BILLETE DE COMPRA DE POSICIÓN (88) ENTRA EN LA HISTORIA! ¿Cómo puede ser esto - porque no está cerrado y está en el mercado !!! ??????????????
Es decir, al comprobarlo:

... dice en mi diario:

2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5: La pose de compra con el ticket 88 se ha ido al otro mundo, ¡¡¡cabrón!!!, y su tipo = 0

Y está haciendo un muy buen trabajo en el mercado en ese momento... ¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!! ?????????
Puede alguien hurgar en algo para que pueda ver dónde está el problema... ...y cómo afrontarlo... Este es el tercer día que me hace enojar...

( Por eso mis expresiones en el diario del probador serán más fuertes que las que corregí aquí... :)) )

Gracias...

Le sugiero que lea detenidamente la descripción de la función OrderSelect().

El parámetro pool se ignora si el pedido se selecciona mediante el número de ticket

 
artmedia70:

Estoy empezando a creer en los bichos...

La posición de compra se cerró de golpe en el nivel de Take Profit de una posición de venta ya cerrada:


No hay ningún stop en la posición de compra, pero se ha cerrado... y cerrado y así
interesante - justo en el nivel de tomar la posición de venta ya cerrada ...

Parece que... hay un muerto viviente en mi piso... o necesito dormir más... :)

¿Quién ha tenido semejante lío?

No sé...

Es difícil saber qué tienes ahí. No veo que "La posición de compra se cerró repentinamente en el nivel de TakeProfit de una posición de venta ya cerrada". Esa Venda, bajo la que se dibuja la flecha, no parece contener ningún guión.

¿No utiliza OrderCloseBy() en su código?

 
double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,1,0);//calcular el indicador de línea superior
double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0);//calcular indicador de línea superior//
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,2,0);//calcular indicador de línea inferior//
//---------------------------------------------------------------------------------------------------------------//
double slb,tpb,sls,tps; //Variables de entrada para Stop Loss y Take Profit////
//La función comprueba la presencia de pedidos // // //
// //
slb=NormalizeDouble(Ask - (Loss*Point),Digits) ; //calcular stop para posiciones de compra //
tpb=NormalizeDouble(Ask + (Profit*Point),Digits); //calcular el beneficio para las posiciones de compra////////////
sls=NormalizeDouble(Oferta + (Pérdida*Punto),Dígitos) ; //calcular el stop para posiciones de venta//
tps=NormalizarDoble(Oferta - (Beneficio*Punto),Dígitos);
if(PedidosTotal()==0)
{
if(((verhB-nizB)<=Delta)&&(Ask==seredina))

tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE); //Entrada de compra//
if(tick<0) Print("Error # - ",GetLastError());

tick2=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE); //Input sat
if(tick2<0) Print("Error # - ",GetLastError()); //escribir error//
} // // // //
return(0);}



Dime cuál es el error, sólo se abre.

El significado del Asesor Experto es que pondría dos colgantes a una cierta distancia del límite superior e inferior de Bollinger

 

¿y cuál es el error?

podría ser porque el valor de Raznica está cerca del valor de stoplevel

y/o la diferencia Raznica - Beneficio (Raznica - Pérdida) también se aproxima al valor del nivel de la estufa...

además, si se normaliza, se normaliza todo... y se calculan correctamente los niveles de parada

slb=NormalizarDoble(Oferta - (Pérdida*Punto), Dígitos) ; //calcular stop para posiciones de compra//
sls=NormalizarDoble(Oferta + (Pérdida*Punto),Dígitos) ; //calcular stop para posiciones de venta//

además de los valores de parada obtenidos, se debe comprobar que están fuera de la zona de stoplevale/freezelevale