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 1094
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
Você coloca manualmente a EA nos gráficos e quer que ela abra os pedidos MaxOpenOrders ou TOTAL dos pedidos MaxOpenOrders em TODOS os gráficos? E que ordens: apenas as do mercado ou todas elas, incluindo limite e parada?
Você coloca manualmente a EA nos gráficos e quer que ela abra os pedidos MaxOpenOrders ou TOTAL dos pedidos MaxOpenOrders em TODOS os gráficos? E que ordens: apenas as do mercado ou todas elas, incluindo limite e parada?
Qual é a finalidade das palavras "nesta estratégia"? A magia é necessária se houver negociações manuais na conta, ou se outra EA estiver em execução, para que estas ordens não sejam tocadas. Eu acho que sim.
Ela precisa abrir para todos os símbolos. Suponha que a MaxOpenOrders seja 1, ela deve abrir apenas uma ordem de mercado. Este é um bot para opções binárias, não há ordens pendentes. Entretanto, funciona em série, se a posição for fechada com prejuízo, então a mesma posição é aberta, apenas com um lote maior, e até que a série termine com um comércio lucrativo, nenhum comércio deve ser aberto para outros instrumentos.
OK, eu perdi a parte das opções binárias. Por alguma razão, parece-me que se eu fixar manualmente o mesmo EA em gráficos diferentes, ele ainda contará como executando EAs diferentes. E para TODAS as opções do gráfico 1 serão executadas (bem, quando funcionar corretamente). Eu mesmo poderia estar errado por ser um principiante. Considerei desta forma a moeda múltipla em minha EA:
cadeia de entrada TradeSymbols = "EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF, GBPCAD"; // símbolos para negociação
Símbolos de corda[50]; // 50 é o número máximo de símbolos
int SymbolCount;
//--------------------------------------------------
int OnInit()
{
se (IsTesting() || !ExtractSymbols())
{
SymbolCount = 1;
Símbolos[0] = Símbolo();
}
return(INIT_SUCCEED);
}
//--------------------------------------------------
Extrato de BoolSymbols()
{
ushort Comma = StringGetCharacter(",", 0);
SymbolCount = StringSplit(TradeSymbols, Comma, Symbols);
para (int i = 0; i < SymbolCount; i++)
{
StringToUpper(Símbolos[i]);
Symbols[i] = StringTrimRight(Símbolos[i]); // proteção contra espaços acidentais
Symbols[i] = StringTrimLeft(Símbolos[i]);
}
se (SymbolCount > 0) retornar(true);
retorno(falso);
}
//--------------------------------------------------
nulo OnTick()
{
para (int i = 0; i < SymbolCount; i++)
{
duplo LastAsk = SymbolInfoDouble(Symbols[i], SYMBOL_ASK);
double LastBid = SymbolInfoDouble(Symbols[i], SYMBOL_BID);
// e assim por diante...
}
}
Para aplicar a EA a qualquer tabela. Desta forma, o MaxOpenOrders será exatamente para todos os gráficos.
OK, eu perdi a parte das opções binárias. Por alguma razão, parece-me que se eu fixar manualmente o mesmo EA em gráficos diferentes, ele ainda contará como executando EAs diferentes. E para TODAS as opções do gráfico 1 serão executadas (bem, quando funcionar corretamente). Eu mesmo poderia estar errado por ser um principiante. Considerei desta forma a moeda múltipla em minha EA:
cadeia de entrada TradeSymbols = "EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF, GBPCAD"; // símbolos para negociação
Símbolos de corda[50]; // 50 é o número máximo de símbolos
int SymbolCount;
//--------------------------------------------------
int OnInit()
{
se (IsTesting() || !ExtractSymbols())
{
SymbolCount = 1;
Símbolos[0] = Símbolo();
}
return(INIT_SUCCEED);
}
//--------------------------------------------------
Extrato de BoolSymbols()
{
ushort Comma = StringGetCharacter(",", 0);
SymbolCount = StringSplit(TradeSymbols, Comma, Symbols);
para (int i = 0; i < SymbolCount; i++)
{
StringToUpper(Símbolos[i]);
Symbols[i] = StringTrimRight(Símbolos[i]); // proteção contra espaços acidentais
Symbols[i] = StringTrimLeft(Símbolos[i]);
}
se (SymbolCount > 0) retornar(true);
retorno(falso);
}
//--------------------------------------------------
nulo OnTick()
{
para (int i = 0; i < SymbolCount; i++)
{
duplo LastAsk = SymbolInfoDouble(Symbols[i], SYMBOL_ASK);
double LastBid = SymbolInfoDouble(Symbols[i], SYMBOL_BID);
// e assim por diante...
}
}
Para aplicar a EA a qualquer tabela. Desta forma, os MaxOpenOrders serão precisos para todos os gráficos.
E se a semana seguinte se foi, e eu ainda preciso manter um relatório do preço de abertura do bar da terça-feira da semana passada... Eu preciso de um EA para determinar o preço de abertura do bar na terça-feira e partir dele o tempo necessário, por exemplo - uma semana, duas, um mês, etc.
Obrigado.
E se a próxima semana tiver começado e eu ainda precisar informar o preço do bar aberto de terça-feira da semana passada? ou seja, preciso que o consultor especializado determine o preço do bar aberto na terça-feira e o utilize pelo tempo necessário, por exemplo, uma semana, duas semanas, um mês, etc.
Obrigado.
Então você estabelece uma data específica e o programa leva o preço de abertura do dia para essa data, é ainda mais fácil.
Então você fixa uma data específica e o software leva o preço de abertura do dia para essa data, é ainda mais fácil.
Você pode me ajudar com o código, eu não o entendo.
Você acha que o cálculo do preço de abertura do primeiro bar na terça-feira pode ser implementado no OnInit() e ele calculará o preço na inicialização e o lembrará até que a EA seja reiniciada?
sinto muito se estou escrevendo bobagens, estou apenas aprendendo)
Você pode ajudar com o código, eu não o entendo.
Você acha que o preço da primeira barra na terça-feira deve ser calculado no OnInit() e ele calculará o preço na inicialização e o lembrará até que a EA seja reiniciada?
Sinto muito se estou escrevendo bobagens, estou apenas aprendendo)
O preço de abertura da primeira barra do dia = o preço de abertura da barra diária. Você pode fazer isso em Inite, se não precisar recalcular o valor mais tarde.
O código é aproximadamente o seguinte: