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

 
globad:
Acho que há muitas coisas prontas como esta. Uma simples EA abre um negócio em um determinado momento.

O problema é que, por todo o tempo, a possibilidade de programação para o MT4 acumulou HUNDREDS de EAs prontos no acesso livre à Internet, que encontrar o certo é muito problemático - você terá que pesquisar muito lixo, e pode até levar mais de um mês. Além disso, ainda não há garantia de que o código que você encontrou não será escrito de forma incorreta. O código feito sob encomenda não só economiza tempo e esforço, mas também pode ser rapidamente corrigido pelo desenvolvedor, se o cliente vir que algo não está funcionando como pedido.
 
Vinin:


Obrigado!!!
 
artmedia70:

Afinal, o que a função faz?

Retorna zero de qualquer maneira... Então fiz a pergunta sem olhar para a sintaxe.


Bem, é um modelo..... Droga, o que pode ser, atualizei a construção e a EA começou a separar, além disso, a mesma EA em outra construção antiga, trabalha, abre negócios, etc.

if (b!=Bars){
b=Bars;

      if (iCustom(NULL, 0, "1111",set,up,zukko1,7,1)!=0){
      TotalOrders=OrdersTotal(); 
           for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(0,SELECT_BY_POS)==true){
                    if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,5,Red);
                 if (OrderSelect(0,SELECT_BY_POS)==true){   
                    if (OrderType()==OP_BUYSTOP) OrderDelete(OrderTicket(),Green);                    
                 }
                 }            
           }  
                       
    // if (OrdersTotal()==0) 
    OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+TakeProfit*Point);
      //OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-StopLoss*Point,3,Bid-StopLoss*Point+OPStopLoss*Point,Bid-StopLoss*Point-OPTakeProfit*Point);
       }
      if (iCustom(NULL, 0, "111111",set,up,zukko1,6,1)!=0){
      TotalOrders=OrdersTotal();
        for (i=0; i<=TotalOrders; i++){
                 if (OrderSelect(0,SELECT_BY_POS)==true){
                    if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,5,Red);
                 if (OrderSelect(0,SELECT_BY_POS)==true){   
                    if (OrderType()==OP_SELLSTOP) OrderDelete(OrderTicket(),Green);
                 }   
                 }
        }              
     //if (OrdersTotal()==0) 
     OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask+StopLoss*Point,Ask-TakeProfit*Point);
     // OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+StopLoss*Point,3,Ask+StopLoss*Point-OPStopLoss*Point,Ask+StopLoss*Point+OPTakeProfit*Point);
         }
  }

Alguém pode ajudar.... O EA deve funcionar uma vez por barra. E está batendo forte....

 
drknn:

Esse é o problema, por todo o tempo a possibilidade de programação para o MT4 foi acumulada no acesso livre ao HUNDREDS de EAs prontos na Internet, que encontrar o certo é muito problemático - você terá que procurar muito lixo, e pode até levar mais de um mês. Além disso, ainda não há garantia de que o código que você encontrou não será escrito de forma incorreta. O código feito sob encomenda não só economiza tempo e esforço, mas também pode ser rapidamente corrigido pelo desenvolvedor, se o cliente vir que algo não está funcionando como pedido.
Quanto custaria uma tal EA, você acha?
 

Boa tarde!

Aqui está um problema....

No indicador complexo, criei uma representação gráfica dos fractais (para não aplicar o indicador fractal)

Para os fractais superiores (setas)

double P_F_5_Up = Price_UP_1 + Positiont;
               string name="Up_F5"+"_"+s;
               
               ObjectCreate( name, OBJ_ARROW, 0, Time[s], P_F_5_Up);
               ObjectSet( name,OBJPROP_COLOR,Color_F5);
               ObjectSet( name,OBJPROP_ARROWCODE,217);
               ObjectSet(name,OBJPROP_WIDTH,2);

Para os fractais inferiores (setas)

double P_F_5_DW=Price_DW_1 - Positiont;
               name="DW_F5"+"_"+s;
               
               ObjectCreate( name, OBJ_ARROW, 0, Time[s], P_F_5_DW);
               ObjectSet( name,OBJPROP_COLOR,Color_F5 );
               ObjectSet( name,OBJPROP_ARROWCODE,218);
               ObjectSet(name,OBJPROP_WIDTH,2);
Setas fractais

são exibidos na janela principal a uma distância de Alto/Baixo pelo valor da Posição, que é definido no init()

Positiont*=Point;

O problema é o seguinte: para os fractais inferiores os objetos gráficos (setas) são exibidos de acordo com Positiont, enquanto para os superiores eles se colam ao castiçal Alto/Baixo, ou seja, eles não vêem Positiont.

Por quê? Eu não entendo....

 
LOA:


Por quê? Eu não entendo....

Talvez acrescente a altura do objeto ainda.
 
splxgf:
Talvez acrescente também a altura do objeto.


Como você faz isso?

E, para ser honesto, duvido que ajude (embora eu tente se você me disser como).

Os objetos gráficos são caracteres padrão tanto para alto quanto para baixo.

 
double P_F_5_Up = Price_UP_1 + Positiont*2;
A posição é contada a partir do canto superior esquerdo, a parte inferior é fina, a parte superior precisa de uma margem extra.
 
splxgf:
A posição é contada a partir do canto superior esquerdo, a parte inferior é fina, a parte superior precisa de uma margem extra.

OK. Eu entendo e fiz isso, mas não funcionou com *2, mas com *4 é ótimo. Muito obrigado - eu não conhecia esta nuance (embora haja muito mais que eu não saiba, mas estou aprendendo).
 
Reshetov:
Ver https://www.mql5.com/ru/forum/131859/page6#434260


Função GetExtremumZZZPrice()


Muito obrigado.