[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 145

 
MK07:

O recuo (em barras) da borda esquerda da janela do gráfico até a linha vertical amarela é sempre INSTITUÍDO para QUALQUER número de barras visíveis na janela e igual a oito barras. Assim que estas oito barras ultrapassam a borda da janela esquerda, TODAS as linhas do gráfico aparecem imediatamente e então tudo está normal. Pode ser fixado e como?


tente assim

   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
 
Preciso construir um indicador em TODAS as Barras VISTAS na janela, e depois encontrar seu máximo e mínimo neste ponto! Ajude-me a resolver o problema, mencionado em meu posto anterior, tenho um exemplo, mas não entendo tudo, alguém pode explicar estas três linhas uma a uma?
 // обработка видимых баров.
   int bars_count=WindowBarsPerChart();
   int bar=WindowFirstVisibleBar();
   for(int i=0; i<bars_count; i++,bar--)
     {
      // номера баров уменьшаются, так как нумерация идет в обратном порядке.
      // ...
     } 
 
MK07:
Esta construção de código permite recalcular a cada novo tick o indicador apenas em zero e a primeira barra (para verificação), em vez de recalcular novamente o indicador já calculado. Mas eu preciso construir um indicador por TODAS as barras visíveis na janela, e então encontrar seu máximo e mínimo neste ponto! Ajude-me a resolver o problema, mencionado em meu post anterior. há um exemplo, mas nem tudo está claro para mim. alguém pode explicar estas três cordas linha por linha?

Não está muito claro o que você precisa, se precisar encontrar o MAX e o MIN das barras visíveis do indicador, primeiro desenhe o indicador e depois procure.

Talvez seja melhor usar WindowPriceMax(), WindowPriceMin().

 
r772ra:

Stepan2

Obras


Afinal, há uma falha com as matrizes, mas com o tempo

c para obras sem nenhum problema

))

 

Boa tarde.

Pessoal, digam-me com o que testar os EAs. Porque o MT construído dá uma média de 50% de qualidade de simulação, e as pessoas estão postando mais de 90% em capturas de tela.

 
jusser:

Boa tarde.

Pessoal, vocês podem me aconselhar sobre o que testar EAs? Porque o MT construído dá uma média de 50% de qualidade de simulação, e em imagens de tela as pessoas postam mais de 90%.


Se você tiver todo o histórico de minutos, será 90%. 99% é alcançado através da criação de um fxt de histórico de carrapatos por você mesmo. Isto geralmente é feito usando citações dukascoping. Scripts do Google sobre o tema de 99% de testes de qualidade

 
Boa tarde, você poderia me dizer se existe um indicador no MT4 que mostra interesse aberto? Se não, pode ser substituído por algo semelhante?
 
Olá, como implementar uma condição no código do Expert Advisor para definir o mesmo tipo de pedido 50 pips após o último pedido
 
Armen63:
Olá, como implementar uma condição no código do Expert Advisor para definir o mesmo tipo de pedido 50 pips após o último pedido
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает расстояние в пунктах между рынком и ближайшей       |
//|             позицей                                                        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    op - торговая операция          (    -1      - любая позиция)           |
//|    mn - MagicNumber                (    -1      - любой магик)             |
//+----------------------------------------------------------------------------+
int DistMarketAndPos(string sy="", int op=-1, int mn=-1) {
  double d, p;
  int i, k=OrdersTotal(), r=1000000;

  if (sy=="" || sy=="0") sy=Symbol();
  p=MarketInfo(sy, MODE_POINT);
  if (p==0) if (StringFind(sy, "JPY")<0) p=0.0001; else p=0.01;
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
        if (mn<0 || OrderMagicNumber()==mn) {
          if (OrderType()==OP_BUY) {
            d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
          if (OrderType()==OP_SELL) {
            d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
        }
      }
    }
  }
  return(r);
}
 

Favor informar onde inserir uma linha no código no indicador anexo, eu não sei nada sobre isso. O problema é que este indicador mostra o movimento dos pares de moedas em uma janela separada, mas como um dos pares está faltando na janela de visão geral do mercado, não mostra nada. Fui aconselhado a usar este aqui:

O erro pode ocorrer somente neste lugar

double Vol = iCustom(s[n],0, "Ind ZeroLag MACD",FastEMA,SlowEMA,0,0) / MarketInfo(s[n], MODE_POINT);

quando não há dados no MarketInfo(símbolo, MODE_POINT), obtemos uma divisão por zero.

inserir cheque em MarketInfo(símbolo, MODE_POINT)

Não sei onde colocá-lo (não vejo o par GBP/NZD na visão geral do mercado) . Por favor, informe.

Arquivos anexados:
indicator.mq4  6 kb