[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.

 

(Parte anterior aqui)


Olá, você poderia sugerir uma função em mql4, que entre várias posições de compra em aberto, começando pelo preço mais baixo, conta o número especificado de lotes (soma) e produz o preço abaixo do qual esse número de lotes está. As ordens são ordens de mercado. E o mesmo, mas para venda.

Para esclarecer, todos os pedidos com diferentes números de lotes. A função soma as ordens em ordem ascendentePreço Aberto, desde que a condição "soma de lotes <=soma" seja verdadeira.

 
pechenuga:

(A parte anterior aqui)


Olá, você poderia sugerir uma função em mql4, que entre várias posições de compra em aberto, começando pelo preço mais baixo, conta o número especificado de lotes (soma) e produz o preço abaixo do qual esse número de lotes está. As ordens são ordens de mercado. E o mesmo, mas para venda.

Para esclarecer, todos os pedidos com diferentes números de lotes. A função soma as ordens em ordem ascendentePreço Aberto, desde que a condição "soma de lotes <=soma" esteja correta.


O que a função deve retornar, o número total de lotes, a diferença entre total e dado número de lotes ou falso-truste, dependendo se o valor real é maior ou menor do que o dado?

Mais precisamente, de que preço estamos falando, o preço de abertura do último pedido, se o volume for maior ou igual ao especificado?

 

é isso...meu pote está fervendo....

se você retirar a verificação MEDIUM deste código, as linhas começam a desenhar claramente.

Se você voltar a ser como é... a EA não desenha absolutamente nada!

quem viu um erro? ou a razão? por favor, me diga.

o compilador não mostra erros

Ma_1=iMA(NULL,PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,1) ; 
Ma_2=iMA(NULL,PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE,1);

if ( Hour()>=10 && Hour()<20) 
   {  
      if 
        ( Ma_1>Ma_2)         
              
 { SetVLine(Blue, "", 0, 0, 1);} 

}
 
Por favor, informe qual Expert Advisor é o melhor a ser usado para visualizar o comércio. Mais uma vez, seria desejável poder utilizar diferentes TFs ao mesmo tempo. Gostaria de usar os dois ao mesmo tempo. Obrigado!
 
lottamer:

é isso...meu pote está fervendo....

se você retirar a verificação MEDIUM deste código, as linhas começam a desenhar claramente.

Se você voltar a ser como é... a EA não desenha absolutamente nada!

quem viu um erro? ou a razão? por favor, me diga.

o compilador não mostra erros


Mostrar SetVLine();
 
rigonich:

Mostrar SetVLine();

//==========================
//+----------------------------------------------------------------------------+
//| Autor : Kim Igor V. aka KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Versão : 02.07.2008 |
//| Descrição : Ajuste do objeto OBJ_VLINE linha vertical |
//+----------------------------------------------------------------------------+
//| Parâmetros: |
//| cl - cor da linha |
//| nm - nome ("" - hora da abertura atual da barra) |
//| t1 - tempo (0 - tempo de abertura da barra atual) |
//| st - estilo linha (0 - linha simples) |
//| wd - largura de linha (1 - padrão) |
//+----------------------------------------------------------------------------+
void SetVLine(color cl, string nm="", datetime t1=0, int st=0, int wd=1) {
if (nm==""") nm=DoubleToStr(Time[0], 0);
se (t1<=0) t1=Tempo[0];
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_VLINE, 0, 0,0;)
ObjectSet(nm, OBJPROP_TIME1, t1);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_STYLE, st);
ObjectSet(nm, OBJPROP_WIDTH, wd);
}
 
rigonich:


A função deve retornar o número total de lotes, a diferença entre o número total e o número especificado de lotes, ou falsa-tralidade, dependendo se o valor real é maior ou menor que o especificado?

Mais precisamente, de que preço estamos falando, o preço de abertura da última encomenda se o volume for maior ou igual a um determinado volume?

A função deve retornar o preço abaixo do qual os pedidos com o número de lotes necessários estão localizados. Ou seja, assim que o número de lotes for maior que "soma", a função devolverá o preço daquela última encomenda.
 
lottamer:

Ma_1=iMA(NULL,PERIOD_H1,30,0,MODE_SMA,PRICE_CLOSE,1) ; 
Ma_2=iMA(NULL,PERIOD_H1,60,0,MODE_SMA,PRICE_CLOSE,1);
if(TimeHour(iTime(Symbol(),0,0))>10&&TimeHour(iTime(Symbol(),0,0))<20)
   {
   if(Ma_1>Ma_2)SetVLine(Blue, "", 0, 0, 1);
}  
 
rigonich:



seu código não funciona!!! )))))))))))))))) não são traçadas linhas.

e o tempo não tem nada a ver com isso. O tempo está correto. Estava imprimindo-o...

E se ao invés de comparar com médias, colocar uma comparação com estocásticos - tudo é claramente desenhado.

Stoch_1=iStochastic(NULL,PERIOD_M5,5,3,3,MODE_SMA,0,MODE_MAIN,1); 
Stoch_2=iStochastic(NULL,PERIOD_M5,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);


if ( Hour()>=10 && Hour()<20)  
// if ( Ma_1>Ma_2)          // убрал средние
//    {
                      
         if (Stoch_1>Stoch_2)
 { SetVLine(Blue, "", 0, 0, 1);}   
 

parece queo rigonich também está fervendo :))))

só para ter certeza, copiei todos os componentes de outro EA em funcionamento.

NÃO DESENHOU!

mudou "sacar" para "comprar e vender".

NÃO TRABALHANDO!

parece MAGICAL BLEEP!

As médias impressas mostram ambas 134, enquanto seu período difere por um fator de 20 (!)!

 
lottamer:

parece queo rigonich também está fervendo :))))

só para ter certeza, copiei todos os componentes de outro EA em funcionamento.

NÃO DESENHOU!

mudou "sacar" para "comprar e vender".

NÃO FUNCIONARÁ!

parece MAGICAL BLEEP!


E onde você verifica, na demonstração ou no testador?