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

 
Stepan241:
Modifiquei ligeiramente seu intikator em termos da apresentação das informações. Dê uma olhada mais de perto. Há nele sinais mistos.

Postado excluído. Um deles já está proibido há um mês.
 
001:

Era exatamente o que eu estava descrevendo esta lógica, com um ticker, então com um ticker, eu não entendo como implementá-la melhor no código. Não consigo pensar em nada além de uma matriz. Graças a todos os que responderam.
Leia com atenção os posts anteriores. Eu já escrevi que é mais fácil abrir uma pose oposta com outro magik. Então a verificação de perda de posição saltará uma posição já aberta em oposição e não haverá reaberturas.
 
Vinin:

Postado excluído. Um deles já está proibido há um mês.
Modifiquei este indicador apenas para um propósito, para ver os sinais com mais detalhes. Se houver divergências, elas são sempre mostradas com linha vermelha no indicador NORMAL. Não estou dizendo que seja ruim ou que tenha falhas, é ótimo. Não estou dizendo que é ruim ou com falhas, é ótimo... Só se você quiser que um iniciante entenda por que os sinais estão faltando, é melhor você observar e não apenas ler.
 
Stepan241:
Modifiquei este indicador com um propósito - ver os sinais com mais detalhes. Se houver sinais dirigidos de maneira diferente, eles são sempre mostrados com uma linha vermelha no indicador NORMAL. Não estou dizendo que seja ruim ou que tenha falhas, é ótimo. Não estou dizendo que é ruim ou com falhas, é ótimo... Só se você quiser que um iniciante entenda por que os sinais estão faltando, é melhor você observar e não apenas ler.
Você deve "observar" em particular, e não despejar indicadores quebrados no fórum do site oficial ...
 
artmedia70:

Você precisa ajustar os dígitos para o iene se você estiver trabalhando com ele e o símbolo do pedido contém JPY. Não se preocupe - esta função fará tudo por você. E deve ser colocado, assim como quaisquer outras funções fora do corpo da EA. E você deve chamá-lo da EA da seguinte forma:



if (isCloseLastPosByStop(Symbol(), OP_BUY, Magic)) // Если последняя закрытая позиция Buy на текущем графике с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop(USDJPY, OP_SELL, Magic)) // Если последняя закрытая позиция Sell с символом USDJPY с магиком Magic была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
//--------------------------------------------------------------------------------------------------------------------------
if (isCloseLastPosByStop()) // Если любая последняя закрытая позиция с любым символом и любым магиком была закрыта по стопу, то ...
   {
      // .......... тут код, который выполнится при данном условии
   }
артем,я выбрал третье условие, и вбил самый простейший код "Alert" и что,
у меня в истории были и убытки и прибыли, функция срабатывала в любом случае и при прибыли и при убытке 

 

Como posso obter o lucro/perda dos últimos dez pedidos de toda a história?

 
DhP:

Como posso obter o lucro/perda das últimas dez encomendas de toda a história?


pegue uma calculadora, faça as contas))))

.

.

.

.

.

Foi-me mostrado recentemente o código para o último pedido fechado, veja se você consegue colocá-lo para trabalhar.

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {// Объявление функции. Передаваемые параметры: sy = символ, op - тип, mn - магик
  datetime t;                                                  // Переменная содержит время закрытия ордера
  double   ocp, osl;                                           // ocp - цена закрытия позиции, osl - цена СтопЛосс закрытой позиции
  int      dg, i, j=-1, k=OrdersHistoryTotal();                // k содержит общее количество ордеров в истории

  if (sy=="0") sy=Symbol();                                 // Если в ф-цию передан sy равный 0 или NULL, то использовать символ графика
  for (i=0; i<k; i++) {                                     // Цикл по массиву закрытых ордеров
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {      // Если выбран ордер из массива закрытых ордеров, ...
      if (OrderSymbol()==sy || sy=="") {                    // ... если его символ совпадает с нашим, ...
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {  // ... если его тип Бай или Селл, ...
          if (op<0 || OrderType()==op) {                // ... если тип ордера равен или -1 (имеется ввиду любой) или равен переданному в ф-цию, ...
            if (mn<0 || OrderMagicNumber()==mn) {       // ... если его магик или любой (-1) или равен переданному в ф-цию (магику советника), ...
              if (t<OrderCloseTime()) {    // ... если переменная t содержит время закрытия меньше, чем время закрытия выбранного ордера, то ...
                t=OrderCloseTime();        // ... то присвоим переменной t время закрытия выбранного ордера (этот ордер закрыт позже предыдущего)
                j=i;                                        // Запишем в переменную j индекс найденного ордера с максимальным временем закрытия
              }
            }
          }
        }
      }
    }
  }                                                       // По окончании цикла в переменной j находится индекс последнего закрытого ордера
  if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {      // Выберем его по индексу
    dg=MarketInfo(sy, MODE_DIGITS);                       // Количество цифр после десятичного точки в цене инструмента, заданного переменной sy
    if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2; // Честно... точно не скажу, но вижу, что корректировка под йену
    ocp=NormalizeDouble(OrderClosePrice(), dg);           // Нормализуем цену закрытия ордера для дальнейшего сравнения с ценой СтопЛосс
    osl=NormalizeDouble(OrderStopLoss(), dg);             // Нормализуем цену СтопЛосс ордера для сравнения с ценой закрытия
    if (ocp==osl) return(True);                           // Если эти цены равны, значит поза закрыта по стопу, возвращаем значение "Истина"
  }
  return(False);                                          // Возвращаем "Ложь"
}
 
Existe algum roteiro ou consultor que compre várias encomendas e venda todas as encomendas a + lucro ... diga-me quem sabe por favor
 

Prezados usuários do fórum. Quem pode me dizer como escrever corretamente a condição "para uma ordem de compra de mercado abrir abaixo do preço de abertura da ordem de compra anterior do mercado?

 
fanat:

Prezados usuários do fórum. Quem pode me dizer como escrever corretamente a condição "para uma ordem de compra de mercado abrir abaixo do preço de abertura da ordem de compra anterior do mercado?

Há algumas páginas atrás publiquei um procedimento que busca na história o último comércio com o símbolo especificado e devolve seu lucro. Usando este código como base, você pode devolver não o lucro do último negócio, mas por exemplo o preço de abertura ou fechamento do último negócio..... ou quaisquer outros dados.