[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 59

 
dzhini:
Bem...., por favor, PROFI, me dê uma resposta, o que fazer com o indicador. Diga-me, é possível ou impossível? (A pergunta foi escrita anteriormente na linha, se eu a duplicar, terei um segundo amarelo :o) )

É preciso fazer um choque com a história.

Com a Alpari, não há problema. Outros corretores têm problemas. Não me lembro quais (além disso, é aceito não falar sobre eles aqui em um fórum).

 
OrdersTotal<br / translate="no"> int OrdersTotal()
Devolve o número total de ordens em aberto e pendentes.

É possível saber apenas o número total de pedidos abertos?
 
gince:

É preciso fazer um choque com a história.

Com a Alpari, não há problema. Outros corretores têm problemas. Não me lembro de quais (além disso, é aceito não falar sobre eles aqui no fórum).

Tenho história suficiente desde o final de junho de 2010 (em teoria, deve ser o suficiente para exibir janeiro de 2011). Mas mesmo isso não funciona. Há algum ponto fundamental na compatibilidade dos comandos indicadores e da operação do testador.
 
Jaguar1974:
É possível saber apenas o número total de pedidos abertos?
 int Opend(){
     int Ord=0;
     for(int cnt=0;cnt<OrdersTotal();cnt++){
        if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==true){
          if(OrderMagicNumber()==Magic){
            if(OrderSymbol()==Symbol()){
              if(OrderType()<2)Ord++;
      } } } }        
  return(Ord);} 
 
Boa tarde! Ajude a resolver um problema. Tenho um e-CrossCCI Expert Advisor (não meu). O Expert Advisor trabalha quando a linha indicadora da CCI cruza um nível zero, como ela funciona (rentável ou não é o ponto). E funciona tanto com indicadores embutidos como com indicadores personalizados. Existe um indicador estocástico Premier. Em meu Conselheiro Especialista, mudei o indicador CCI para o código de CCI, na verdade deixando o código inalterado (o princípio da mesma passagem de zero). Coloquei-o para testes. Não faz nenhum pedido. Qual pode ser o problema? Tudo está anexado. O resultado da solução de problemas, se possível, consulte ban_61@mail.ru/.

Obrigado de antemão!!!
Arquivos anexados:
123.rar  4 kb
 
ban61:
Boa tarde! Ajude a resolver um problema. Tenho um e-CrossCCI Expert Advisor (não meu). O Expert Advisor trabalha quando a linha indicadora da CCI cruza um nível zero, como ela funciona (rentável ou não é o ponto). E funciona tanto com indicadores embutidos como com indicadores personalizados. Existe um indicador estocástico Premier. Em meu Conselheiro Especialista, mudei o indicador CCI para o código de CCI, na verdade deixando o código inalterado (o princípio da mesma passagem de zero). Coloquei-o para testes. Não faz nenhum pedido. Qual pode ser o problema? Tudo está anexado. O resultado da solução de problemas, se possível, consulte ban_61@mail.ru/.

Obrigado de antemão!!!
você já tentou descobrir como funcionam os amortecedores indicadores? Artigo muito útil (https://docs.mql4.com/ru/indicators/iCustom)
 
dzhini:
você já tentou descobrir como funcionam os amortecedores indicadores? Artigo muito útil (https://docs.mql4.com/ru/indicators/iCustom)

Eu li o artigo. O primeiro indicador estocástico parece ser prescrito corretamente também, acrescentando parâmetros de entrada:

externo int StochasticLenght=8;

externo int StochasticMode=0;

Externo int. SmoothLength=25;

duplo nível externo1=0,9;

duplo nível externo2=0,2;

o indicador é escrito

duplo cci = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

duplo cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

o restante do código fonte permanece inalterado.

-

-

 
ban61:

Eu li o artigo. O primeiro indicador estocástico parece ser prescrito corretamente também, acrescentando parâmetros de entrada:

externo int StochasticLenght=8;

externo int StochasticMode=0;

Externo int. SmoothLength=25;

duplo nível externo1=0,9;

duplo nível externo2=0,2;

o indicador é escrito

duplo cci = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,1);

duplo cci1 = iCustom(NULL,0, "Premier stochastic",StochasticLenght,StochasticMode,SmoothLength,Level1,Level2,0,2);

o restante do código fonte permanece inalterado.

-

-

Pergunta: você quer aprender como programar ou apenas ter seu bot corrigido? Se o primeiro, então você precisa entender porque a execução do pedido ocorre. Se é o segundo, você deveria ter dito logo.

Quanto ao seu código, ele toma dados do mesmo buffer (do qual existem 5) sobre os castiçais anteriores e pré-abertos, e espera por estas condições: (cci1<0 && cci>0) ou (cci1>0 && cci<0) .... e eu acho que vai esperar para sempre.

 
Por favor, alguém olhe para minha pergunta anterior. Não consigo identificar e corrigir o erro. O código compila, mas no testador não dá o resultado esperado.
 

Olá a todos!

Eu tenho uma pergunta simples.

Há um pequeno programa, que consiste em três arquivos:

1. expert vol1, o arquivo que contém o int start () etc.

#include <Variables.mq4>
#import "statistics.mq4"
#import "files.mq4"

int init_main (double &MAIN[], int quantity);
int write (int fh);
int init()
  {  
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()
  {
  
  init_main(MAIN,50000);
for (int i = 0; i < 1000; i++){
int fh = write(Name);
}
   return(0);
  }

Como você pode ver, eu incluo #incluo <Variáveis.mq4>
e importo #importar "statistics.mq4", #importar "files.mq4 ".

2. Variables.mq4 - contém variáveis.

string  Name = "new";
double MAIN [50000];
double TEN [10];
double CUR [10];
3. files.mq4 este vil contém várias funções

int init_main (double &MAIN[], int quantity){

int count = 0;
int time = 0;
int end_time = 0;

time = TimeCurrent();

end_time = time + quantity;


while (time != end_time){

MAIN[count] = Ask;

Alert(MAIN[count]);

count++;

time = TimeCurrent();

while (time == TimeCurrent()){}

}
}

int write (int fh){ 

if (fh <  0){
     
     Alert("Неудается открыть файл с таким именем, ошибка ", GetLastError() );
     FileClose(fh);
                  }
     
                      
                      if (fh > 0) {

                      //Alert("Записываю тики в файл ", file_name, " !");
                      //Alert(StrToInteger(CharToStr(StringGetChar(file_name,0))));
                     
                 
                 
               
                      FileSeek(fh, 0, SEEK_END);
                      FileWrite(fh, TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS), " ", Ask, " ", Bid);
                      FileClose(fh);
                      return;

            }  
}
A essência do problema é que o compilador me dá 'MAIN' - variável não definida e

Nome' - variável não definida !

Eu os declarei como Variables.mq4 ?

Se alguém puder me ajudar, eu ficarei muito grato!

Obrigado antecipadamente pela resposta!

Razão: