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

 
hoz:

No parâmetro da própria função, vemos:

fi_Ticket = 0

Normalmente tais funções são chamadas após as ordens terem sido selecionadas, o que significa que elas terão um bilhete. Por que então atribuir o valor padrão a zero?

Se chamarmos a função sem este parâmetro, nem um único se será executado, e a função começará com a cadeia

RefreshRates();

O próximo passo é ainda mais interessante:

if (fs_Symbol != bs_Symbol || fi_Ticket < 0)
{
   if (fi_Ticket > 0)
   {
      bs_Symbol = OrderSymbol();
   }
   else
   {
     bs_Symbol = fs_Symbol;
                  }
                  if (bs_Symbol == Symbol())
                  {
                      bi_SymDigits = Digits;
                      bd_SymPoint = Point;
                  }

A variável fs_Symbol é imediatamente comparada à bs_Symbol.

Osímbolo bs_Symbol acima não foi inicializado, onde aprópria funçãofGet_MarketInfo() é chamada. E para que serve este bs_Symbol? Se a biblioteca se compila sem erros,

Se a biblioteca se compila sem erros, então a variável bs_Symbol deve ser declarada em algum lugar a nível global. Aí (ou em alguma outra função) deve-se buscar sua inicialização...

Também no estado em que se encontram:
if (fs_Symbol != bs_Symbol || fi_Ticket < 0)

Sefi_Ticket < 0, a próxima coisa a fazer...

if (fi_Ticket > 0)
{
   bs_Symbol = OrderSymbol();
}

e isto já está em contradição com a condição. No início do código, a condiçãofi_Ticket < 0 deve ser mantida, e então dentro desta condição o bilhete > 0. Onde está a lógica?

Nota: para que o código funcione, a condiçãofi_Ticket < 0 OU fs_Symbol != bs_Symbol deve ser mantida, o que significa que se houver mais se (fi_Ticket > 0) no final do código, isso significa que apenas a condição de entrada alternativa deve ser mantida.
 

Olá a todos! Vocês podem me ajudar, parece que não consigo entender isto))))

 
kera8383:

Olá a todos! Vocês podem me ajudar, parece que não consigo entender isto))))

Comece com as FAQ.
 
tara:

Você provavelmente está usando valores inaceitavelmente pequenos de StopLoss e TakeProfit, mas isso é apenas um palpite. Não há informações suficientes.


Não, minhas paradas são grandes, eu tenho os valores abaixo.

         SL=Ask + StopLoss*Point;     // значение StopLoss = 375
         TP=Ask - TakeProfit*Point;   // значение TakeProfit = 550
 
paladin80:

Não normalize as paradas dentro da OrderSend. Faça isso antes de RefreshRates e depois substitua. Imprima estes valores para ter certeza de que eles estão corretos. A propósito, aprenda a abrir uma posição sem parada, pois existem corretoras que não aceitam ordens com paradas. Depois de definir uma, modifique as paradas - ela passará.

Deslizamento muito pequeno = 2. O exemplo dá 3 e isso está em uma citação de 4 dígitos. Se você definir tal EA em uma cotação de 5 dígitos, o escorregamento será de 0,2 pontos. Haverá definitivamente erros.

Obrigado pelos sábios conselhos, eu os levei em consideração. Eu consertei o erro. A razão é simples: empresa de corretagem Alpari e tipo de conta de demonstraçãoECN. Tenho que abrir um pedido e depois modificá-lo.
 
momento alegre do dia a todos... Cavalheiros, por favor, ajudem, existe um problema assim.... Estou testando meu robô forex na alpari, ele trabalha em outra corretora, estou trabalhando com robô forex há três semanas e os resultados são diferentes. Fiz algumas pesquisas (claro que fiquei nervoso também..... piii) e percebi que os índices do indicador RSI, que é usado nos cálculos são ligeiramente diferentes daqueles que mostram o mesmo indicador na Alpari. Problema..... a diferença está em "microns :)" mas oooh é suficiente para mudar a EA. Pessoal, por favor, aconselhem como consertar este tipo de coisa, muito obrigado!
 
laveosa:
momento alegre do dia para todos ... cavalheiros ajudem, por favor, aqui está o problema .... Estou testando meu consultor especializado em Forex na Alpari, mas estou usando outra corretora, estou usando-a há 3 semanas em demonstração e os resultados são diferentes. Fiz algumas pesquisas (claro que fiquei nervoso também..... piii) e percebi que os índices do indicador RSI, que é usado nos cálculos são ligeiramente diferentes daqueles que mostram o mesmo indicador na Alpari. Problema..... a diferença está em "microns :)" mas oooh é suficiente para mudar a EA. Pessoal, por favor, aconselhem como consertar este tipo de coisa, muito obrigado!


As citações de diferentes CDs são diferentes. Demo - de real - também. Os índices são os mesmos.

É necessário testar e verificar os parâmetros de expo e indicadores do histórico da corretora com a qual você vai jogar...

E a expo tem que ser ajustada para real(manipulação de erros e todo o resto...).

 
StringSetChar não funciona no código. Você precisa substituir ":" por "." .

                        string    Object_Date_Secnd = TimeToStr(Object_Time,TIME_SECONDS);

                        for(int s1=0; s1<StringLen(Object_Date_Secnd); s1++) {
                           if(StringGetChar(Object_Date_Secnd,s1)==':' ) {
                              StringSetChar(Object_Date_Secnd,s1, '.');
                           }
                        }


- Por que o substituto não está funcionando?

Obrigado!

 
Então se o TS foi diferente na Alpari, não é uma garantia de que trará os mesmos resultados em outra corretora? E como podemos ajustá-lo em outra corretora se seu histórico não é tão completo como na Alpari, por exemplo? Mais perto do corpo, é possível ajustar os índices em outra corretora para que eles sejam idênticos aos da Alpari, por exemplo?
 
laveosa:
Então se o TS foi diferente na Alpari, não é uma garantia de que trará os mesmos resultados em outra corretora? E como podemos ajustá-lo em outra corretora se seu histórico não é tão completo como na Alpari, por exemplo? Mais perto do corpo, podemos ajustar o indicador em outra corretora para que ele traga os mesmos resultados que na Alpari, por exemplo?

Você pode - é isso... Seria útil fazer tal ajuste. Veja as histórias da MetaQuotes.