Ajuda na codificação - página 538

 

Eu postei no FF e agora no fórum MQL, então estou tentando minha sorte aqui.

Antes de começar, quero mencionar que não sou de forma alguma um codificador, apenas um garoto de roteiro. Consegui armazenar o preço em tempo real com timestamp em excelente qualidade. Existe uma maneira de armazenar somente quando o preço está em movimento? Porque o excel continua armazenando a cada segundo, o que significa que haverá muitos espaços vazios com o timestamp.

Enquanto estou nele, há também uma maneira de codificar para que, quando cada minuto passar, ele salte para a próxima coluna e armazene de lá? Estou usando xlsapp para codificar. Aqui está o código:

//+

//| Test1.mq4 |

+

//| Copyright 2015, MetaQuotes Software Corp. |

//| / |

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

#direitos autorais "Copyright 2015, MetaQuotes Software Corp."

#link do proprietário "https://www.mql5.com"

#propriedade versão "1.00"

#propriedade rigorosa

#incluir

string externa StartBid= "C3";

string externa StartAsk= "D3";

cadeia externa StartSpread= "F3";

corda externa StartTime="A3";

bool xlsgateok=falso;

string StrBid;

string StrAsk;

StrSpread de corda;

StrTime; string StrTime;

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

//| Função de iniciação de especialistas |

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

int OnInit()

{

StrBid=StartBid;

StrAsk=StartAsk;

StrSpread=StartSpread;

StrTime=StartTime;

if (ExcelInit("mt4") && ExcelStart(""))

{

Impressão ("XLSgate init done");

xlsgateok=verdadeiro;

Print("Office version = "+ExcelVersion()");

ExcelSheetAdd("MT4");

}

//---

return(INIT_SUCCEED);

}

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

//| Função de desinicialização especializada |

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

nulo OnDeinit(const int razão)

{

//---

}

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

//| Função de carrapato de especialista |

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

lastBid duplo=0;

duplo lastAsk=0;

int lastSpread=0;

data/hora=0;

vazio OnTick()

{

//---

if(xlsgateok && lastBid!=Bid)

ExcelSetValue(StrBid,Bid);

lastBid=Bid;

StrBid=ExcelRowAdd(StrBid,1);

if(xlsgateok && lastAsk!=Ask)

ExcelSetValue(StrAsk,Ask);

lastAsk=Ask;

StrAsk=ExcelRowAdd(StrAsk,1);

ExcelSetValue(StrSpread,(Ask-Bid)/Point);

StrSpread=ExcelRowAdd(StrSpread,1);

StrSetValue s= TimeToStr(TimeCurrent());

ExcelSetString(StrTime,s);

StrTime=ExcelRowAdd(StrTime,1);

}

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

 
mladen:
henrykfx Nunca mais serão os mesmos simplesmente porque o indicador que você postou está repintando. Eles não podem ser os mesmos

Miaden, por favor, repinte ou não, apenas me faça um favor e inclua a notificação e o alerta sonoro e me permita sofrer ou me regozijar com isso; afinal o veneno de um homem é a carne de outro homem, enquanto a carne de um homem é o veneno de outro homem. Se você puder ajudar os outros sem esforço, não vejo razões para que meu próprio caso seja um tabu. por favor, faça-o por mim mesmo que seja seu presente de Natal para mim, eu o apreciarei muito. Quanto mais você demora, mais você me nega a negociação.

 
henrykfx:
Miaden, por favor, repinte ou não, apenas me faça um favor e inclua a notificação e o alerta sonoro e me permita sofrer ou me regozijar com isso; afinal o veneno de um homem é a carne de outro homem, enquanto a carne de um homem é o veneno de outro homem. Se você puder ajudar os outros sem esforço, não vejo razões para que meu próprio caso seja um tabu. por favor, faça-o por mim mesmo que seja seu presente de Natal para mim, eu o apreciarei muito. Quanto mais você demora, mais você me nega a negociação.

Não codifico alertas para os indicadores de REPARAÇÃO. Verifique, por exemplo, este tópico : https://www.mql5.com/en/forum/180648 e veja quantas vezes me recusei a fazer isso e quantas vezes disse que usar indicadores de repintura no modo de sinalização/repinturação é muito perigoso. Portanto, você não é uma exceção, mas seu pedido é uma regra geral para mim: não quero participar de uma coisa que considero perigosa para os comerciantes.

tudo de bom

 

A última solicitação!

A todos os codificadores lá fora, mas com um agradecimento especial à mladen. Não apenas por sua codificação, mas também por seus pacientes nos muitos, e às vezes estúpidos, pedidos que tenho feito ao longo dos anos. Obrigado companheiro , ele é realmente muito apreciado .

Posso perguntar uma última coisa a vocês?

Você poderia acrescentar uma função de alerta de onda à linha de alerta LOWER no indicador 'Advanced ADX' em anexo?

Escolha do usuário de Wav. sound?

Para funcionar SOMENTE em uma barra ascendente.

Se tudo correr bem, estarei lançando meu sistema, com resultado em um futuro próximo.

Arquivos anexados:
 
Jeeves:
A todos os codificadores lá fora, mas com especial agradecimento ao mladen. Não apenas por sua codificação, mas também por seus pacientes nos muitos, e às vezes estúpidos, pedidos que tenho feito ao longo dos anos. Obrigado colega...., ele é realmente muito apreciado .

Posso perguntar uma última coisa a você?

Você poderia adicionar uma função de alerta de onda à linha de alerta LOWER no indicador 'Advanced ADX' em anexo?

Escolha do som Wav. pelo usuário?

Para funcionar SOMENTE em uma barra ascendente.

Se tudo correr bem, estarei lançando meu sistema, com resultado em um futuro próximo.

Jeeves

Será feito

 

Você é o homem meu amigo..... qualquer coisa que eu possa fazer por você, PM eu.

 
mrtools:
Olá Henrykfx, como eu disse anteriormente o indicador CROSS é um indicador cruzado EMA repintura, se você for para o link que eu forneci e baixar esse indicador e definir o MaType para EMA e o período Ma rápido para 5 e o período Ma lento para 20 então você estará obtendo valores cruzados EMA reais sem repintura das setas em uma barra fechada, e com alertas.

Ok mrtools, obrigado por seu interesse na minha situação. Agora eu consegui o que queria, mas o problema é que soa alerta e aparece no próximo bar. você pode me ajudar a consertar o bug. para que os alertas e as notificações apareçam quando e onde houver um sinal de compra ou venda.

Arquivos anexados:
 
mladen:
Eu não codifico alertas para os indicadores de REPARAÇÃO. Verifique, por exemplo, este tópico : https://www.mql5.com/en/forum/180648 e veja quantas vezes me recusei a fazer isso e quantas vezes disse que o uso de indicadores de repintura no modo de sinalização/alteração é muito perigoso. Portanto, você não é uma exceção, mas seu pedido é uma regra para mim: não quero participar de uma coisa que considero perigosa para os comerciantes, todos os melhores

Obrigado por sua resposta franca. Em minha busca incessante, tenho uma que é útil, mas que soa alerta e notificação na abertura de uma nova barra. você pode me ajudar a consertar o bug, de modo a alertar e notificar quando há sinal de COMPRA OU VENDA apenas. Obrigado por seu tempo .

Arquivos anexados:
 
henrykfx:
Obrigado por sua resposta franca. Em minha busca incessante, tenho uma que é útil, mas que soa alerta e notificação na abertura de uma nova barra. você pode me ajudar a consertar o bug, de modo a alertar e notificar quando há sinal de COMPRA OU VENDA apenas. Obrigado por seu tempo .

henrykfx

Esse indicador também usa valores futuros (repintura) - usa exatamente a mesma lógica que o anterior de que estávamos falando

tudo de bom

 
mladen:
henrykfx

Esse indicador também usa valores futuros (repintura) - usa exatamente a mesma lógica que o anterior de que estávamos falando

tudo de bom

Mladen, Você disse no outro dia que o indicador 99% não pinta de novo. Você escreve em toda parte "repintar, repintar, repintar".