Ajuda na codificação - página 409

 

Olá. É possível que alguém possa codificar este indicador para que eu possa anexá-lo em uma sub janela....? Muito obrigado.

Arquivos anexados:
5days.mq4  4 kb
 

Hi,

Tenho alguns Botões em minha Carta e criei um retângulo atrás destes Botões.

Agora toda vez que eu quero clicar em um botão, eu só alcanço o retângulo.

Como posso fazer isso?

OBJPROP_SELECTABLE = falso

ou OBJPROP_BACK = verdadeiro,

não ajuda.

 

Mladen, por que todos os indicadores declaram :

extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;

porque a vela dá sinal aberto, começando. Eu estou certo se o errado ?

 
popej30:
Mladen, por que todos os indicadores declaram :
extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;
porque a vela dá sinal aberto, começando. Eu estou certo se o errado ?
Você tem uma escolha de 7 preços em metatrader :

abrir

fechar

alto

baixo

mediana - (alto+baixo)/2

típico - (alto+baixo+fechado)/3

ponderado - (alto+baixo+fechado+fechado)/4

O fechamento é o fechamento habitual para o preço (que é o preço que normalmente se vê nos gráficos, uma vez que a oferta é às vezes diferente do fechamento), Usando o preço aberto no indicador define o valor usando o preço aberto da barra e depois ignora qualquer mudança atual (barra aberta).

PS: a opção existe para permitir que você utilize o preço que desejar. O valor padrão usando o preço de fechamento é amplamente aceito como valor padrão em quase todos os indicadores (não apenas no metatrader). Se você não gosta do preço fechado, do que usar aberto, mas não há nenhuma regra que diga que usar o preço aberto para a barra atual é melhor (bem ao contrário - pelas razões explicadas acima)

 
popej30:
Mladen, por que vocês todos os indicadores declaram :
extern int Price = PRICE_CLOSE;[/PHP]

should be:

[PHP]extern int Price = PRICE_OPEN;
porque a vela dá sinal aberto, começando. Eu estou certo se o errado ?

A maioria dos indicadores usuais utiliza o preço de fechamento, exceto a CCI, que utiliza o preço típico. Acredito que isso é porque mostra o preço atual de uma maneira melhor do que o aberto. Se você definir um indicador para abrir o preço, ele não recalculará a vela atual como faz com o fechamento, mas também não mostrará onde está o preço atual. Também se você usar um indicador no preço de fechamento e entrar na próxima vela quando ela der um sinal, é bem igual ao que você usa no preço aberto e entrar na vela atual...

Edição : Acabei de ver Mladen responder, pensei que era fim de semana e ninguém estava aqui, então eu queria ajudar . Deixo minha resposta de qualquer forma. Cumprimentos.

 

Eu acho que se o indicador seguir pelo preço este indicador sempre pintará novamente.

 
popej30:
Eu acho que se o indicador seguir pelo preço este indicador sempre pintará novamente.

Você está confundindo a repintura com o cálculo das mudanças de preço de barras abertas atualmente

Mais uma vez : a repintura/recálculo é quando as barras fechadas são trocadas (e a repintura é um erro de codificação). Nada a ver com a mudança de barras abertas para refletir o estado atual do preço

 

Como vejo que não há possibilidade real de desenhar um retângulo atrás de um botão e definir, que clicando no botão é o Evento e não o retângulo...

Mas eu tenho outra pergunta:

Como posso desenhar uma linha horizontal com um comprimento definido? Eu tentei com OBJ_TREND, mas um dos lados da linha é infinito ou Zero. Portanto, não posso desenhar uma linha horizontal de Bid-10 a Bid+10.

Você agora é uma solução?

 

sou um codificador novato. como selecionar somente o símbolo da janela atual pela função ordenarselecionar?

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); como modificar esta frase?

muito obrigado.

 
leowang:
sou um codificador novato. como selecionar somente o símbolo da janela atual pela função Orderselect?

for(int cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); como modificar esta frase?

muito obrigado.

Você não pode modificar a seleção da ordem. Mas você pode filtrar as ordens processadas. Adicione um "se" logo após a OrderSelect() e todo o processamento deve ser após a seguinte linha :

se (OrderSymbol()!=Symbol()) continuar;