Ajuda na codificação - página 280

 
rkhan1:
Mladen e Sr. Tools

você pode me ajudar a fazer com que este indy seja uma janela separada no fundo.

Tendência Magic_mtf.mq4

Obrigado

rkhan1

Aqui está : trend_magic_mtf_separate.mq4

Arquivos anexados:
 

oi Mladen

Isto tem 1 linha mágica de tendência, você pode fazer com que você tenha a opção de 2ª linha mágica de tendência no mesmo corante, como o crossover

Obrigado

Arquivos anexados:
 
rkhan1:
oi Mladen

Isto tem 1 linha mágica de tendência, você pode fazer com que você tenha a opção de 2ª linha mágica de tendência no mesmo corante, como o crossover

Obrigado

Aqui está : trend_magic_mtf_separate_2.mq4

Feliz negociação

Arquivos anexados:
 

Olá Mladen

Há um problema

O primeiro gráfico, o período de tempo do indy como atual

O segundo gráfico , o cronograma é semanal, mas apenas 1 linha

Obrigado

Arquivos anexados:
 
mrtools:
Farhad_1, esta é uma versão da WAVE-PM que eu tenho e que está trabalhando na construção da 646 para mim.

Mais uma vez obrigado Mrtools. Tenho lido o livro, mas não consigo entender o que WAVE-PM deve mostrar e o que os indicadores vermelho e azul devem significar e como eles podem ser usados. Se você puder, por favor, me explique.

Muito obrigado de antemão.

 
rkhan1:
Oi Mladen

Há um problema

O primeiro gráfico , o período de tempo do indy como atual

O segundo gráfico , o cronograma é semanal, mas apenas 1 linha

Obrigado

Experimente este aqui.

Arquivos anexados:
 
Farhad_1:
Mais uma vez, obrigado Mrtools. Tenho lido o livro, mas não consigo entender o que WAVE-PM deve mostrar e o que os indicadores vermelho e azul devem significar e como eles podem ser usados. Se você puder, por favor, explique-me. Muito obrigado com antecedência.

Farhad_1, de minha memória não é um indicador direcional, mais uma tendência ou nenhum indicador de tendência, se tanto as linhas lentas quanto as rápidas estão inclinadas para cima então há uma tendência, quando ambas as linhas ficam em torno de .7 e .9 de área há uma boa chance da tendência parar ou terminar, e em torno de .3 a .5 de tendência de área ou retomar ou reverter. Olhando agora para EurUsd de hora em hora, a linha lenta está inclinada para cima e a linha rápida está em torno da área de .3 e .5 parecendo querer subir também, portanto, qualquer que seja a tendência de hora em hora, possivelmente começará de novo em breve.

Arquivos anexados:
wave_pm.png  56 kb
 
mrtools:
Farhad_1, de minha memória não é um indicador direcional, mais uma tendência ou nenhum indicador de tendência, se tanto as linhas lentas quanto as rápidas estão inclinadas para cima então há uma tendência, quando ambas as linhas ficam em torno de .7 e .9 de área há uma boa chance da tendência parar ou terminar, e em torno de .3 a .5 de tendência de área ou retomar ou reverter. Olhando agora para EurUsd de hora em hora, a linha lenta está inclinada para cima e a linha rápida está em torno da área de .3 e .5 parecendo querer subir também, portanto, qualquer que seja a tendência de hora em hora, possivelmente começará de novo em breve.

Obrigado Mrtools. É preciso um pouco para se acostumar a este indicador

 

Funciona bem

Sr. Ferramentas

Sr. Mladen

Eu saúdo vocês dois por seu tempo e experiência

Cumprimentos

 
mladen:
Você pode fazer um somersetting como este :
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);

}

Olá, mais uma vez,

Eu tentei usar o acima com um comentário, mas ele estava exibindo apenas o Max. Você pode ajudar com talvez duas funções . Uma exibindo o preço imediato da linha acima de Bid e a segunda, a linha abaixo de Bid . Obrigado.

Aqui está o código.

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

//| SimpleGrid.mq4+

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

#incluir

#incluir

#propriedade rigorosa

// variáveis exportadas

preço de início de rede externo = " Preço inicial para colocar as linhas ";

GSP duplo externo = 0,0;

GR int externo = 5;

duplo GSP externo = 5;

CGL de cor externa = Ouro;

cor externa BGL = Verde;

cor externa SGL = Vermelho;

bool externo ClearAllObjects = Falso;

// variáveis locais

valor duplo PipValue=1; // esta variável está aqui para suportar corretores de 5 dígitos

bool Terminado = falso;

string LF = "\n"; // use isto em blocos personalizados ou utilitários onde você precisa de linhas de alimentação

int NDigits = 4; // usado principalmente para NormalizeDouble em blocos tipo Flex

int ObjCount = 0; // contagem de todos os objetos criados no gráfico, permite a criação de objetos com nomes únicos

corrente int = 0;

int init()

{

NDígitos = Dígitos;

se (falso) ObjetosDeleteAll(); // limpar o gráfico

Comentário(""); // limpar o gráfico

retorno(0);

}

// Início especializado

int start()

{

se (Barras < 10)

{

Comentário ("Não há barras suficientes");

retornar (0);

}

se (Encerrado == verdadeiro)

{

Comentário ("EA Terminado");

retorno (0);

}

OnEveryTick7();

retornar (0);

}

nulo emEveryTick7()

{

PipValue = 1;

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

CentreGridLine();

}

CentroVálidoGridLine()

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

{

{

objName da cadeia = "CGL" ;

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

ObjectSet(objName, OBJPROP_PRICE1, GSP);

ObjectSet(objName, OBJPROP_COLOR,CGL);

}

TradeLine();

UprBnd();

LwrBnd();

}

}

TradeLine() nulo

{

int i;

double GridStep1= (GridStep*2);

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

duplo SGSP= (GSP-((GridStep/2)*PipValue*Ponto));

duplo BBGSP= (BGSP-((GridStep*(GR))*PipValue*Ponto)) ;

duplo SSGSP= (SGSP+((GridStep*(GR))*PipValue*Ponto));

{

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

{

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

}

}

{

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

{

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

}

}

}

BGL(string objName, preço duplo)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, preço);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, BGL);

}

nulo SGL(string objName, preço duplo)

{

ObjectCreate(objName, OBJ_HLINE, 0, 0, preço);

ObjectSet(objName, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(objName, OBJPROP_WIDTH, 1);

ObjectSet(objName, OBJPROP_COLOR, SGL);

}

UprBnd() vazio

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

{

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

duplo preço= (BGSP+((GridStep*(GR))*PipValue*Ponto)) ;

string objName = "UPRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Tempo[0], preço );

ObjectSet(objName, OBJPROP_PRICE1,price);

ObjectSet(objName, OBJPROP_COLOR, DodgerBlue);

ObjectSet(objName, OBJPROP_WIDTH,3);

}

}

LwrBnd() vazio

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

{

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

duplo preço= (SGSP-((GridStep*(GR))*PipValue*Ponto));

string objName = "LWRBND" ;

ObjectCreate(objName, OBJ_HLINE, 0, Tempo[0], preço );

ObjectSet(objName, OBJPROP_PRICE1,price);

ObjectSet(objName, OBJPROP_COLOR, Tomate);

ObjectSet(objName, OBJPROP_WIDTH, 3);

}

}

int deinit()

{

se (ClearAllObjects) ObjectsDeleteAll();

retornar (0);

}

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

Razão: