[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 105

 
 
Alguém viu um sistema comercial mesânico programado em 3 telas Edler ao trabalhar em gráficos de hora em hora. Por favor, compartilhe o arquivo.
 
rid >> :

Aqui você pode ver as posições de fechamento...

http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=select&id=4

Obrigado.... - Eu ainda não procurei em todos eles, mas um par de consultores me ajudou:) Se você não pode fazer isso você mesmo, aqui vai uma coisinha...)

 

Olá.

Você pode me dizer algo? A parada móvel (para negociações de venda) está definida para :

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+ TrailingStop*Point,OrderTakeProfit(), 0, Blue);

Isto não é o que eu quero fazer. Ao invés de um novo valor de Stop Loss

Ask+ TrailingStop*Point
Eu coloco : (OrderOpenPrice()-OrderProfit()/2 )

Assim:

OrderModify(OrderTicket(),OrderOpenPrice(),(OrderOpenPrice()-OrderProfit()/2 ),OrderTakeProfit(), 0, Blue

Entretanto, o log me dá erro 130 ou erro 4051 (Valor de parâmetro da função inválida)

Por quê? O que eu fiz de errado aqui. Os estofadores são respeitados.

Além disso, se eu substituir OrderProfit()/2 por uma constante, por exemplo ,TrailingStop*Point, amodificação funciona sem erros.


 
Rita писал(а) >>

Olá.

Você pode me dizer algo? A parada móvel (para negociações de venda) está definida para :


Eu preciso fazer o contrário . Em vez de uma nova parada de perda

Eu inseri : (OrderOpenPrice()-OrderProfit()/2 )

Assim:

Entretanto, o log me dá erro 130 ou erro 4051 (Valor de parâmetro da função inválida)

Por quê? O que eu fiz de errado aqui. As lacunas têm sido respeitadas.

Nota, se eu substituir OrderProfit()/2 por uma constante, por exemploTrailingStop*Point, amodificação funciona sem erros

Seria melhor converter o lucro em pontos. Está na moeda do depósito.

Devemos verificar o valor obtido para o stop loss e arredondá-lo (valor).

É melhor verificá-lo para não colocá-lo mais próximo do que o permitido pelas corretoras.

É mais fácil tomar a média entre o preço atual e o preço aberto.

 
Vinin >> :

O lucro deve ser expresso preferencialmente em pips. Está na moeda do depósito.

Devemos verificar o valor obtido para o stop loss, e é desejável arredondá-lo (valor).

É mais fácil tomar um valor médio entre o preço atual e o preço de abertura.

De que tipo de lucro você está falando?
As lacunas têm sido respeitadas. - Isso foi o que eu disse em meu posto.
//-----------------------------

Eu não preciso de um valor médio. Isto é, vou precisar de valores OrderProfit()/n no futuro


 
Rita писал(а) >>

De que tipo de lucro você está falando?
O stopgap é respeitado. - Eu escrevi sobre isso em meu posto.
//-----------------------------

Eu não preciso de um valor médio. Isto é, precisarei de valores OrderProfit()/n no futuro.

Com os preços, não é difícil de implementar. Mas é o proprietário que decide. Eu não vou insistir.

 

Você pode sugerir uma EA que apague negócios pendentes, depois que um dos negócios pendentes for acionado, apenas para ignorar os negócios abertos, e acione apenas se um novo negócio for aberto depois que o negócio pendente for acionado?

Não sei o que fazer a respeito. http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=31 aqui é um bom EA, mas ele elimina imediatamente os negócios pendentes se houver um negócio aberto com um par, talvez seja possível fazer algo com ele ou apenas mudar as configurações.


E há outra EA que remove pendentes após qualquer fechamento de negócio em um par (ips, sl, trawl, fechamento manual)
 
Vinin >> :

Com os preços, não é difícil de implementar. Mas é o proprietário que decide. Eu não vou insistir.

Mas como implementá-la com bicicleta e perguntar preços?

Você pode me dar uma dica com um exemplo de código?

 
Rita писал(а) >>

E como implementar isso com o biquíni e perguntar preços?

Você pode me dar um exemplo de código?

double CalculateStopLoss(int OP, int N){
    double RetVal=0;
    double tmpStopLoss;
    double StopLevel= MarketInfo(Symbol(),MODE_STOPLEVEL);
    if ( OP==OP_BUY) {
       tmpStopLoss=(Bid-OrderOpenPrice())/ N;
       if ( StopLevel> tmpStopLoss/Point) tmpStopLoss= StopLevel*Point;
       RetVal=NormalizeDouble(OrderOpenPrice()+ tmpStopLoss,Digits);
    }
    //   Отработка остальных случаев
   return( RetVal);
}

Esta pode não ser a melhor maneira de tratar do assunto. Talvez alguém sugira um melhor.

Na verdade, é uma variante do arrasto percentual.

Razão: