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 756
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
Estou acostumado ao meu próprio sistema de arquivamento.
Boa tarde.
Eu escrevi um programa de exercícios. Não está funcionando por alguma razão.
Testei-o no testador de estratégia entre 29 de setembro e 15 de outubro.
O programa deveria funcionar assim: eu faço uma compra. Quando o preço cai para 0,010 ele deve vender com prejuízo.
Ocorre uma compra. Não há venda. Eu começo a visualizar e vejo que o preço não é apenas 0,010 mais baixo, mas muito mais alto. Estranho.
// -------- variáveis --- Início -----
duplo externo L1=0,01; // tamanho do lote para compra
duplo externo L1n=0,01; // tamanho do lote para compra (lote normalizado)
dobro externo AktualAsk=0,0; // preço atual da licitação
duplo AktualBid externo=0,0; // preço de venda real
int int int ticketlackmus=1; // indicador de abertura de ordem bem sucedida.
bilhete int externo1=0; // bilhete int
bool externo PozOtk1=verdadeiro;
// -------- variáveis --- Fim -----
int init()
{
retorno(0);
}
int start()
{
se (PozOtk1==verdadeiro)
{
// posição aberta
ticketlackmus=1;
enquanto (ticketlackmus>0)
{
Alerta (" Abrir primeira posição ");
RefreshRates();// Atualização de dados
AktualAsk=NormalizeDouble(Ask,Digits); // por preço
L1n=NormalizeDouble(L1,2); // para o lote.
ticket1=OrderSend ("GBPUSD", OP_BUY, L1n, AktualAsk, 5, 0, 0, 0, 0, 0, CLR_NONE)
se (ticket1>0) ticketlackmus=-1;
{
Alerta (" ORDEN OPEN ", ticket1, ", ticketlackmus);
}
}
PozOtk1=falso;
Alerta (" PozOtk1 ", PozOtk1);
}
RefreshRates();// RefreshRates()
AktualBid=NormalizeDouble(Bid,Digits); // por preço
if (AktualBid<=AktualAsk-0.010 && PozOtk1===falso)
{
RefreshRates(); // Atualização de dados
OrderSelect(ticket1, SELECT_BY_TICKET;)
L1n=NormalizarDuplo(L1,2); // para o lote
OrderClose (ticket1, L1n, AktualBid, 5);
PozOtk1=verdadeiro;
}
retorno(0);
}
int deinit()
{
retorno(0);
}
Ozero.
Favor usar o botão mágico SRC ao inserir o código:
Insira o código corretamente no fórum
Se uma posição é aberta em um determinado símbolo (neste caso - "GBPUSD"), então é aconselhável levar todos os dados sobre este símbolo através do marketinfo, ou seja, não apenas AktualAsk=NormalizeDouble(Ask,Digits ); aktualAsk=MarketInfo( "GBPUSD",MODE_ASK);
E assim, quaisquer dados de mercado devem ser tomados, a fim de evitar.
Se uma posição abre sobre um símbolo específico (neste caso - "GBPUSD"), então é aconselhável levar todos os dados também sobre este símbolo via marketinfo, ou seja, não apenas AktualAsk=NormalizeDouble(Ask,Digits); aktualAsk=MarketInfo( "GBPUSD",MODE_ASK);
E assim, qualquer dado de mercado deve ser tomado, para evitar.
Obrigado Evillive!
Eu fiz mudanças. Mas eu já comecei a comprar. Nenhuma venda após as mudanças. Teste M15 de 30 de setembro de 2014 até meados de outubro.
Obrigado, Evillive!
Fez a mudança. Mas, de qualquer forma, a compra estava em andamento. Nenhuma venda após a mudança. Teste M15 de 30 de setembro de 2014 até meados de outubro.
OrderClose (ticket1, L1n, AktualBid, 5);