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 73

 
trader117:
Boa tarde. Como posso calcular um único Stop Loss para uma série de ordens com números mágicos exatos, para que esta série de ordens possa fechar no breakeven. Por exemplo, existem 3 pedidos: 1 Comprar lote 1.3320 com magia 1, 1 Comprar lote 1.3345 com magia 2 e 1 Comprar lote 1.3360 com magia 3. Como devo calcular o Stop Loss total para todas as ordens para que, se houver um movimento contra o preço, as ordens sejam fechadas sem perder?
Qual é a razão de se fazer a média do Stop Loss? Assim que uma posição é fechada por um SL, todas as outras posições são imediatamente fechadas por Fechar! Não há necessidade de perder graxas preciosas!
 
borilunad:
Qual é o objetivo de se obter a média de StopLoss? Assim que eu fecho uma posição no SL, as outras são imediatamente fechadas no Close! Não há necessidade de perder graxas preciosas!

Por um lado, sim, mas por outro, vejo uma vulnerabilidade imediata: uma ordem pode não ser fechada por uma EA por muitas razões, e uma Stop Loss será fechada de qualquer forma, caso contrário, esta é uma reclamação séria para o corretor. + A desconexão não permitirá que uma ordem seja fechada. Alguém mais tem alguma idéia para implementar este algoritmo para o SL total da pirâmide de pedidos?
 
trader117:

Por um lado, sim, mas vejo uma vulnerabilidade imediata no fato de que o fechamento de uma ordem por uma EA pode não ser executado por uma variedade de razões, e um stop loss será fechado de qualquer forma, caso contrário isso já é um motivo sério para uma reclamação contra o corretor. + A desconexão não permitirá que uma ordem seja fechada. Quem mais tem idéias para implementar este algoritmo para SL comum para uma pirâmide de ordens?
Eu não estou dizendo para não colocar SL nos outros! Eles fecharão e você perderá ainda menos do que a média do SL! Portanto, no Real, você não fechará ao mesmo tempo, mas um a um! Portanto, econômico para fechar o resto de Close após fechar uma posição no SL! Sim, e pesar o código uchuchitimo, porque SL estabeleceu repetidamente, e cada vez para conduzir o cálculo da média? E cada vez que você adicionar uma posição, recalcule e reinicie o SL, e repito, você só perderá nele, não ganhará!
 

Eu não consigo lidar com isso, não sei qual é o problema. A tarefa é a seguinte: encontrar a barra de um determinado tempo na ata. Se o tempo ainda não chegou, procure-o ontem, caso contrário procure-o no dia de hoje. Eu escrevi o seguinte roteiro:

#property show_inputs

extern string time = "15:25";
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   string comment = StringConcatenate(" TimeCurrent = ", TimeCurrent(),
      "\n TimeToStr(TimeCurrent) = ", TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES));
   datetime d_time = StrToTime(time);
   comment = StringConcatenate(comment,
      "\n d_time = ", d_time,
      "\n TimeToStr(d_time) = ", TimeToStr(d_time, TIME_DATE|TIME_MINUTES));
   int delta_time = TimeCurrent() - d_time;
   comment = StringConcatenate(comment,
      "\n delta_time = ", delta_time);
   if(delta_time < 0){
      d_time -= 60*60*24;
      comment = StringConcatenate(comment,
         "\n\n delta_time < 0");
   }else{
      comment = StringConcatenate(comment,
         "\n\n delta_time > 0");
   }
   //
   comment = StringConcatenate(comment,
      "\n\n d_time = ", d_time,
      "\n TimeToStr(d_time) = ", TimeToStr(d_time, TIME_DATE|TIME_MINUTES));
   delta_time = TimeCurrent() - d_time;
   comment = StringConcatenate(comment,
      "\n delta_time = ", delta_time);
   double d_delta_time = delta_time;
   double value = d_delta_time/60;
   int start = MathCeil(value);
   datetime sought_time = iTime(Symbol(),PERIOD_M1,start);
   comment = StringConcatenate(comment,
      "\n\n value = ", DoubleToStr(value, 3),
      "\n start = ", start,
      "\n sought_time = ", sought_time,
      "\n TimeToStr(sought_time)= ", TimeToStr(sought_time, TIME_DATE|TIME_MINUTES));
   Comment(comment);
//----
   return(0);
  }

Isto é o que ela produz:

O algoritmo ali é o seguinte. Observamos a diferença entre a hora atual e a hora dada, e se for menos de zero, voltamos um dia atrás. Então dividimos a diferença por 60 e arredondamos para cima, este será o número da barra na M1 e olhamos para seu tempo. Não coincide com o conjunto dos externs. Onde se encontra este erro algorítmico?

 
gyfto:

Eu não consigo lidar com isso, não sei qual é o problema. A tarefa é a seguinte: encontrar a barra de um determinado tempo na ata. Se o tempo ainda não chegou, procure-o ontem, caso contrário procure-o no dia de hoje. Eu escrevi o seguinte roteiro:

Isto é o que ela produz:

O algoritmo ali é o seguinte. Observamos a diferença entre a hora atual e a hora dada, e se for menos de zero, voltamos um dia atrás. Então dividimos a diferença por 60 e arredondamos para cima, este será o número da barra na M1 e olhamos para seu tempo. Não coincide com o conjunto dos externs. Onde se encontra este erro algorítmico?

A volatilidade é baixa à noite, há minutos quando não há um único comércio, portanto não há barra. Olhe para a história para ver se todas as barras estão presentes.
 
Roger:
Olhe para a história para ver se todas as barras estão presentes.


Você pode alternar entre o valor encontrado em while() e a barra que você está procurando. Vou tentar.
 
gyfto:

Eu não consigo lidar com isso, não sei qual é o problema. A tarefa é a seguinte: encontrar a barra de um determinado tempo na ata. Se o tempo ainda não chegou, procure-o ontem, caso contrário procure-o no dia de hoje. Eu escrevi o seguinte roteiro:

Isto é o que ela produz:

O algoritmo ali é o seguinte. Observamos a diferença entre a hora atual e a hora dada, e se for menos de zero, voltamos um dia atrás. Então dividimos a diferença por 60 e arredondamos para cima, este será o número da barra na M1 e olhamos para seu tempo. Não coincide com o conjunto dos externs. Onde se encontra este erro algorítmico?

Você está praticando, ou o iBarShift() não gostou?
 
TarasBY:
Praticando, ou não gostou do iBarShift()?
Eu sou um idiota.
 
Por favor, me dê o número/endereço do servidor demo para MT4 da MetaQuotes. Acabo de baixar o MT4 do site da MetaQuotes e ele está no TeleTrade-Demo (Company Teletrade D.J.), mas quero me conectar à MQ e trabalhar em suas cotações.
 
Saudações a todos, uma pergunta: é possível abrir uma posição no fechamento do bar (trabalhando em barras de 15 minutos), se sim, como fazê-lo com o mt4?
Razão: