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

 
borilunad:
a menos, é claro, que o próprio mercado os esteja ajustando para você, ou seja, programado com feedback

Inseri de um lado a coleta de estatísticas, e do outro a varredura por parâmetros transmitidos (por exemplo, varredura por período de ondulação) a fim de encontrar o máximo pelas estatísticas, e a redimensionamento periódico por uma tecla de atalho atribuída. Que outras formas existem?

Por falar em humor.

#property indicator_chart_window
void start(){
   if(Bid>Ask) Alert("Это конец света");
   return;
}

- indicador do fim do mundo.

 

Olá a todos!

Estou testando uma estratégia que envolve a abertura de uma ordem de mercado na abertura

decada candelabro de cinco minutos.

Algumas ordens o testador (MT-4 da Alpari) não abre e dá erro 148.

Este erro é causado por exceder o limite de pedidos abertos ao mesmo tempo.

Eu não vou abrir a cada cinco minutos na vida real.

P: Como posso remover qualquer limite de pedidos abertos ao mesmo tempo?

No testador?

Obrigado.

 

gyfto, você entendeu mal ou eu não o expliquei bem. Temos uma posição aberta, precisamos determinar seu preço aberto, e quando a barra fecha acima do preço aberto, nós saímos.

 
borilunad:
Victor, como você pode fazer isso sem externs, você precisa depurar no testador, na demonstração! Você realmente escreve de tal forma que não tem que editar nada? Concordo que a estabilidade é necessária em seu TS, mas é impossível não ajustar os parâmetros, a menos, é claro, que o mercado os ajuste, ou seja, você os programou com feedback! Então você já é um grande ás! Parabéns!


Não é isso, é só que comigo, tudo o que escrevo não tem quase nenhum parâmetro de otimização. Eu prefiro exatamente as estratégias baseadas na ação dos preços Induks que tenho estudado calmamente, só para poder trabalhar com eles. Mas só estou interessado neles para visualizar o que está acontecendo.

E para transformar os parâmetros em parâmetros, é um ajuste de mercado. E adequá-lo a um período de tempo específico é uma panaceia???

 
cursed:

gyfto, você entendeu mal ou eu não o expliquei bem. Temos uma posição aberta, precisamos determinar seu preço aberto, e quando a barra fecha acima do preço aberto, nós saímos.


A julgar pelo exposto acima, sua condição está no lugar errado. Inicialmente você deve organizar a busca de pedidos e depois, quando o pedido for encontrado, seu parâmetro deve ser comparado com algo mais.

Caso contrário, é comparado ao preço próximo do bar fora da busca e, portanto, não temos resultado.

 
hoz:

... E então os parâmetros, é um ajuste de mercado. E adequá-lo a um período de tempo específico é uma panaceia???

Sim, se esse prazo for o RealTime. :)
 
Zhunko:

Victor, você tem muitas variáveis em sua função e nenhuma declarada.

O compilador disse:

variável não definida

Uma variável não é definida. São 18 deles.


Vadim, posso ver que eles não são declarados. Há algum tempo venho pensando sobre isso. Você não declarou nenhuma variável globalmente, assim como eu. Mas NÃO há erros durante a compilação! Eu entendi que todas as suas variáveis são definidas através de parâmetros de função na inclusão, certo?

 
tara:
Sim, se esse período de tempo for RealTime. :)


Não é um ajuste, é uma espécie de auto-ajuste :)
 
hoz:


Vadim, posso ver que eles não são declarados. Há algum tempo venho pensando nisso. Você não declarou nenhuma variável globalmente, assim como eu. Mas NÃO há erros na compilação! Eu entendi que todas as suas variáveis são definidas através de parâmetros de função na inclusão, certo?

Qualquer variável deve ser declarada antes de poder ser utilizada. Você pode tê-la em parâmetros, pode tê-la globalmente na biblioteca.
 
<br / translate="no">

A julgar pela concepção da função, é altamente especializada. Por que colocá-lo na biblioteca? Especialmente porque provavelmente será chamado em loop em cada barra.

Você estava dizendo algo sobre velocidade e otimização. Você está criando um código muito lento. Na MQL4 não se deve colocar funções em loop. Quanto menos chamadas de função em um loop, mais rápido o código é executado.

Portanto, esta é uma função da biblioteca:

//+-------------------------------------------------------------------------------------+
//| Получаем машку с заданными параметрами                                              |
//+-------------------------------------------------------------------------------------+
double GetMA(int typeOfMA)
{
   switch (typeOfMA)
   {
      case 1:      return (iMA(NULL, i_fastMATF, i_fastMAPeriod, i_fastMAShift, i_fastMAMethod, i_fastMAApplied, i_fastMAIndex));
      case 2:      return (iMA(NULL, i_slowMATF, i_slowMAPeriod, i_slowMAShift, i_slowMAMethod, i_slowMAApplied, i_slowMAIndex));
      case 3:      return (iMA(NULL, i_filtrMATF, i_filtrMAPeriod, i_filtrMAShift, i_filtrMAMethod, i_filtrMAApplied, i_filtrMAIndex));
   }
}

Vadim, sobre Funções em Loop. Você quer dizer o que o operador do interruptor retorna? Mas não é como se eu estivesse obtendo valores sobre o número total de variáveis de loop. É apenas comparar o tipo da máscara recebida (variável de entrada da função) e depois calcular o valor da máscara. Acontece que não há cálculos adicionais. Eu apenas seleciono o tipo de máscara e pronto! Eu quero entender o que você quer dizer com isso:

Zhunko:

Na MQL4 você não deve colocar funções em laços. Quanto menos chamadas de função no laço, mais rápido o código funciona.

Posso esclarecer?
Razão: