Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 483

 
culler:

Ajude-me a resolver um problema para determinar o momento de intersecção de duas linhas MA.

Não sei como descrever isso.

Há o MAfast e o MAslow

duplo MAfast=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1);

duplo MAslow=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,1);

se(MAfast>MAslow) só funciona se MAfast estiver em baixo, quando o atravessa, ele pega o momento da travessia, mas então MAfast está em cima e o pedido vai COMPRAR ))))

Tenho em meu código como determinar o momento da travessia e comparar sua direção de baixo para cima ou vice versa.

Em meu código, é simplesmente mais ou menos. Daí os erros.

se ((x1 - y1)*(x2 - y2) < 0)
{
// temos interseção
}
 
culler:

Ajude-me a resolver um problema para determinar o momento de intersecção de duas linhas MA.

Não sei como descrever isso.

Há o MAfast e o MAslow

duplo MAfast=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1);

duplo MAslow=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,1);

se(MAfast>MAslow) só funciona se MAfast estiver em baixo, quando o atravessa, ele pega o momento da travessia, mas então MAfast está em cima e o pedido vai COMPRAR ))))

Eu tenho em meu código como determinar o momento da travessia e comparar sua direção de baixo para cima ou vice-versa.

Em meu código, é simplesmente mais ou menos. Daí os erros.

Há muito o que ver e fazeraqui.
 
artmedia70:
se ((x1 - y1)*(x2 - y2) < 0)
{
// temos interseção
}


TarasBY:
Há um monte de coisas interessantes esperando por você aqui.

Obrigado. Obrigado.
 
culler:

Ajude-me a resolver um problema para determinar o momento de intersecção de duas linhas MA.

Não sei como descrever isso.

Há o MAfast e o MAslow

duplo MAfast=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1);

duplo MAslow=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,1);

se(MAfast>MAslow) só funciona se MAfast estiver em baixo, quando o atravessa, ele pega o momento da travessia, mas então MAfast está em cima e o pedido vai COMPRAR ))))

Eu tenho em meu código como determinar o momento da travessia e comparar sua direção de baixo para cima ou vice-versa.

Em meu código, é simplesmente mais ou menos. Daí os erros.


Um fio muito útil, e em sua pergunta!
 
A documentação diz:

Janela de Janela de BoolVisible( int index)
Retorna VERDADEIRO se a subjanela do gráfico estiver visível, caso contrário retorna FALSO. A subjanela do gráfico pode ser escondida por causa das propriedades de visibilidade do indicador nela colocado.
Parâmetros:
índice - Índice da subjanela do gráfico.
Exemplo:
 int maywin=WindowFind("MyMACD"); if(maywin>-1 && WindowIsVisible(maywin)==verdadeiro) Print("MyMACD window visible"); ou Print("MyMACD window not found or not visible")
;
Por favor, explique o que significa: "Uma subjanela gráfica pode estar oculta devido às propriedades de visibilidade do indicador colocado nela"? O que é este indicador propriedade????
 

Não pára de jogar e devolve uma int?

O compilador dá um aviso de "possível perda de dados devido à conversão do tipo" para este código:

   int slevel = MarketInfo(Symbol(), MODE_STOPLEVEL);
да и на 
   int digits = MarketInfo( Symbol(), MODE_DIGITS);
тоже
 

É necessária ajuda, parte da posição não está fechando quando se testa a EA

void Zacritie_poz_sell ()
{
 
 int    i, k=OrdersTotal();
 string sy=Symbol();
 
for (i=0; i<k; i++) 
{
 if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
 {
  if ( OrderSymbol() == sy)
   {
    if (OrderType()==OP_SELL)
     {
       if ( OrderMagicNumber()==Magic)
       {
        double TP = OrderTakeProfit();
        double Prise = OrderOpenPrice();
        double Close_poz = NormalizeDouble( Prise-(Prise-TP)/2,Digits);
        double Lots1 = NormalizeDouble (Lots/4,Digits);
        double TP1 = OrderTakeProfit()+1*Point;
        double SL = OrderOpenPrice()-20*Point;
         if ( Bid == Close_poz && OrderStopLoss() != SL && TP == TP1 && Lots != Lots1)
         {
          
           OrderClose(OrderTicket(),Lots1, Bid, 40*Point, Yellow);

           break;
           Sleep (1000*5);
           RefreshRates();
         
          
         }
         
       }
     }
  
    }
   }
 }
}
 
miha91:

É necessária ajuda, parte da posição não está fechando quando se testa a EA


for (i=k-1; i>=0; i--)
 
evillive:

Não pára de jogar e devolve uma int?

O compilador gera a "possível perda de dados devido à conversão de tipo" aviso em código como este:

Conversão do tipo explícito:

int slevel = (int)MarketInfo(Symbol(), MODE_STOPLEVEL);
Veja... A função é do tipo duplo, mas o identificador do pedido pode definir o tipo de retorno int. É por isso que está jurando.
 

Estou otimizando um EA, há muito excesso, cerca de 10^17 graus, há mais parâmetros, mas eles não podem mais ser otimizados. Por que existem tais restrições?

Além de uma pergunta sobre algoritmo genético. Parece parar de trabalhar corretamente com dados tão grandes, o lucro final salta de forma bastante dramática, muitas vezes para baixo. Ou seja, agora encontrou cenários lucrativos, mas não em qualquer outra época. Os desenvolvedores vão consertá-la?