[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 550
Bom dia, caros amigos. Por favor, informe um iniciante em que direção cavar. O problema não está resolvido. O resultado final é este:
No H4, a barra quebra a barra de baixo para cima, onde ela realmente fecha e esta é uma condição de compra. Nós compramos. Agora devemos pegar alguns pontos, ou aproximadamente dez, para fechar (tudo era simples e claro para mim até este momento) e ir fumar até o próximo bar (isto não funciona). Assim que uma ordem é fechada, uma nova ordem é aberta (a condição ainda é cumprida), como evitar a negociação até o próximo bar?
A solução parece ser simples, sinto que está perto de mim, mas me falta conhecimento (ou cérebro)). Devo admitir que não li 549 páginas e se alguém já perguntou... Não jure muito))))
Você pode me dizer qual poderia ser o problema? A variável newlots é 0,2.
Quando eu executo um EA, Print 1 imprime primeiro uma mensagem dizendo 1 0,2, depois a condição para abrir um pedido aciona, o pedido é aberto, mas a função Print 2 que o precede não mostra a mensagem, não consigo entender porque ele é pulado, já que a condição aciona e se a função de pedido estiver aberta, a função Print deve ser fechada também. Além disso, o registro não mostra uma mensagem de que o pedido foi enviado, a mensagem padrão que foi mostrada cada vez que um pedido foi aberto.
Mas isso ainda não é o pior, o problema principal é que a variável newlots é igual a 0,2 e a ordem abre com volume 0,1, como isso é possível, já que é claramente especificado na função em vez de volume como variável newlots.
Print("1 ",newlots);
if(условие)
{
if(buytime != Time[0] && buys == 0 && sells == 0)
{
Print("2 ",newlots);
if(OrderSend(Symbol(),OP_BUY,newlots,Ask,Slippage,0,0,0,MagicNumber,0,BuyColor) > 0)
{
buytime = Time[0];
}
}
}
// пробовал даже вот так, в этом случае выводятся только первые два сообщение, причем значение выводится что newlots все таки равен 0.2, но третье сообщение
не выводится, и ордер открывается с лотом 0.1.
Print("1 ",newlots); - равен 0.2
Print("2 ",newlots); - равен 0.2
Print("3 ",newlots); - не выводится сообщение, и далее ордер открывается с лотом 0.1
Print("1 ",newlots);
if(((Ask > (MA1+3*Point*a)) && (Open[0] < (MA1+3*Point*a)) && (Ask < (MA1+5*Point*a))) || ((Low[0] < (MA1+3*Point*a)) && (Bid > (MA1+3*Point*a)) && (Bid < (MA1+5*Point*a))))
{
Print("2 ",newlots);
if(buytime != Time[0] && buys == 0 && sells == 0)
{
Print("3 ",newlots);
if(OrderSend(Symbol(),OP_BUY,newlots,Ask,Slippage,0,0,0,MagicNumber,0,BuyColor) > 0)
{
buytime = Time[0];
}
}
}
Você pode me dizer qual poderia ser o problema? A variável newlots é 0,2.
Quando eu executo um EA, Print 1 primeiro imprime uma mensagem dizendo 1 0,2, depois a condição para abrir um pedido aciona, o pedido é aberto, mas a função Print 2 antes de não mostrar a mensagem, não consigo entender porque ela é pulada uma vez que a condição aciona e se a função de pedido estiver aberta, a função Print também deve ser aberta. Além disso, o registro não mostra uma mensagem de que o pedido foi enviado, a mensagem padrão que foi mostrada cada vez que um pedido foi aberto.
Mas isso ainda não é o pior, o problema principal é que a variável newlots é igual a 0,2 e a ordem abre com volume 0,1; pode acontecer porque é claramente indicado na função em vez de volume que a variável newlots.
Onde está a abertura de uma ordem no código? Onde está OrderSend?
Nessa seção, que você mostrou, a condição não é executada, e conseqüentemente sua Impressão 2, e conseqüentemente, a OrderSend nesta condição também, não abre um pedido com lote 0,2.
Onde mais no código está a abertura do pedido? Onde mais é OrderSend?
Na seção que você mostrou, a condição não está preenchida e, portanto, sua impressão 2, e portanto o OrderSend nesta condição também não é aberto - nenhum pedido com lote 0,2 é aberto.
Você pode ajudar, lendo do arquivo, há uma linha (em geral haverá mais, mas não importa), ela faz loops, como se não visse o fim do arquivo...
int qq=0;
while (FileIsEnding(h3)==false)
{
int uu=0;
while (FileIsLineEnding(h3)==false)
{
Histxmas[qq][uu]=StrToDouble(FileReadString(h3));
Print("Histxmas[",qq,"][",uu,"]=",Histxmas[qq][uu]);
uu+;
}
FileSeek(h3,0,SEEK_END);
qq++;
Print("Бро зациклился, покажи мне кюкю",qq);
}
Bom dia, caros amigos. Por favor, informe um iniciante em que direção cavar. O problema não está resolvido. O resultado final é este:
No H4, a barra quebra a barra de baixo para cima, onde ela realmente fecha e esta é uma condição de compra. Nós compramos. Agora devemos pegar alguns pontos, ou aproximadamente dez, para fechar (tudo era simples e claro para mim até este momento) e ir fumar até o próximo bar (isto não funciona). Assim que uma ordem é fechada, uma nova ordem é aberta (a condição ainda é cumprida), como evitar a negociação até o próximo bar?
A solução parece ser simples, sinto que está perto de mim, mas me falta conhecimento (ou cérebro)). Devo admitir que não li 549 páginas e se alguém já perguntou... Não jure muito))))
Você pode me ajudar, por favor?
FAQ
Olá, ajude-me por favor, não consigo ver a coisa mais óbvia((((
double LotsAllPos(int op) {\i1}
int i;
duplo ll=0;
para (i=0; i<OrdensTotal(); i+++) {
se (OrderType()!=op) continuar;
se (OrderSymbol()!=sy) continuar;
if (OrderMagicNumber()==Magic || OrderMagicNumber()==Magic+1) ll+=OrderLots();
}
retornar(ll);
aqui eu preciso devolver o volume somado por meu símbolo e por tipo
Você pode me dizer qual poderia ser o problema? A variável newlots é 0,2.
Quando eu executo um EA, Print 1 imprime primeiro uma mensagem dizendo 1 0,2, depois a condição para abrir um pedido aciona, o pedido é aberto, mas a função Print 2 que o precede não mostra a mensagem, não consigo entender porque ele é pulado, já que a condição aciona e se a função de pedido estiver aberta, a função Print deve ser fechada também. Além disso, o registro não mostra uma mensagem de que o pedido foi enviado, a mensagem padrão que foi mostrada cada vez que um pedido foi aberto.
Mas isso ainda não é o pior, o problema principal é que a variável newlots é igual a 0,2 e a ordem abre com volume 0,1, como isso é possível, já que é claramente especificado na função em vez de volume como variável newlots.
Você pode me dizer qual poderia ser o problema? A variável newlots é 0,2.
Quando eu executo um EA, Print 1 primeiro imprime uma mensagem dizendo 1 0,2, depois a condição para abrir um pedido aciona, o pedido é aberto, mas a função Print 2 antes de não mostrar a mensagem, não consigo entender porque ela é pulada uma vez que a condição aciona e se a função de pedido estiver aberta, a função Print também deve ser aberta. Além disso, o registro não mostra uma mensagem de que o pedido foi enviado, a mensagem padrão que foi mostrada cada vez que um pedido foi aberto.
Mas isso ainda não é o pior, o problema principal é que a variável newlots é igual a 0,2 e a ordem abre com volume 0,1; pode acontecer porque é claramente indicado na função em vez de volume que a variável newlots.
Onde está a abertura de uma ordem no código? Onde está OrderSend?
Nessa seção, que você mostrou, a condição não é executada, e conseqüentemente sua Impressão 2, e conseqüentemente, a OrderSend nesta condição também, não abre um pedido com lote 0,2.
Outro OrderSend está sendo executado.
Onde mais no código está a abertura do pedido? Onde mais é OrderSend?
Na seção que você mostrou, a condição não está preenchida e, portanto, sua impressão 2, e portanto o OrderSend nesta condição também não é aberto - nenhum pedido com lote 0,2 é aberto.
Outro OrderSend é executado.
Aqui vamos nós.
Tenho apenas um pedido enviado em meu EA, a condição é cumprida e o pedido é aberto com um volume pouco claro.
Você pode me dizer, quando um EA vem com um conjunto, em que pasta eu devo colocá-lo? Obrigado.
Boa tarde!
Você pode ajudar, lendo do arquivo, há uma linha (em geral haverá mais, mas não importa), ela faz loops, como se não visse o fim do arquivo...