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
Isto também é correto se o "cnt" estiver zerado, mas então o valor é novamente incompreensível como na captura de tela 3 (deve ser um valor de lucro de 4,27)
int cnt=0;
double LastProfit=0;
for(i=0;i<OrdersHistoryTotal();i++)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
if ((op<0 || OrderType()==op) && cnt==0) {LastProfit+=OrderProfit()+OrderCommission()+OrderSwap(); cnt++;} else {cnt=0;}
}
return(LastProfit);
}
Não é bom quando eu não tenho pensamento lógico(
No mercado real, o depósito derreterá em 3 dias com este tipo de lógica.
É ruim quando você não pensa logicamente(
É isso mesmo.
A ordem pendente foi eliminada
É isso mesmo.
A ordem pendente foi eliminada
OK, então como você devolve um ticket de pedidos fechados que são iguais a OrderCloseTime() e calcula seu lucro?
Assim:
OK, então como você devolve um ticket de pedidos fechados que são iguais a OrderCloseTime() e calcula seu lucro?
Algo parecido com isto:
E se fechar em uma parada?
ticket=OrderClose(......);
if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}
E se fechar em uma parada?
ticket=OrderClose(......);
if(ticket>0){//увеличить размер массива на один и записать тикет закрытого ордера}
Bem, que matrizes, que bilhetes, que ordens?
Após o primeiro reinício do terminal, ou desligamento durante o fim de semana, você simplesmente perderá todos os dados, e isso será o fim de toda a escrita e cálculos.
Por exemplo, quando eu estava escrevendo para mim mesmo o sistema de contagem de saque ou lucro acumulado, parecia assim: para cada ordem de mercado durante a abertura é criada uma variável global com o nome do bilhete desta ordem e quando queremos recalcular o lucro/perda, simplesmente verificamos a lista de ordens atual em relação à lista de variáveis globais e efetuamos o cálculo eliminando as variáveis em excesso e adicionando o lucro diretamente ao bilhete a partir do nome.
Esta é uma carga pesada no sistema, em um indicador funciona bem, mas em um EA a enumeração de uma dúzia de variáveis globais pode causar o congelamento do terminal.
Há um horário de abertura e fechamento, você tem que trabalhar com ele, e não há dificuldade em obtê-lo, e com um registro de tempo você pode obter todas as informações sobre o estado da conta, e não precisa de uma bicicleta.
Que matrizes, que bilhetes, que ordens?
Após o primeiro reinício do terminal, ou um fim de semana de encerramento, você simplesmente perderá todos os dados, e isso será o fim de toda a escrita e cálculos.
é solvível
Não tenho que explicar a você.
Esta é uma carga pesada no sistema, em um indicador funciona bem, mas em um EA a contagem de dezenas de variáveis globais pode causar o congelamento do terminal.
Há horários de abertura e fechamento, é disso que você precisa trabalhar, e não há dificuldade em obtê-lo, com um registro de tempo você pode obter todas as informações sobre o estado da conta, e você não precisa de uma bicicleta.