Como codificar? - página 273

 

não executado

Há duas razões possíveis.

Em primeiro lugar, o takeprofit pode ser considerado muito próximo do preço aberto para que o corretor aceite.

Verifique o negócio para ver se o takeprofit tem um valor.

Segundo, a venda sai no Ask, portanto o Ask deve atingir o nível de takeprofit.

Qual é o spread para seu corretor para aquele par e naquele momento?

Isso faria com que a saída real fosse em Bid - Spread.

Robert

 
LuisAY:

Eu gostaria de saber como ler estes circulados em azul claro,

qualquer amostra de código para me apontar na direção certa ?

Obrigado de antemão.

O nome do Indicador não é um comentário.

Como o nome é visível, você pode usar

duplo MaxValue, MinValue;

int WindowNum = WindowFind("Volume"); // retorna -1 se não for encontrado

se (WindowNum >= 0)

{

MaxValue = WindowPriceMax(WindowNum);

MinValue = WindowPriceMin(WindowNum);

}

Espero que isto ajude.

BTW, Quando você abre o editor do MT4 há uma janela chamada Navigator que lista as funções no MT4 com decrições e amostras de como usá-las.

Robert Hill

Programador profissional MT4

 

[langtitle=de]takeprofit não executado[/langtitle]

MrPip:
Há duas razões possíveis.

Primeiro, o takeprofit pode ser considerado muito próximo do preço aberto para que o corretor aceite.

Verifique o negócio para ver se o takeprofit tem um valor.

A segunda venda sai no Ask, portanto o Ask deve atingir o nível de takeprofit.

Qual é o spread para seu corretor para aquele par e naquele momento?

Isso faria com que a saída real fosse em Bid - Spread.

Robert

[lang=de]Obrigado por sua resposta rápida.

Eu tenho um corretor ECN (FXOpen) (5 dígitos). Acho que você está certo a respeito do spread. Mas é um valor constante de 102 (=(Ask - Bid)*(1/Ponto)) e não muda o tempo todo enquanto se executa o testador de estratégia. Por quê? Em sistemas ao vivo, a propagação está mudando quase permanentemente. Além disso, por que eu não recebo um OrderSend Error 130?

Obrigado por ajudar.[/lang]

 
MrPip:
O nome do Indicador não é um comentário.

Como o nome é visível, você pode usar

duplo MaxValue, MinValue;

int WindowNum = WindowFind("Volume"); // retorna -1 se não for encontrado

se (WindowNum >= 0)

{

MaxValue = WindowPriceMax(WindowNum);

MinValue = WindowPriceMin(WindowNum);

}

Espero que isto ajude.

BTW, Quando você abre o editor do MT4 há uma janela chamada Navigator que lista as funções no MT4 com decrições e amostras de como usá-las.

Robert Hill

Programador profissional MT4

isto é exatamente o que eu estava procurando, apenas esperava que os redatores técnicos do arquivo de ajuda tivessem o bom senso que você mostra no exemplo.

A outra pergunta que tenho é: o comentário ou nota que serve como nome no indicador personalizado se chama "IndicatorShortName" e contém um valor, agora, eu gostaria de ler este valor. Eu poderia encontrar uma maneira de contorná-lo fazendo uma variável para também manter este valor quando o declaro, mas é senso comum para mim que tem que haver uma maneira de usar o valor de "IndicatorShortName".

Obrigado

 

haha , encontrei-a -- a codificação que fiz (mas não a uso hoje em dia)

não deve dar uma ENTRADA DE SUGESTÃO , até que haja alguma consolidação observada (por isso é um pouco inteligente -- lógica simples usada no entanto)

reformular suas perguntas -- não está claro

tiny.cc/imtran

====

isto é uma escavação, para mostrar que eu faço alguma codificação

Eu passei 1 mês neste indicador (eu mesmo construo)

o que ele faz, é usar o texto de comentário branco

para me dizer qual o nível de preço para colocar um pedido Limite

deixe você ter estes 3 links, se você gosta de ler coisas, abra o IDE METAEDITOR e aprenda a codificação mq4 -- deve usar uma amostra de indicador melhor -- é como

definir cor e espessura

desenhar algumas coisas na tabela

contar o número de velas

executar uma fórmula aritmética (tão dura)

fazer mais cálculos e ifthenelse

a maioria dos indicadores MQ4 estão neste formato , portanto preste atenção a >> desenhe algumas coisas no gráfico

---- poderia ser um pouco implícito, ou autorun para algum desenho final, mas mq4 são assim ---

http://tiny.cc/linsay3

http://tiny.cc/linsay2

http://tiny.cc/linsay1

Eu não dou meu ESTUFA DE DESENVOLVIMENTO facilmente

- isto pode não ser útil no comércio (mas aprendi muito sobre o MQ4, o compilador não é tão duro assim)

há um membro chamado WID - não sei se ele é bom -- codificando, se ele for bom e se mantiver fiel ao acordo de confidencialidade, acho que lhe daria todo o indicador (coisa boa para se brincar, no entanto)

===

Na verdade, eu tenho um ponto aqui

COMENTÁRIO -- nenhuma outra função do MQ4 é mais fácil do que esta

muito semelhante a PRINT ("oooh, forex bluffer, boa hora para entrar a preço" ; preço perfeitoVariável);

ou seja, pode ser usado como um conselheiro TEXT, gatilho, mostrando qualquer valor variável, etc.

Basta adicioná-lo a seu indicador favorito, depois você pode fazê-lo aparecer e desaparecer e lhe dar o TRIGGER

-- comparação com poucas horas atrás etc === todos esses códigos são CHILDPLAY

Entretanto, se você tem seu indicador favorito, você tem que entender esse indicador preferido INTERIOR -OUT primeiro

por exemplo, o que SIGNIFICAR que você procura, como a variável vai mudar

ANTES de você poder adicionar uma linha de comentários (.... ....) [ Tenho um exemplo aqui na ScreenCap]

Só desejo que mais pessoas gostem de codificar, ao invés de choramingar -- escrevendo isto

==== vamos assumir que "IndicatorShortName" é realmente uma variável no MQ4

você poderia colocá-lo em algum lugar comentar ("\n", "esta variável tem um valor aproximado nesta barra de vela", IndicatorShortName);

tendo dito isso, você tem que procurar "IndicatorShortName" em todo o indicador MQ4 para ver o que é isso !! é uma variável ou ela realmente aparece no indicador ou é uma chamada externa -- chamada externa pode ser difícil, as pessoas escrevem algo assim para que pareça OOP

 
coollex:
[lang=de]Obrigado por sua resposta rápida.

Tenho um corretor ECN (FXOpen) (5 dígitos). Acho que você está certo em relação ao spread. Mas é um valor constante de 102 (=(Ask - Bid)*(1/Ponto)) e não muda o tempo todo enquanto se executa o testador de estratégia. Por quê? Em sistemas ao vivo, a propagação está mudando quase permanentemente. Além disso, por que eu não recebo um OrderSend Error 130?

Obrigado por ajudar.[/lang]

Isso só significa que o problema não é um.

Assim, com a razão 2 o TP é 1,44743 e o spread é 102 pontos. Isso significa que o Bid precisaria ser 1,44641 quando o Ask chega ao TP para sair do comércio. A partir de sua imagem gráfica, parece que isso não aconteceu.

Lembre-se que as barras no gráfico são criadas a partir do Bid.

Robert

 

iCustom, indicador e EA para abrir pedidos

Olá a todos,

sou novo na programação da mql.

tenho uma função em indi que determina o poder de todas as moedas. o que eu quero fazer é abrir ordem para pares lucrativos. para isso tenho um loop 'para' que determina a máxima moeda poderosa e depois outro loop 'para' que determina a moeda mais fraca.

estou preso como o que fazer em indi que mais tarde pode ser usado em EA para abrir pedidos de pares rentáveis.

por favor, verifique o código de função abaixo....

allcurr = todas as moedas

cpow = potência da moeda

void pro (int allcurr, double cpow)

{

for (allcurr=0; allcurr<CurrencyCount; allcurr++)

{

if (cpow > 150 || cpow >160)

{

for (allcurr=0; allcurr<CurrencyCount; allcurr++)

{

if (cpow > 40 || cpow > 0)

{

I AM STUCK HERE

} // end for weak if

} // end for weak

} // end for max if

} // end for max

} // end void pro
 

iCustom, indicador e EA para abrir pedidos

Olá a todos,

sou novo na programação da mql.

tenho uma função em indi que determina o poder de todas as moedas. o que eu quero fazer é abrir ordem para pares lucrativos. para isso tenho um loop 'para' que determina a máxima moeda poderosa e depois outro loop 'para' que determina a moeda mais fraca.

estou preso como o que fazer em indi que mais tarde pode ser usado em EA para abrir pedidos de pares rentáveis.

por favor, verifique o código de função abaixo....

allcurr = todas as moedas

cpow = poder de uma moeda

void pro (int allcurr, double cpow)

{

for (allcurr=0; allcurr<CurrencyRepeat; allcurr++)

{

if (cpow > 150 || cpow >160)

{

for (allcurr=0; allcurr<CurrencyRepeat; allcurr++)

{

if (cpow > 40 || cpow > 0)

{

I AM STUCK HERE

} // end for weak if

} // end for weak

} // end for max if

} // end for max

} // end void pro
 

Mudança de Comentário de Pedido?

olá,

Existe alguma forma de alterar o OrderComment, após a criação do pedido?

Eu tenho um EA que cria ordens pendentes em pontos-chave que são susceptíveis de serem alcançados, no entanto, às vezes essas ordens têm que ser canceladas/eliminadas devido a movimentos rápidos indesejáveis nos gráficos, portanto não é possível usar o número do bilhete para identificar cada ordem, porque cada ordem de ponto-chave pode ser aberta e cancelada/eliminada várias vezes, Portanto, em vez disso, a EA usa um OrderComment único para identificar cada ordem, mas de vez em quando o computador que executa a EA falha ou a conexão com a Internet falha, e isso altera a identificação da ordem de pontos-chave e, portanto, seria útil alterar o OrderComment para evitar erros causados pela bagunça que é criada após o reinício da EA sem antes terminar a execução anterior.

Muito confuso, certo?

P.S. o número mágico está sendo usado para identificar as ordens criadas pela EA, portanto não posso usar esse número para identificar cada ordem individualmente.

Se alguém pudesse me dizer se há alguma forma de alterar os Comentários de Ordem, eu apreciaria,

Agradecemos antecipadamente.

 

Eu não sei se eu não o apoio bem, mas no momento em que você"empilha" algo com buffer de indicador - você deve pensar que valor você quer ter neste buffer/buffers.

Em segundo lugar, olhe neste pedaço de código:

if (cpow > 150 || cpow >160)

if (cpow > 40 || cpow > 0)

[/CODE]

this same effect will be when You change it for:

[CODE]

if (cpow > 150)

if (cpow > 0)

editar: Não sei que efeito você quer, mas tente usar Arrays - provavelmente será necessário.

Grandes cumprimentos

Estudante polonês de informática, pois com grande experiência em MQL pode codificar para você.

cotação via correio: gaa1(at)poczta(dot)fm

Barato, bom, rápido && e profissional.