[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 189
Necessidade de conhecer o menor e o maior fractal para os últimos n bares, o que há de errado aqui? Por favor, ajude!
for (ii = 0; ii = n; ii++) { i = iFractals(NULL, 0, MODE_LOWER, ii); if (i < StopLos_L) StopLos_L = i; i = iFractals(NULL, 0, MODE_UPPER, ii); if (i > StopLos_H) StopLos_H = i; }
Decidi tomar o que pensava ser um caminho mais simples.
Não para apagar a ordem pendente - mas para colocar uma ordem pendente somente se uma vela de cinco minutos não tiver terminado
Ou seja, o pedido pendente deve ser feito somente quando duas condições forem cumpridas. Se a primeira condição for cumprida
- Eu verifiquei, o pedido está pronto.
É claro que é porque esta condição é SEMPRE verdadeira, simplesmente não pode ser falsa. Simplesmente não pode ser falso, pois significa que a barra zero existe de forma alguma.
Como devemos definir a segunda condição, ou seja, a ordem pendente é definida apenas se não tiverem decorrido 5 minutos. se (---------- && ?????????)
Por favor, indique claramente a condição em palavras. Ainda não está claro se você quer colocar a ordem pendente no início de um novo castiçal ou o quê?
Necessidade de conhecer o menor e o maior fractal para os últimos n bares, o que há de errado aqui? Por favor, ajude!
for (ii = 0; ii = n; ii++) { i = iFractals(NULL, 0, MODE_LOWER, ii); if (i < StopLos_L) StopLos_L = i; i = iFractals(NULL, 0, MODE_UPPER, ii); if (i > StopLos_H) StopLos_H = i; }
como é declarada a variável i, podemos dar uma olhada?
Claro que é, porque esta condição é SEMPRE verdadeira, simplesmente não pode ser falsa. Como isso significa que a barra zero existe de forma alguma.
Por favor, indique claramente a condição em palavras. Ainda não está claro, você quer colocar o pedido pendente no início de um novo castiçal ou o quê?
Desculpe, estou um pouco confuso. Neste caso eu não deveria colocar uma ordem pendente, mas uma ordem de mercado na Open[0]+30 pips.
Mas só devemos estabelecer a ordem do mercado desde o início da formação de uma vela zero até a próxima seguinte.
Isto é, não estabelecer uma ordem de mercado dentro de 5 minutos, de acordo com minha idéia, é equivalente ao cancelamento de uma ordem pendente se ela não for aberta dentro de 5 minutos.
Como devo escrever a segunda condição?
E eu defini corretamente o preço de abertura da ordem de mercado?
Obrigado.
int start()
{
double Price=Open[0]+300*Point;
double SL=Price-300*Point;
double TP=Price+150*Point;
if (Time[0]&& ???????)
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Price,3,SL,TP );
Desculpe, estou um pouco confuso. Neste caso eu não deveria estabelecer uma ordem pendente, mas uma ordem de mercado em Open[0]+30 pips.
Mas só devemos estabelecer a ordem do mercado desde o início de uma vela zero até a próxima seguinte.
Isto é, não estabelecer uma ordem de mercado dentro de 5 minutos, de acordo com minha idéia, é equivalente ao cancelamento de uma ordem pendente se ela não for aberta dentro de 5 minutos.
Como devo escrever a segunda condição?
E eu defini corretamente o preço de abertura da ordem de mercado?
Obrigado.
Pronto, já o tenho. Se o preço da barra atual atingir Open[0] + 30, nós abrimos. Se a barra terminou, Open[0] mudou e o nível de abertura é deslocado de acordo. Deve haver apenas um comércio no mercado, certo?
Então é assim:
int start()
{
double Price=Open[0]+300*Point;
double SL=NormalizeDouble (Price-300*Point, Digits);
double TP=NormalizeDouble (Price+150*Point, Digits);
if (OrdesTotal()==0 && Close[0]>=Price)
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP );
}
Não há necessidade de rastrear a nova barra, pois quando ela for formada, o sistema automaticamente adicionará um novo valor ao Open[0] e isto significa que o novo nível será calculado corretamente. Favor observar que o negócio de COMPRA é aberto ao preço Ask atual, enquanto é fechado (TP e SL) ao preço Bid. Além disso, os valores dos preços devem ser normalizados.
Necessidade de conhecer o menor e o maior fractal para os últimos n bares, o que há de errado aqui? Por favor, ajude!
for (ii = 0; ii = n; ii++)
{
i = iFractals(NULL, 0, MODE_LOWER, ii);
if (i < StopLos_L) StopLos_L = i;
i = iFractals(NULL, 0, MODE_UPPER, ii);
if (i > StopLos_H) StopLos_H = i;
}
Decidi tomar o que pensava ser um caminho mais simples.
Não para apagar a ordem pendente - mas para colocar uma ordem pendente somente se uma vela de cinco minutos não tiver terminado
Ou seja, o pedido pendente deve ser feito somente quando duas condições forem cumpridas. Se a primeira condição for cumprida
- Eu verifiquei, o pedido está pronto.
É claro que é porque esta condição é SEMPRE verdadeira, simplesmente não pode ser falsa. Simplesmente não pode ser falso, pois significa que a barra zero existe de forma alguma.
Como devemos definir a segunda condição, ou seja, a ordem pendente é definida apenas se não tiverem decorrido 5 minutos. se (---------- && ?????????)
Necessidade de conhecer o menor e o maior fractal para os últimos n bares, o que há de errado aqui? Por favor, ajude!
for (ii = 0; ii = n; ii++)
{
i = iFractals(NULL, 0, MODE_LOWER, ii);
if (i < StopLos_L) StopLos_L = i;
i = iFractals(NULL, 0, MODE_UPPER, ii);
if (i > StopLos_H) StopLos_H = i;
}
como é declarada a variável i, podemos dar uma olhada?
a variável i como declarada, posso dar uma olhada?
int ii;
double i;
Deveria funcionar desta forma:
Deveria funcionar desta forma:
Raios, é óbvio.
alsu - muito, muito obrigado =)
Você pode
Onde posso ver como fazer isso, eu realmente preciso disso.
Você pode me dizer se é possível pintar o corpo da vela desejada na EA?
Onde posso ver como fazer isso, eu realmente preciso disso.
https://www.mql5.com/ru/code/7835 Somente ele é um indicador. Você tem que usar objetos no EA
Claro que é, porque esta condição é SEMPRE verdadeira, simplesmente não pode ser falsa. Como isso significa que a barra zero existe de forma alguma.
Por favor, indique claramente a condição em palavras. Ainda não está claro, você quer colocar o pedido pendente no início de um novo castiçal ou o quê?Desculpe, estou um pouco confuso. Neste caso eu não deveria colocar uma ordem pendente, mas uma ordem de mercado na Open[0]+30 pips.
Mas só devemos estabelecer a ordem do mercado desde o início da formação de uma vela zero até a próxima seguinte.
Isto é, não estabelecer uma ordem de mercado dentro de 5 minutos, de acordo com minha idéia, é equivalente ao cancelamento de uma ordem pendente se ela não for aberta dentro de 5 minutos.
Como devo escrever a segunda condição?
E eu defini corretamente o preço de abertura da ordem de mercado?
Obrigado.
Desculpe, estou um pouco confuso. Neste caso eu não deveria estabelecer uma ordem pendente, mas uma ordem de mercado em Open[0]+30 pips.
Mas só devemos estabelecer a ordem do mercado desde o início de uma vela zero até a próxima seguinte.
Isto é, não estabelecer uma ordem de mercado dentro de 5 minutos, de acordo com minha idéia, é equivalente ao cancelamento de uma ordem pendente se ela não for aberta dentro de 5 minutos.
Como devo escrever a segunda condição?
E eu defini corretamente o preço de abertura da ordem de mercado?
Obrigado.
Pronto, já o tenho. Se o preço da barra atual atingir Open[0] + 30, nós abrimos. Se a barra terminou, Open[0] mudou e o nível de abertura é deslocado de acordo. Deve haver apenas um comércio no mercado, certo?
Então é assim:
Não há necessidade de rastrear a nova barra, pois quando ela for formada, o sistema automaticamente adicionará um novo valor ao Open[0] e isto significa que o novo nível será calculado corretamente. Favor observar que o negócio de COMPRA é aberto ao preço Ask atual, enquanto é fechado (TP e SL) ao preço Bid. Além disso, os valores dos preços devem ser normalizados.