Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 930
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
DiPach , obrigado novamente por sua ajuda. Analisei seus exemplos. Fiz algumas mudanças no meu código de inicialização. O resultado é este:
O que foi mudado:
1. Eu movi a linha contendo int awd1[]; declaração de array dentro da função OnStart()
2. Adicionada a função ArrayResize(awd1,6,7);
3. O roteiro funciona.
Vou tentar tirar algumas conclusões. Em scripts, é correto declarar matrizes dentro da função OnStart(). Após a declaração do array, ele deve ser necessariamente definido em seu tamanho usando a função ArrayResize(); caso contrário, o compilador jurará. Minhas conclusões estão corretas? Caso contrário, favor dar a interpretação correta.
DiPach , obrigado novamente por sua ajuda. Analisei seus exemplos. Fiz algumas mudanças no meu código de inicialização. O resultado é este:
O que foi mudado:
1. Eu movi a linha contendo int awd1[]; declaração de array dentro da função OnStart()
2. Adicionada a função ArrayResize(awd1,6,7);
3. O roteiro funciona.
Vou tentar tirar conclusões. Em scripts, é correto declarar matrizes dentro da função OnStart(). Depois que a matriz for declarada, ela deve ser necessariamente definida em tamanho usando a função ArrayResize(); caso contrário, o compilador gerará um erro. Minhas conclusões estão corretas? Caso contrário, por favor, me dê uma interpretação correta.
De modo geral, sim. E vai funcionar, pelo menos silenciosamente, mas muito bem. :)
Especificarei apenas os seguintes pontos:
1. Ao declarar variáveis e arrays normais, acho que você deve considerar o que este roteiro (ou EA/indicador) vai fazer e para que estas variáveis/arrays são destinadas.
Seu fluxo de trabalho de script anexo permite a declaração de variáveis não em um nível de programa global, mas localmente. Ou seja, a matriz é declarada uma vez. E não há necessidade de declarações repetidas (looped) no corpo Start(), por exemplo, antes de iniciarmos o loop for() e, por exemplo, quando precisamos de mais alguma declaração variável após for() {}:
Assim, a matriz é declarada não no nível das variáveis globais do programa, mas no corpo do OnStart() antes da declaração do for() loop - é bastante aceitável neste esquema de execução do programa.
Do meu ponto de vista, se não houver necessidade de declarar algo no nível das variáveis globais em um programa, é melhor aproveitar esta oportunidade e declarar tudo o que pudermos localmente.
2. Quanto ao código, deixe-me esclarecê-lo:
Ou seja:
É assim que 5 seria apropriado:
P./S.: Mais um esclarecimento, por precaução, usando ArrayResize() - para arrays dinâmicos. Na documentação desta função , há informações quando esta função não pode redimensionar arrays dinâmicos.
Por que não posso adicionar amigos?
Olá! Como posso fazer com que o novo preço seja mostrado primeiro e o preço anterior caia para o fundo e assim por diante? Dei um exemplo para que ficasse claro.
Olá! Como posso fazer com que o novo preço seja mostrado primeiro e o preço anterior caia para o fundo e assim por diante? Isso seria um exemplo claro.
Eu fiz um exemplo, e com as condições mais ou menos você mesmo pode descobrir:
Eu fiz um exemplo, e você pode trabalhar os termos mais ou menos por conta própria:
Olá! Como posso fazer com que o novo preço seja mostrado primeiro e o preço anterior caia para o fundo e assim por diante? Para deixar claro, eu dei um exemplo.
Aqui está um código completamente primitivo.
Aqui está um código perfeitamente primitivo feito.
Olá a todos. Tentou abrir uma ordem comercial no testador de estratégia usando um roteiro rudimentar, falhou.
int start()
{
//----
int res;
double ask=Close[0]+MarketInfo(_Symbol,MODE_SPREAD)*Ponto;
res=OrderSend(Symbol(),OP_BUY,0.1,ask,3,0,0,0,",0,0,0,Blue);
if(res>-1)Alerta("Abrir pedido de compra com bilhete ",res);
//----
retorno(0);
}
Coloquei o roteiro no gráfico de teste no modo de visualização, mas a ordem comercial abre no terminal MT4.
Também não posso obter informações sobre pedidos abertos no testador de estratégias usando o SimpleFXTester_v2.ex4.
Por favor, ajude-me a entender isto.
Olá a todos. Tentou abrir uma ordem comercial no testador de estratégia usando um roteiro rudimentar, falhou.
int start()
{
//----
int res;
double ask=Close[0]+MarketInfo(_Symbol,MODE_SPREAD)*Ponto;
res=OrderSend(Symbol(),OP_BUY,0.1,ask,3,0,0,0,",0,0,0,Blue);
if(res>-1)Alerta("Abrir pedido de compra com bilhete ",res);
//----
retorno(0);
}
Coloquei o roteiro no gráfico de teste no modo de visualização, mas a ordem comercial abre no terminal MT4.
Também não posso obter informações sobre pedidos abertos no testador de estratégias usando o SimpleFXTester_v2.ex4.
Por favor, ajude-me a entender isto.