Ayuda a la codificación - página 394

 

mladen

¿alguna sugerencia para la dll más eficiente usando microsoft visual studio?

 
Jeeves:
¿Estaría tentando a la suerte si pidiera una alerta de sonido wav. pero SÓLO cuando los cinco están 'en línea'? Elección de los usuarios de la entrada de sonido

Supongo que obtuve la respuesta que me merecía.... Llevo el tiempo suficiente en este juego como para saberlo mejor.

Todo lo que tenía que hacer era colocar mi archivo Wav. en el > opciones > caja de alerta, & trabajo hecho. Lo siento Mladen por ser tan estúpido, y el crédito a usted por obligarme a pensar en ello

 
Jeeves:
Supongo que obtuve la respuesta que me merecía.... Llevo el tiempo suficiente en este juego como para saberlo mejor. Todo lo que tenía que hacer era colocar mi archivo Wav. en el > opciones > caja de alerta, & trabajo hecho. Lo siento Mladen por ser tan estúpido, y el crédito a usted por obligarme a pensar en ello

No te preocupes

El fin de semana no es un momento para una lluvia de ideas seria

 

Hola a todos, necesito un poco de ayuda y por favor si puede alguien, ayúdeme :/

Quiero comprobar el total de mis pedidos y colorear sus fondos como pares e impares.

Como esto

Pero mi problema es la última etiqueta :/ en esta imagen, mi total de pedidos es 5 pero las etiquetas son 6 :/

Este es mi código:

int ticket1 = OrdersTotal();

int a_ticket1[];

ArrayResize( a_ticket1, ticket1 );

for (int cnt1=0;cnt1<ticket1;cnt1++)

{

if ( !OrderSelect(cnt1,SELECT_BY_POS,MODE_TRADES) ) continue;

a_ticket1[cnt1]=OrderTicket();

int orcol;

if(ExtLines<0)

{

for(orcol=0; orcol<9; orcol++)

{

string OrderNumber1 = "Orders Background " +cnt1/2+orcol;

string OrderNumbert1 = "Orders Backgrnds " +cnt1/2+orcol;

if(ObjectCreate(OrderNumber1,OBJ_LABEL,0,0,0))

{

string Ydistanc1 = 65 + (24 * cnt1);

ObjectSetText(OrderNumber1, Obg[orcol], 15, "Acc_info", Gray);

ObjectSet(OrderNumber1, OBJPROP_CORNER, 0);

ObjectSet(OrderNumber1, OBJPROP_XDISTANCE, Obgs[orcol]);

ObjectSet(OrderNumber1, OBJPROP_YDISTANCE, Ydistanc1);

}

if(ObjectCreate(OrderNumbert1,OBJ_LABEL,0,0,0))

{

string Ydistanct1 = 89 + (24 * cnt1);

ObjectSetText(OrderNumbert1, Obg[orcol], 15, "Acc_info", DarkGray);

ObjectSet(OrderNumbert1, OBJPROP_CORNER, 0);

ObjectSet(OrderNumbert1, OBJPROP_XDISTANCE, Obgs[orcol]);

ObjectSet(OrderNumbert1, OBJPROP_YDISTANCE, Ydistanct1);

}

}

}

}

Gracias de antemano y perdón por mi mal inglés

Archivos adjuntos:
 

Estimados codificadores

Necesito su ayuda

El indicador adjunto funciona bien, pero si los niveles se establecen en "0 y 100", el color en el histo (línea central) no cambia.

¿Es posible hacer que funcione también con esos niveles?

Gracias por cualquier ayuda

secretcode

Archivos adjuntos:
 
secretcode:
Estimados codificadores

Necesito su ayuda

El indicador adjunto funciona bien, pero si los niveles se fijan en "0 y 100", el color en el histo (línea central) no cambia.

¿Es posible hacer que funcione también con esos niveles?

Gracias por cualquier ayuda

código secreto

secretcode

El valor del RSX tiene que ser mayor o menor que los valores del nivel. Intenta usar 99.9999 y 0.0001 en lugar de 100 y 0

 
mladen:
secretcode El valor del RSX tiene que ser mayor o menor que los valores del nivel. Prueba a utilizar 99,9999 y 0,0001 en lugar de 100 y 0

Muchas gracias Mladen por la ayuda

Saludos cordiales,

secretcode

 

Hola Sr. Mladen, ¿cómo está? ¿Puede ayudarme, por favor?

Estoy desarrollando mi propio indicador basado en el soporte y la resistencia breackout.

Lo tengo casi listo, pero son 32 cosas que no se donde insertar en el código o escribirlo mejor.

1.- lo primero es hacer que la primera orden de compra después de la venta pinte en otro color, en este caso color Cal, y la primera de venta después de la compra en color rojo.

2.- Hacer que el indicador despliegue un Pop up con un texto para esta orden en diferente color diciendo "par .... va largo" y "par.... va corto".

3.- incluir el codigo de ese indicador de fractales en mi codigo para que todo pegue...

esto es lo que tengo hasta ahora para mi indicador

#property estricta

#property ventana_del_gráfico

#property indicator_buffers 4

#property indicator_color1 clrLime

#property indicator_color2 clrRed

#propiedad indicator_color3 clrMagenta

#propiedad indicador_color4 clrCyan

#define COMPRA 1

#define VENDER 2

doble Compra[],

Vender[],

PrimeraCompra[],

PrimeraVenta[];

int OnInit() {

SetIndexBuffer(0,PrimeraCompra);

SetIndexBuffer(1,PrimeraVenta);

SetIndexBuffer(2,Compra);

SetIndexBuffer(3,Venta);

for(int i=0; i<4; i++) {

SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}

SetIndexArrow (0,233);

SetIndexArrow (1,234);

SetIndexArrow (2,233);

SetIndexArrow (3,234);

return(INIT_SUCCEED);}

void OnDeinit(const int reason) {}

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],

const double &open[], const double &high[], const double &low[],

const double &close[], const long &tick_volume[], const long &volume[],

const int &spread[]) {

static int lastSignal=0;

for(int i=MathMin(rates_total-prev_calculated, rates_total-1); i>=0; i--) {

PrimeraCompra=PrimeraVenta=Compra=Venta=Valor_Empleo;

datetime when=Time;

int x=iBarShift(NULL,PERIOD_H1, when),

y=iBarShift(NULL,PERIOD_M15,when),

z=iBarShift(NULL,PERIOD_M5, cuando);

double srUpH1 = iCustom(NULL,PERIOD_H1, "Soporte y Resistencia (Barry)",0,x),

srDownH1 = iCustom(NULL,PERIOD_H1, "Soporte y Resistencia (Barry)",1,x),

MidH1 = (srUpH1+srDownH1)/2,

srUp15M = iCustom(NULL,PERIOD_M15, "Soporte y Resistencia (Barry)",0,y),

srDown15M = iCustom(NULL,PERIOD_M15, "Soporte y Resistencia (Barry)",1,y),

Mid15M = (srUp15M+srDown15M)/2,

srUp5M = iCustom(NULL,PERIOD_M5, "Soporte y Resistencia (Barry)",0,z),

srDown5M = iCustom(NULL,PERIOD_M5, "Soporte y Resistencia (Barry)",1,z),

Mid5M = (srUp5M+srDown5M)/2,

srUp = iCustom(NULL,0, "Soporte y Resistencia (Barry)",0,i),

srDown = iCustom(NULL,0, "Soporte y Resistencia (Barry)",1,i);

if(ClosesrUp) {

if(lastSignal==SELL) {

PrimeraCompra=PuntoBajo;

SoundAlert(when, "Buy");}

si no {

Comprar=Punto_bajo; }

lastSignal=BUY;}

if(Close>srUpH1 && Close<srDown) {

if(lastSignal==BUY) {

PrimeraVenta=Alto+Punto;

SoundAlert(when, "Sell");}

si no {

Vender=Alto+_Punto; }

últimaSeñal=Vender;}}

return(rates_total);}

void SoundAlert(datetime i, string dir) {

static datetime lastAlert=0;

if(lastAlert!=i) {

Alert(StringFormat("Señal %s en %s a %s",dir,Symbol(),TimeToStr(i));

lastAlert=i;}}

este es el código de los fractales para el soporte y la resistencia, no sé dónde introducirlo:

[TD="class: bb-bot, width: 100%"] [TD="class: bb-right-bot, width: 4"]gracias
#propiedad ventana_del_gráfico

#propiedad buffers_del_indicador 2

#propiedad color

_del_indicador1 Rojo

#propiedad color_del_indicador2 Azul

//---- buffers

double v1[];

double v2[];

double val1;

double val2;

int;

int init()

{

IndicatorBuffers(2);

//---- ajustes de

dibujo

SetIndexArrow(0, 119);

SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red)

;

SetIndexDrawBegin(0,i-1);

SetIndexBuffer(0, v1);

SetIndexLabel(0, "Resistencia")

;

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Azul)

;

SetIndexDrawBegin(1,i-1)

;

SetIndexBuffer(1, v2)

;

SetIndexLabel(1, "Soporte");

return(0);

}

int start()

{

i=Bars;

while(i>=0)

{

val1 = iFractals(

NULL

, 0,

MODE_UPPER

,i);

if (val1 > 0

)

v1=High;

else

v1 = v1;

val2 = iFractals(NULL, 0, MODE_LOWER,i);

if (val2 > 0)

v2=Low;

else

v2 = v2;

i--;

}

return(0);

}

//+------------------------------------------------------------------+

[/TD]
[/TD]

[/TR]

[TR]

 
daniel1983:
Hola Sr. Mladen, ¿cómo está? ¿Puede ayudarme, por favor?

Estoy desarrollando mi propio indicador basado en la ruptura de soportes y resistencias.

Lo tengo casi listo, pero hay 32 cosas que no se donde insertar en el código o escribirlo mejor.

1.- lo primero es hacer que la primera orden de compra después de la venta pinte en otro color, en este caso color Cal, y la primera de venta después de la compra en color rojo.

2.- Hacer que el indicador despliegue un Pop up con un texto para esta orden en diferente color diciendo "par .... va largo" y "par.... va corto".

3.- Incluir el código de ese indicador de fractales en mi código para que todo se pegue...

esto es lo que tengo hasta ahora para mi indicador

#property estricta

#property ventana_del_gráfico

#property indicator_buffers 4

#property indicator_color1 clrLime

#property indicator_color2 clrRed

#propiedad indicator_color3 clrMagenta

#propiedad indicador_color4 clrCyan

#define COMPRA 1

#define VENDER 2

doble Compra[],

Vender[],

PrimeraCompra[],

PrimeraVenta[];

int OnInit() {

SetIndexBuffer(0,PrimeraCompra);

SetIndexBuffer(1,PrimeraVenta);

SetIndexBuffer(2,Compra);

SetIndexBuffer(3,Venta);

for(int i=0; i<4; i++) {

SetIndexStyle (i,DRAW_ARROW,STYLE_SOLID,2);}

SetIndexArrow (0,233);

SetIndexArrow (1,234);

SetIndexArrow (2,233);

SetIndexArrow (3,234);

return(INIT_SUCCEED);}

void OnDeinit(const int reason) {}

int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[],

const double &open[], const double &high[], const double &low[],

const double &close[], const long &tick_volume[], const long &volume[],

const int &spread[]) {

static int lastSignal=0;

for(int i=MathMin(rates_total-prev_calculated, rates_total-1); i>=0; i--) {

PrimeraCompra=PrimeraVenta=Compra=Venta=Valor_Empleo;

datetime when=Time;

int x=iBarShift(NULL,PERIOD_H1, when),

y=iBarShift(NULL,PERIOD_M15,when),

z=iBarShift(NULL,PERIOD_M5, cuando);

double srUpH1 = iCustom(NULL,PERIOD_H1, "Soporte y Resistencia (Barry)",0,x),

srDownH1 = iCustom(NULL,PERIOD_H1, "Soporte y Resistencia (Barry)",1,x),

MidH1 = (srUpH1+srDownH1)/2,

srUp15M = iCustom(NULL,PERIOD_M15, "Soporte y Resistencia (Barry)",0,y),

srDown15M = iCustom(NULL,PERIOD_M15, "Soporte y Resistencia (Barry)",1,y),

Mid15M = (srUp15M+srDown15M)/2,

srUp5M = iCustom(NULL,PERIOD_M5, "Soporte y Resistencia (Barry)",0,z),

srDown5M = iCustom(NULL,PERIOD_M5, "Soporte y Resistencia (Barry)",1,z),

Mid5M = (srUp5M+srDown5M)/2,

srUp = iCustom(NULL,0, "Soporte y Resistencia (Barry)",0,i),

srDown = iCustom(NULL,0, "Soporte y Resistencia (Barry)",1,i);

if(ClosesrUp) {

if(lastSignal==SELL) {

PrimeraCompra=PuntoBajo;

SoundAlert(when, "Buy");}

si no {

Comprar=Punto_bajo; }

lastSignal=BUY;}

if(Close>srUpH1 && Close<srDown) {

if(lastSignal==BUY) {

PrimeraVenta=Alto+Punto;

SoundAlert(when, "Sell");}

si no {

Vender=Alto+_Punto; }

últimaSeñal=Vender;}}

return(rates_total);}

void SoundAlert(datetime i, string dir) {

static datetime lastAlert=0;

if(lastAlert!=i) {

Alert(StringFormat("Señal %s en %s a %s",dir,Symbol(),TimeToStr(i));

lastAlert=i;}}

este es el código de los fractales para el soporte y la resistencia, no sé dónde introducirlo:

[TD="class: bb-bot, width: 100%"] [TD="class: bb-right-bot, width: 4"]gracias
#propiedad ventana_del_gráfico

#propiedad buffers_del_indicador 2

#propiedad color

_del_indicador1 Rojo

#propiedad color_del_indicador2 Azul

//---- buffers

double v1[];

double v2[];

double val1;

double val2;

int;

int init()

{

IndicatorBuffers(2);

//---- ajustes de

dibujo

SetIndexArrow(0, 119);

SetIndexArrow(1, 119);

SetIndexStyle(0,DRAW_ARROW,STYLE_DOT,1,Red)

;

SetIndexDrawBegin(0,i-1);

SetIndexBuffer(0, v1);

SetIndexLabel(0, "Resistencia")

;

SetIndexStyle(1,DRAW_ARROW,STYLE_DOT,1,Azul)

;

SetIndexDrawBegin(1,i-1)

;

SetIndexBuffer(1, v2)

;

SetIndexLabel(1, "Soporte");

return(0);

}

int start()

{

i=Bars;

while(i>=0)

{

val1 = iFractals(

NULL

, 0,

MODE_UPPER

,i);

if (val1 > 0

)

v1=High;

else

v1 = v1;

val2 = iFractals(NULL, 0, MODE_LOWER,i);

if (val2 > 0)

v2=Low;

else

v2 = v2;

i--;

}

return(0);

}

//+------------------------------------------------------------------+

[/TD]
[/TD]

[/TR]

[TR]

daniel1983

puntos 2 y 3 ahora:

2. Simplemente añade Alert(t "texto a usar para la ventana emergente") para tener una alerta emergente

3. No es una buena idea - hace el código demasiado complicado y aumenta la posibilidad de que algo funcione mal

 

Estimado Mladen

¿Es posible 'añadir banda' en el indicador adjunto como en este post : https://www.mql5.com/en/forum/172894/page45

Ese indicador es de la sección de élite, pero me gusta la forma en que añadir la banda en él

Gracias por cualquier ayuda

secretcode

Archivos adjuntos:
Razón de la queja: