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

 
evillive:
Pergunta: no modo de teste visual as linhas indicadoras são traçadas apenas no final do teste, é este o caso para todos ou estou fazendo algo errado?

todos eles.

https://www.mql5.com/ru/forum/131853/page2#463027

 
aconselhar como abrir corretamente os pedidos com perdas e takeaways em um conselheiro alpari (código)
 
link1:
aconselhar como abrir corretamente os pedidos com perdas e takeaways em um conselheiro alpari (código)

Você sabe como abrir pedidos com FST e TP em um EA (código) corretamente?
 
zxc:

Você sabe como "abrir corretamente pedidos com perdas e takeaways" em outra corretora?

E qual é a diferença entre abrir uma ordem na Alpari e abrir uma ordem na Oanda ou em outra corretora?
 
zxc:

Você sabe como "abrir corretamente pedidos com perdas e takeaways" em outra corretora?

Tenho trabalhado com outras corretoras, minha EA trabalha, mas não com a Alpari, por isso pergunto, talvez existam algumas peculiaridades?
 
link1:

Tenho um bom pressentimento com outras corretoras, minha EA trabalha, mas não com a Alpari.


É por aqui que você deveria ter começado. No terminal, quando você abre um pedido manualmente, você pode fazer paradas imediatamente?

O que diz onde está o tipo de pedido? Execução Imediata ou Execução de Mercado?

 
zxc:


É por aqui que você deveria ter começado. No terminal, quando você abre um pedido manualmente, você pode fazer paradas imediatamente?

O que diz onde está o tipo de pedido? Execução imediata ou execução no mercado?


Quanto à Alpari, se você tem execução no mercado, não pode colocar SL ou TP, somente se você tem uma ordem pendente, você pode fazê-lo em uma conta demo, como em uma conta micro.

Também prestei atenção a esta questão e decidi modificar minha EA colocando SL e TP sem SL e depois, modificá-la e definir SL e TP.

Mas como modificá-lo? )) Eu copiei a modificação de alguma EA, mas não há erro no código e ele não compila. Para ser honesto, não há nenhum artigo sobre modificação e exemplo com trailing stop no tutorial. Comecei agora a aprender linguagem e esta é minha primeira EA e não sei como modificar os pedidos corretamente...

também acho que talvez o problema esteja nos 5 dígitos? o que você acha?

 

Que tal isso? E para ter lucro mais ou menos da mesma maneira...

for(int i = 0; i < total; i++)

     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {

                  if(OrderStopLoss()==0)
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                   }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {

                 if(OrderStopLoss()==0)
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                  }
            }
         }
     }

Você não pode modificar a ordem de stop loss neste ciclo, e fechar a ordem quando ela atingir o nível de stop, pois DC a ordem parecerá sem stop loss, mas é fechada pela EA claramente quando o nível de stop loss for ultrapassado (variável sl):

   for(int i = 0; i < total; i++)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {
               if((OrderOpenPrice()-Ask)<Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Aqua);
                 }
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) //trail
                 {
                  if(OrderStopLoss()<(Bid-Point*ts))
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,OrderTakeProfit(),0,Orange);
                   }
                 }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {
               if((Bid-OrderOpenPrice())>Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Magenta);
                 }
               if((OrderOpenPrice()-Ask)>Point*(ts+minp)) //trail
                {
                 if(OrderStopLoss()>(Ask+Point*ts))
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,OrderTakeProfit(),0,Orange);
                  }
                }
            }
         }
     }
 
Quero criar uma matriz bidimensional [bilhete] [preço de abertura]. a questão é: que tipo de matriz deve ser declarada como int ou duble?
 
dmmikl86:
Quero criar uma matriz bidimensional [ticket][preço de abertura]. a questão é: que tipo de matriz deve ser declarada como int ou dub?

preço de abertura é o dobro
Razão: