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

 
sergeev:

O que o fórum tem a ver com isso?

a fila de pedidos, é claro.


Obrigado pela resposta sensata
 
Server:

Obrigado pela resposta sensata

Ainda mais inteligível:

Você organiza uma enumeração de posições em aberto. Filtrá-los por símbolo, tipo e magia. Se o lucro da posição selecionada corresponder ao critério de acionamento da rede de arrasto - mover a parada desta posição para o nível especificado, não esquecendo de fazer todas as verificações sobre a correção destas ações.

Já cheguei à minha vez... A seguir... :)

 
alsu:



Obrigado por sua resposta sobre a travessia da CCI com zero.
 
MK07:

Obrigado por sua resposta sobre a travessia da CCI com zero.

Foi-lhe mostrado como calcular as passagens CCI.

//+------------------------------------------------------------------+
//|                                                    count bar.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012,mario"
#property link      ""

datetime TimeStart = 0;
//+------------------------------------------------------------------+
int init(){return(0);}
int deinit(){Comment("");return(0);}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   int f;
   double   MyPoint = 0.0001;
   bool     cu1     = false;
   bool     cu2     = false;
   double   ma_1    = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,0);
   double   ma1     = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,0);
   double   ma_2    = iMA(NULL,0,31,0,MODE_SMA,PRICE_OPEN,1);
   double   ma2     = iMA(NULL,0,11,0,MODE_SMA,PRICE_OPEN,1);
//Уточнение-при кое събитие ще запомни датата-пресичането
//Уточняем,когда запомнит время пересечения
   if(ma2<ma_2 && ma1>ma_1)
      TimeStart=Time[0]; 
   if(ma2>ma_2 && ma1<ma_1)
      TimeStart=Time[0];
//Кога е истината
//Когда истина
   if(ma1>ma_1)
      cu1=true;
   if(ma1<ma_1)
      cu2=true;
//Шифтвам до датата-когато има истина
//Шифт до дата истини
   if(cu1==true || cu2==true)  
      int b1=iBarShift(Symbol(), PERIOD_H1, TimeStart);      
      int b2=iBarShift(Symbol(), PERIOD_H1, TimeCurrent());
//Преброяване на баровете-от нулевия до последната дата
//Пересчитаем бари от нуля до последная дата
    for(int j=b2;j<=b1;j++){
         f=b1-b2;
      }
      
   Comment("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
             "\nТекущ спред: ",DoubleToStr((Ask-Bid)/MyPoint,1),
             "\n=====================",
             "\n Начална дата:           ",TimeToStr(TimeStart,TIME_DATE|TIME_SECONDS), 
             "\n Брой барове:            ",f,
             "\n=====================" 
             ); 
   return(0);
  }
//+------------------------------------------------------------------+
Acho que você será capaz de lidar com isso a partir daqui.
 
alsu:

O período_converter do fornecimento padrão não é adequado?


Claro que não, não forma semanas e acima de semanas corretamente, você já o usou?

CAMARADAS, BRONTO, BRONTO!!! HELP

Outra pergunta, qual é o erro do testador? Quantas barras no mínimo o testador precisa funcionar e por que esta restrição é necessária?

Este parâmetro pode ser editado?

 
ZZZEROXXX:


Não, claro que não forma semanas e acima de semanas corretamente, você mesmo já o usou?

CAMARADAS, BRONTO, BRONTO!!! HELP

Outra pergunta, qual é o erro do testador? Quantas barras o testador precisa pelo menos para começar?

Ponha 10 milhões em Configurações!
 
borilunad:
Ajuste para 10 milhões em Configurações!

Eu tenho um milhão, mas descobri que se for menos de 100 barras, o testador não faz nenhum teste. Então a questão é, se a regra das 100 barras é respeitada, por que ela não testa dentro dessas 100 barras e só começa depois?
 
ZZZEROXXX:

Eu tenho um milhão, descobri que se menos de 100 barras, o testador não faz nenhum teste. Então a questão é: se a regra das 100 barras é respeitada, por que ela não testa dentro dessas 100 barras e só começa depois?
Os 10 milhões de barras são para as barras de minutos em que o testador simula carrapatos. E 100 barras-minutos é muito pequeno, menos do que as barras que cabem em uma tabela de 1 minuto. O testador deve funcionar se houver pelo menos 1440 barras para funcionar de 0,00 a 0,00! Isso é provavelmente o mínimo, mas por que você precisa disso? Você queria testar em uma seção curta? Mas não se pode definir testes por horas, apenas por datas, dias inteiros. No seu caso, eu entendo.
 

Esta é a função do indicador:

//+-------------------------------------------------------------------------------------+
//| Определение индекса бара, с которого необходимо производить перерасчет              |
//+-------------------------------------------------------------------------------------+
int GetRecalcIndex(int& total)
{
   int counted_bars = IndicatorCounted();          // Сколько баров уже посчитано
   total = Bars - 1;                               // Определение первого бара истории
   if (indBarsCount > 0 && indBarsCount < total)   // Если не нужно рассчитывать всю..
      total = indBarsCount;                        // ..историю, то начнем с указанного..
                                                   // ..бара - indBarsCount
   if (counted_bars == 0)                          // Кол-во посчитанных баров - 0. 
   {
      DeleteAllObjects();                          // Не забудем удалить все созданные..
                                                   // ..объекты
      return(total);                               // Нужно пересчитать всю историю
   }
   return(Bars - counted_bars - 1);                // Начинаем с первого непосчитанного..
                                                   // ..бара
}

Uma coisa eu não entendo. Normalmente, eles verificam o número de barras não calculadas como esta:

Barras - contadas_barras

A essência é a seguinte. Por exemplo, temos 500 barras. Também foram calculados 500. Após a execução da função, ela retornará 500 - 500 - 1 = -1. É normal?

Se não fosse -1 no final, ele retornaria 0, ou seja, todas as barras são calculadas. Como entender este ponto?

 
hoz:

Esta é a função do indicador:

Uma coisa eu não entendo. Normalmente, eles verificam o número de barras não calculadas como esta:

Barras - contadas_barras

A essência é a seguinte. Por exemplo, temos 500 barras. Também foram calculados 500. Após a execução da função, ela retornará 500 - 500 - 1 = -1. É normal?

Se não fosse -1 no final, ele retornaria 0, ou seja, todas as barras são calculadas. Como entender este ponto?

Uma barra zero não pode ser "calculada" porque ainda não está completa.