Ayuda a la codificación - página 280

 
rkhan1:
Mladen y Mr Tools

puedes ayudarme a hacer esta ventana indy es sep en la parte inferior.

Trend Magic_mtf.mq4

Gracias

rkhan1

Aquí tienes : trend_magic_mtf_separate.mq4

Archivos adjuntos:
 

hola Mladen

Esto tiene 1 línea mágica de tendencia, puede hacer que tenga la opción de la segunda línea mágica de tendencia en el mismo indy, como el cruce

Gracias

Archivos adjuntos:
 
rkhan1:
hola Mladen

Esto tiene 1 línea mágica de tendencia , puede hacer que tenga la opción de 2da línea mágica de tendencia en el mismo indy, como crossover

Gracias

Aquí tienes : trend_magic_mtf_separate_2.mq4

Feliz comercio

Archivos adjuntos:
 

Hola Mladen

Hay un problema

El primer gráfico , el timeframe de indy como actual

El segundo gráfico, el marco de tiempo es semanal, pero sólo 1 línea

Gracias

Archivos adjuntos:
 
mrtools:
Farhad_1, esta es una versión de WAVE PM que tengo y me funciona en la versión 646.

Gracias de nuevo Mrtools. He estado leyendo el libro pero no puedo entender lo que se supone que muestra WAVE-PM y lo que los indicadores rojos y azules se supone que significan y cómo se pueden utilizar. Si puedes, por favor, explícamelo.

Muchas gracias de antemano.

 
rkhan1:
Hola Mladen

Hay un problema

El primer gráfico, el marco de tiempo de indy como actual

El segundo gráfico, el marco de tiempo es semanal, pero sólo 1 línea

Gracias

Prueba con este.

Archivos adjuntos:
 
Farhad_1:
Gracias de nuevo Mrtools. He estado leyendo el libro pero no puedo entender lo que se supone que muestra WAVE-PM y lo que se supone que significan los indicadores rojos y azules y cómo se pueden utilizar. Si puedes, por favor, explícamelo. Muchas gracias de antemano.

Farhad_1, desde mi memoria no es un indicador direccional, más bien un indicador de tendencia o no tendencia, si tanto la línea lenta como la rápida se inclinan hacia arriba entonces hay una tendencia, cuando ambas líneas se ponen alrededor del área de .7 y .9 hay una buena posibilidad de que la tendencia se detenga o termine, y alrededor del área de .3 a .5 la tendencia se reanuda o se revierte. Así que mirando al EurUsd horario ahora, la línea lenta está inclinándose hacia arriba y la línea rápida está alrededor del área de .3 y .5 pareciendo que quiere inclinarse hacia arriba también, así que cualquiera que sea la tendencia en el horario posiblemente empezará a subir pronto.

Archivos adjuntos:
wave_pm.png  56 kb
 
mrtools:
Farhad_1, desde mi memoria no es un indicador direccional, más bien un indicador de tendencia o no tendencia, si tanto las líneas lentas como las rápidas están inclinadas hacia arriba entonces hay una tendencia, cuando ambas líneas están alrededor del área de .7 y .9 hay una buena posibilidad de que la tendencia se estanque o termine, y alrededor del área de .3 a .5 la tendencia se reanuda o se invierte. Así que mirando al EurUsd horario ahora, la línea lenta está inclinándose hacia arriba y la línea rápida está alrededor del área de .3 y .5 pareciendo que quiere inclinarse hacia arriba también, así que cualquier tendencia que esté en el horario posiblemente empezará a subir pronto.

Gracias Mrtools. Se necesita un poco para acostumbrarse a este indicador

 

Funciona muy bien

Sr. Herramientas

Sr. Mladen

Os saludo a los dos por vuestro tiempo y experiencia

Saludos

 
mladen:
Puedes hacer algo como esto :
double minprice = +99999999999;

for(int i =- 0; i<ObjectsTotal(); i++)

{

string name = ObjectName(i);

if (ObjectType(name) == OBJ_HLINE) MathMin(ObjectGet(name,OBJPROP_PRICE1),minprice);

}

Hola una vez más,

Intenté usar lo anterior con un comentario pero solo mostraba el Max. ¿Puede ayudarme con dos funciones? Una que muestre la línea de precio inmediata por encima de la oferta y la segunda la línea por debajo de la oferta. Gracias.

Aquí está el código.

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

//| SimpleGrid.mq4+

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

#include

#include

#property strict

//variables exportadas

extern string GridStartingPrice = " Precio inicial para colocar las líneas ";

extern double GSP = 0.0

extern int GR = 5;

extern double GridStep = 5;

extern color CGL = Oro

extern color BGL = Verde

extern color SGL = Rojo;

extern bool ClearAllObjects = False;

// variables locales

double PipValue=1; // esta variable está aquí para soportar corredores de 5 dígitos

bool Terminated = false

string LF = "\n"; // utilícelo en bloques personalizados o de utilidad donde necesite saltos de línea

int NDigits = 4; // se utiliza principalmente para NormalizeDouble en bloques de tipo Flex

int ObjCount = 0; // cuenta todos los objetos creados en el gráfico, permite la creación de objetos con nombres únicos

int current = 0;

int init()

{

NDigits = Dígitos;

if (false) ObjectsDeleteAll(); // borrar el gráfico

Comment(""); // borrar el gráfico

return(0);

}

// Inicio del experto

int inicio()

{

si (Bares < 10)

{

Comentario("No hay suficientes barras");

return (0);

}

if (Terminado == true)

{

Comment("EA Terminado");

return (0);

}

OnEveryTick7();

return (0);

}

void OnEveryTick7()

{

PipValue = 1;

if (NDigits == 3 | NDigits == 5) PipValue = 10;

CentreGridLine();

}

void CentreGridLine()

{ si (ObjectFind("CGL") == (-1) )

{

{

string objName = "CGL" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0],GSP);

ObjectSet(objName, OBJPROP_PRICE1, GSP);

ObjectSet(objName, OBJPROP_COLOR,CGL);

}

TradeLine();

UprBnd();

LwrBnd();

}

}

void TradeLine()

{

int i

double GridStep1= (GridStep*2);

double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;

double SGSP= (GSP-((GridStep/2)*PipValue*Point))

double BBGSP= (BGSP-((GridStep*(GR))*PipValue*Point)) ;

doble SSGSP= (SGSP+((GridStep*(GR))*ValorPip*Punto));

{

for(i=0; i<GR;i++)

{

SGL("Vender "+i,BBGSP+GridStep1*i*PipValue*Point);

}

}

{

for(i=0; i<GR;i++)

{

BGL("Comprar "+i,SSGSP-GridStep1*i*PipValue*Point);

}

}

}

void BGL(string objName, double price)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, price);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, BGL);

}

void SGL(string objName, double price)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, price);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, SGL);

}

void UprBnd()

{ if (ObjectFind("UPRBND") == (-1) )

{

double BGSP= (GSP+((GridStep/2)*PipValue*Point)) ;

double price= (BGSP+((GridStep*(GR))*PipValue*Point)) ;

string objName = "UPRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );

ObjectSet(objName, OBJPROP_PRICE1,price);

ObjectSet(objName, OBJPROP_COLOR, DodgerBlue);

ObjectSet(objName, OBJPROP_WIDTH,3);

}

}

void LwrBnd()

{ if (ObjectFind("LWRBND") == (-1) )

{

double SGSP= (GSP-((GridStep/2)*PipValue*Point));

double price= (SGSP-((GridStep*(GR))*PipValue*Point));

string objName = "LWRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Time[0], price );

ObjectSet(objName, OBJPROP_PRICE1,price);

ObjectSet(objName, OBJPROP_COLOR, Tomate);

ObjectSet(objName, OBJPROP_WIDTH, 3);

}

}

int deinit()

{

if (ClearAllObjects) ObjectsDeleteAll();

return (0);

}

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