#define HR0900 14400//All times were changed for the test to see which is the Reference.#define HR1500 10800#define HR1900 7200#define HR2300 3600externstring Heures="11:41;11:42;12:00;11:42;"; // Times for my test today...string HeureSH[];
datetime TC = TimeCurrent();
int times[]={HR1500, HR2300, HR0900, HR1900};
for(int k=0; k<ArraySize(HeureSH); k++)
{
datetime want= TC - times[k];
}
int iBar= iBarShift(Symbol(), PERIOD_H1, want);
double OpenPrice= iOpen(Symbol(), PERIOD_H1, iBar);
Apenas um de #define é considerado. O Array HeureSH[] é executado corretamente e, se o tempo de chegada chegar, é verdade, é correto, isto é apenas vezes[k] não considere todos os quatro #define.
Somente um de #define é considerado. O Array HeureSH[] é executado corretamente e, se o tempo de chegada chegar, é verdade, é correto, isto é apenas vezes[k] não considerar todos os quatro #define.
O problema é bastante óbvio . . .
string HeureSH[];
então esta matriz tem um tamanho 0 como você declarou dessa forma . . . então esta malha . . .
for(int k=0; k < ArraySize(HeureSH); k++)
começa em 0 e termina quando k >= 0 ( sendo 0 o tamanho da matriz )
Eu acho que você precisa fazer alguma manipulação de cordas, você precisa quebrar suas cordas em horários individuais, converter cada uma delas em uma data e armazená-las em seu HeureSH[] array . . trabalhar com cordas desta forma pode ser um pouco complicado, não é difícil comprar fácil de estragar. Então seu código pode começar a fazer um pouco de sentido . .
A propósito, estas são as funções das cordas com as quais você tem que trabalhar, estudá-las cuidadosamente, aproveitá-las.
O código que você mostrou resultará no que eu descrevi, se você tiver mais código que tenha um impacto na pergunta que você está fazendo, então você precisa mostrá-lo . . . . ou não mostrá-lo se você não precisar mais de ajuda.
Então, por exemplo, quando são 09:00, o iBar é o bar de ontem 23:00, 10 horas a menos que o TimeCurrent. Quando são 15:00, o iBar é o bar de hoje 09:00, ....... O que eu quero: Se chegar a hora selecionada, ter uma barra de referência que seja antes de Agora (TimeCurrent). Meu problema é que o programa só leva o último item de "tempos[]" nenhum outro. Eu quero se HeureSH[0], usar times[0] e continuar. O que eu posso fazer?
Você não facilita a ajuda de ninguém, você afixa pedaços de seu código aqui e ali . . estou tentando entender seu código, não posso executá-lo para ver o que ele faz, pois não tenho o código completo, você tem uma função com o mesmo nome de sua matriz, tudo bem, mas isso não ajuda na legibilidade.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Ok, ok, eu lhe dou isso:
Apenas um de #define é considerado. O Array HeureSH[] é executado corretamente e, se o tempo de chegada chegar, é verdade, é correto, isto é apenas vezes[k] não considere todos os quatro #define.Ok, ok, eu lhe dou isso:
Somente um de #define é considerado. O Array HeureSH[] é executado corretamente e, se o tempo de chegada chegar, é verdade, é correto, isto é apenas vezes[k] não considerar todos os quatro #define.O problema é bastante óbvio . . .
string HeureSH[];então esta matriz tem um tamanho 0 como você declarou dessa forma . . . então esta malha . . .
começa em 0 e termina quando k >= 0 ( sendo 0 o tamanho da matriz )
Certo, eu agitei porque eu pensei:
Certo, eu agitei porque eu pensei:
A propósito, estas são as funções das cordas com as quais você tem que trabalhar, estudá-las cuidadosamente, aproveitá-las.
Hi
Eu trabalho sobre isso, mas não entendo isso:
O problema é bastante óbvio . . .
então esta matriz tem um tamanho de 0 como você declarou dessa forma . . . então este loop . .
começa em 0 e termina quando k >= 0 ( sendo 0 o tamanho da matriz )
Você pode tentar me dizer com mais detalhes?
Para a HeureSH[] eu usei linhas para cortar isto em 4 cordas para ter 4 horas diferentes.
Edite novamente:
Apontei o ArraySize(HeureSH) em uma função de impressão e ele me deu: 4
2013.01.19 13:57:21 2012.11.19 19:00 Tester EURUSD,H1: Aberto:1.27701 ArraySise=4
testei novamente e selecionei apenas o último destes:
Portanto, o último "14400". Por que ele não seleciona outros na mesma ordem do Array "HeureSH[]" ?
Há algum problema com o ciclo "Para"?Hi
Eu trabalho sobre isso, mas não entendo isso:
Você pode tentar me dizer com mais detalhes?
Para a HeureSH[] eu usei linhas para cortar isto em 4 cordas para ter 4 horas diferentes.
Edite novamente:
Eu escrevi ArraySize(HeureSH) em uma função de impressão e ele me deu: 4
2013.01.19 13:57:21 2012.11.19 19:00 Tester EURUSD,H1: Aberto:1.27701 ArraySise=4
Ok ok, desculpe.
Então, por exemplo, quando são 09:00, o iBar é o bar de ontem 23:00, 10 horas a menos que o TimeCurrent. Quando são 15:00, o iBar é o bar de hoje 09:00, ....... O que eu quero: Se chegar a hora selecionada, ter uma barra de referência que seja antes de Agora (TimeCurrent). Meu problema é que o programa só leva o último item de "tempos[]" nenhum outro. Eu quero se HeureSH[0], usar times[0] e continuar. O que eu posso fazer?
PS: é tudo o que tenho e preciso.
Hi,
oh, alguém pode me ajudar?
Hi,
oh, alguém pode me ajudar?
Você não facilita a ajuda de ninguém, você afixa pedaços de seu código aqui e ali . . estou tentando entender seu código, não posso executá-lo para ver o que ele faz, pois não tenho o código completo, você tem uma função com o mesmo nome de sua matriz, tudo bem, mas isso não ajuda na legibilidade.
Quando o UpdateHSeSpeciales() é chamado de ?
Desculpe, realmente,
Eu só tenho isso, mas é verdade, esqueci "UpdateHSeSpeciales".
É chamado de "init" quando o programa começa.