[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. - página 23

 
WindSW:

Meu código facilita a determinação do número de iterações através do ArrayRange.

Por que eu recebo 0 quando escrevo xDelH[countDH][0]=HBar[countH][0]; (embora HBar[countH][0] já esteja preenchido e tenha seu próprio valor)? Posso fazer isso de jeito nenhum?

Como você verifica o valor de xDelH[countDH][0] após esta operação de atribuição?
 
Por favor me diga qual função se lembra do preço Take Profit da última ordem aberta
 
Frostr:
Por favor me diga qual função se lembra do preço Take Profit da última ordem aberta

Se você precisa se lembrar exatamente, basta salvar o valorTakeProfit em uma variável cada vez que você abre um pedido.
 

Eu só preciso de

// média calculando o preço médio
duplo preço médio = NormalizeDuplo(soma/alotes, Dígitos);
//modificar todas as ordens da série movendo o mesmo TakeProfit para cada ordem aberta
para ( trade = OrderTotal() - 1; trade >= 0; tradee-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//tomar lucro para uma ordem de compra
if ( OrderType() == OP_BUY) tp = preço médio + TP * Ponto;
//tomar lucro para uma ordem de venda
if ( OrderType() == OP_SELLL) tp = preço médio - TP * Ponto;
//modificar o pedido pertencente à série
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

modificaram as ordens antigas, mudaram suas TakeProfit para TakeProfit da nova ordem aberta (se o preço fechar a última ordem em Stop, então todas as ordens anteriores também serão fechadas)

 
Frostr:

Eu só preciso de

// média através do cálculo do preço médio
duplo preço médio = NormalizeDuplo(soma/alotes, Dígitos);
//modificar todas as ordens da série, movendo o mesmo TakeProfit para cada ordem em aberto
para ( comércio = encomendasTotal() - 1; comércio >= 0; comércio- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//Profit for BUY order
se ( OrderType() == OP_BUY) tp = preço médio + TP * Ponto;
//tomar lucro para uma ordem de venda
se ( OrderType() == OP_SELL) tp = preço médio - TP * Ponto;
//modificar uma ordem que pertence à série
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

modificar ordens antigas, mudar suas TakeProfit para TakeProfit de uma nova ordem aberta (se o preço fechar a última ordem em stop, todas as ordens anteriores também fecharão)


Os anteriores fecharão se você definir um único tampão para toda a série. Se você deixar o stop loss diferente para cada ordem (sem alterá-lo), então apenas uma ordem será fechada. O valor TakeProfit para outras ordens da série terá que ser recalculado ou definido como igual ao valor anterior.
 
paladin80:
Como você verifica o valor de xDelH[countDH][0] após esta operação de atribuição?

Através de impressão
 

Bom dia!!! faço dois pedidos com este lugar - por projeto, um com uma parada e outro sem. No testador, ambos são eliminados!!!!

 if   (Svetsja_1 &&  !Svetsja_2  && !Svetsja_3  &&  !Orderbuy ){
    //стоп лосс 25 п. профит 30 п;стоп лосс 25 п. тралится по MA 20    
         
        RefreshRates();
          OrderSend (Symbol( ), OP_BUY, lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   NormalizeDouble( Ask+( 30*Point),Digits), NULL, 450, 0, CLR_NONE);
           int Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates(); 
          OrderSend (Symbol( ), OP_BUY,  lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   0, NULL, 450, 0, CLR_NONE); }
            Error=GetLastError(); Orderbuy=1; 
            if (Error!=0){ string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}   }  } }

Eu não tenho absolutamente nenhuma idéia do que está acontecendo aqui.


 
Dimka-novitsek:

Bom dia!!! faço dois pedidos com este lugar - por projeto, um com uma parada, o outro sem. No testador, ambos são eliminados!!!!

Eu não tenho absolutamente nenhuma idéia do que está acontecendo aqui.



Olhe com atenção, você coloca o stoploss para ambos e o takeprofit para apenas um. Portanto, é como você escreveu: ambos serão fechados em caso de roubo e apenas um será fechado em caso de roubo.
 
Dimka-novitsek:

Bom dia!!! faço dois pedidos com este lugar - por projeto, um com uma parada, o outro sem. No testador, ambos são eliminados!!!!

Eu não tenho absolutamente nenhuma idéia do que está acontecendo aqui.

Provavelmente é muito cedo para você "fumar" - CUIDADO ASSUNTAR! :)))
 
Sim, obrigado!!! Era eu vindo direto da rua para o computador e eu estava totalmente confuso!