Ayuda a la codificación - página 96

 

Hola Mladen ,

Quiero hacer un seguimiento de algunas cosas en mi código, y uno de ellos es el número de operaciones abiertas con diferente número mágico y diferentes comentarios de la misma pareja por lo que estoy usando este código, algunos donde dentro del código que estoy haciendo un error como la CPU es 100% por lo que estoy tratando de mejorar mis funciones. el siguiente es uno de ellos, puede usted por favor sugieren una mejor alternativa para mi método

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}
 
MiniMe:
Hola Mladen ,

Quiero hacer un seguimiento de algunas cosas en mi código, y uno de ellos es el número de operaciones abiertas con diferente número mágico y diferentes comentarios de la misma pareja por lo que estoy usando este código, en algún lugar dentro del código que estoy haciendo un error como la CPU es 100% por lo que estoy tratando de mejorar mis funciones . el siguiente es uno de ellos, puede usted por favor sugerir una mejor alternativa para mi método

x=OrdersTotal(); xx=x; //-- Count How magic number && comment are open for the same pair for( i=0;i<x;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym /*&& OrderCloseTime()==0 */){

TemMagic= OrderMagicNumber(); TemOrdComment= OrderComment(); OrdOpenPrice= OrderOpenPrice(); OrdType= OrderType(); iSameSymTotal++; // count all oopen trades from the same Symbol for( i=0;i<xx;i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if( OrderSymbol() == Sym ){ if ( TemMagic!= OrderMagicNumber())CounTMagic++; if (TemOrdComment!= OrderComment())CounTComment++; }} }}[/PHP]

Usemos un código como este (he añadido algún comentario para aclarar qué se almacena dónde) :

[PHP] string uniques[][4]; ArrayResize(uniques,0);

//

//

// uniques[][0] -> Símbolo

// uniques[][1] -> Número mágico

// uniques[][2] -> Comentario

// uniques[][3] -> Número de ocurrencias

// necesita ser transformado a int usando StrToInt()

//

//

for( int i=Total de Pedidos()-1; i>=0; i--)

{

OrderSelect(i,SELECT_BY_POS, MODE_TRADES);

bool found=false;

for (int k=ArrayRange(uniques,0)-1; k>=0 && !found; k--)

if (OrderSymbol() == uniques[k][0] && OrderMagicNumber() == StrToInteger(uniques[k][1]) && OrderComment() == uniques[k][2]) { uniques[k][3] = StrToInteger(uniques[k][3])+1; found=true; }

if (!found)

{

k = ArrayRange(uniques,0);

ArrayResize(uniques,k+1);

uniques[k][0] = OrderSymbol();

uniques[k][1] = OrderMagicNumber();

uniques[k][2] = OrderComment();

uniques[k][3] = 1;

}

}

PD: el tamaño del array (ArrayRange(uniques,0)) es el número de combinaciones únicas de símbolo + número mágico + comentario, y uniques[nn][3] muestra el número de ocurrencias de esa combinación particular en la cola de pedidos

 

Muchas gracias Mladen ,

si quiero decir si tengo más de un comercio sería if (uniques[1][3] == 1) , ¿correcto?

pero esto no compila, ¿es porque uniques[1][3] es un array de cadenas?

Debería ser

if (StrToInteger(uniques[1][3])==1) ?

 
MiniMe:
Muchas gracias Mladen ,

si quiero decir si tengo más de un comercio sería if (uniques[1][3] == 1) , ¿correcto?

pero esto no compila, ¿es porque uniques[1][3] es un array de cadenas?

¿Debería serlo?

if (StrToInteger(uniques[1][3])==1) ?

Si, hay que convertirlo en entero primero. Pero entonces la condición sería : if (StrToInteger(uniques[1][3])>1) y sería para el segundo símbolo encontrado + número mágico + comentario combinación única

 

Hola Mladen,

Tengo este secuencial de Demark ... pero está mal en la fase de cuenta atrás.

Esta es la explicación exacta del libro de Jason Perl:

tD Setup vs. tD Sequential countdown

Una vez que el TD Setup está completo, el TD Countdown puede comenzar, desde el cierre

de la barra nueve de TD Setup (inclusive), en adelante. La distinción entre

las dos estrategias es la siguiente:

- TD Setup compara el cierre actual con el cierre correspondiente

cuatro barras antes,

Mientras que

- TD Countdown compara el cierre actual con el mínimo de dos barras

dos barras antes para una posible compra, y compara el cierre actual con el máximo dos barras antes para una posible venta.

Esta relación de precios es una distinción importante con respecto a TD Setup.

Esta relación de precios es una distinción importante con respecto a TD Setup, ya que el mercado debe

Esta relación de precios es una distinción importante con respecto a la configuración de TD, ya que el mercado debe estar en tendencia para que la cuenta atrás de TD identifique objetivamente el punto probable de agotamiento de un cambio de tendencia.

punto de agotamiento para una inversión de tendencia.

Se puede empezar a buscar la primera barra de un TD Buy Countdown

cuando un TD Buy Setup está en su lugar.

■ Para iniciar la Cuenta Atrás de Compra TD

Después de

TD Buy Setup está en su lugar, busque el inicio de un TD Buy Countdown.

Si

La barra nueve de una configuración de compra de TD también tiene un cierre menor o igual que el mínimo de las dos barras anteriores

anterior

Entonces,

La barra nueve de una configuración de compra de TD se convierte en la barra uno de una cuenta atrás de compra de TD.

Si

Esta condición no se cumple,

entonces

la barra uno de la cuenta atrás de compra de TD se pospone hasta que se cumpla, y la cuenta atrás de compra de TD

continúa hasta que haya un total de trece cierres, cada uno menor o igual que

el mínimo de dos barras anteriores.

Cuenta atrás de venta de TD

Tan pronto como se haya establecido una configuración de venta de TD, podemos empezar a buscar la primera barra de la cuenta atrás de venta de TD.

barra de una cuenta atrás de venta de TD; la barra nueve de una configuración de venta de TD también puede ser la barra

una barra de una TD Sell Countdown si satisface las siguientes condiciones.

Requisito para una cuenta atrás de venta de TD

Con la barra nueve de la Configuración de Venta TD en su lugar, debe haber un cierre mayor o igual que

igual al máximo de las dos barras anteriores.

En mi imagen se puede ver (para la cuenta atrás de venta) que la barra n°6 no tiene un cierre mayor que el máximo de dos barras anteriores.... ¡así que está mal!

Por favor, ¿puede corregir este error para la cuenta atrás de compra y venta?

Gracias de antemano

Archivos adjuntos:
 

Encontré el error (la jodida versión 500 de mt4 no crea los archivos ex4), ahora funciona. He intentado borrar el post, pero no he podido

marley60:
Hola,

Espero que me puedan ayudar con esto. Quiero que los puntos(flechas; aqua&amarillo) del indi en la ventana dos se muestren como puntos(flechas) en el cierre(o alto para señal de compra/bajo para señal de venta) en la ventana uno(la ventana del gráfico principal). Lo he intentado durante horas, pero nunca seré un codificador ;-)

 
marley60:
He encontrado el error (la jodida versión 500 de mt4 no crea los archivos ex4), ahora funciona. He intentado borrar el post, pero no he podido

No te preocupes por el post anterior

Al menos sabemos de un error más en la build 500

 

¡Hola a todos!

¡He montado un video de 3 minutos explicando mi problema en un intento de ser más conciso y punzante con la solicitud de ayuda!

¡Video:2013-06-13_1517 - Biblioteca de D.Gilberto - debe explicar claramente!

Agradecería mucho las sugerencias o la ayuda de cualquiera. Básicamente estoy queriendo averiguar lo que la barra es en el momento de cuando todos los promedios móviles se cruzan, a cuando las siguientes barras después de este, vuelve a tocar el 21 EMA - En este punto quiero que mi orden se coloca en el alto / bajo de estos rangos de barras. La orden debe ser retirada en la primera barra que cierre más allá de la EMA 60...

¡Espero que esto no sea demasiado pedir y agradecería mucho que alguna chispa brillante me echara una mano!

¡Gracias!

 

Codificadores

Me gusta esta simple estrategia basada en el RSI en la imagen (puede ser de TS)

¡Bonito y simple y sin embargo eficaz No es necesario aclarar más, una imagen vale más que mil palabras!

¿Es posible codificar estos indicadores (velas RSI y oscilador) para MT4?

Gracias

Archivos adjuntos:
 
marley60:
Encontré el error (la maldita versión 500 de mt4 no crea los archivos ex4), ahora funciona. He intentado borrar el post, pero no he podido

Marley,

Ver mi post en Metatrader errores conocidos. Yo y varios otros hemos tenido el mismo problema

Tzuman