O EventSetTimer no OnInit no Testador não conta para baixo desde o início do dia do primeiro tick, mas sim desde a data de início do intervalo do teste - a transacção de saldo.
fxsaber: EventSetTimer in OnInit in Tester conta não desde o início do dia do primeiro tick, mas desde a data inicial do intervalo de teste - transacção de saldo.
EventSetTimer inicia sempre a contagem decrescente a partir do momento da chamada EventSetTimer. Tanto no testador como no terminal
Como seria bom ver as funções de Kim para os cinco. Pode dar-me uma dica, por favor? Havia uma função como esta no Kim's
//+------------------------------------------------------------------+//| Проверяет был ли открыт последний ордер на этой же свече |//| Checks whether the opened last the order on the same candle |//+------------------------------------------------------------------+bool IfOrdOpClSelfBar(int magik = 0, int bar = 0, int typ = -1,string sy = "",int per = 0){
if(sy == ""){sy = Symbol();}
if(per==0){per=Period();}
for(int i = OrdersTotal(); i>=0; i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()!=sy){continue;}
if(OrderType()==typ||typ==-1){
if(OrderMagicNumber()==magik||magik==0){
if(OrderOpenTime()>=iTime(sy,per,bar)){return(true);}
}
}
}
}
for(i = OrdersHistoryTotal(); i>=0; i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderSymbol()!=sy){continue;}
if(OrderType()==typ||typ==-1){
if(OrderMagicNumber()==magik||magik==0){
if(OrderOpenTime()>=iTime(sy,per,bar)){return(true);}
}
}
}
}
return(false);
}
Estou a tentar reescrevê-lo no mql5. Mas não quer trabalhar. Como forçá-lo? :)
//+------------------------------------------------------------------+//| Проверяет был ли открыт последний ордер на этой же свече |//| Checks whether the opened last the order on the same candle |//+------------------------------------------------------------------+bool IfOrdOpClSelfBar(ENUM_ORDER_TYPE type)
{
for(int i = OrdersTotal(); i>=0; i--){
if(OrderSelect(OrderGetTicket(i)) >0)
{
if(OrderGetString(ORDER_SYMBOL)!=_Symbol){continue;}
if(OrderGetInteger(ORDER_TYPE)==type)
{
if(OrderGetInteger(ORDER_MAGIC) == magicN)
{
if(OrderGetInteger(ORDER_TIME_SETUP) >= iTime(NULL,Period(),0)){return(true);}
}
}
}
}
for(int i = HistoryOrdersTotal(); i>=0; i--){
if(HistoryOrderSelect(OrderGetTicket(i)) >0)
{
if(OrderGetString(ORDER_SYMBOL)!=_Symbol){continue;}
if(OrderGetInteger(ORDER_TYPE)==type)
{
if(OrderGetInteger(ORDER_MAGIC) == magicN)
{
if(OrderGetInteger(ORDER_TIME_SETUP) >= iTime(NULL,Period(),0)){return(true);}
}
}
}
}
return(false);
}
As características de Kim sob MT4 são bastante populares, por isso descarregou todas as fontes do seu site e escreveu um simples "conversor" para elas sob MT5.
Obrigado pela muleta, muito bom :) Mas estou a aprender uma nota de cinco para a compreensão, para entrar nela, por isso é importante lidar com ela à mão, ordenando fundamentalmente os nós dos dedos.
TERMINAL_MEMORY_PHYSICAL e TERMINAL_MEMORY_TOTAL são armazenados em cache após o primeiro pedido. As consultas subsequentes devolverão os valores em cache
Obrigado!
E este é um código mais antigo, mas em imagens:TrailingStop
EventSetTimer in OnInit in Tester conta não desde o início do dia do primeiro tick, mas desde a data inicial do intervalo de teste - transacção de saldo.
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Características da linguagem mql4, dicas e truques
fxsaber, 2019.02.12 13:12
Características do ArrayResize para arrays multidimensionaisComo seria bom ver as funções de Kim para os cinco. Pode dar-me uma dica, por favor? Havia uma função como esta no Kim's
Estou a tentar reescrevê-lo no mql5. Mas não quer trabalhar. Como forçá-lo? :)
Como seria bom ver as funções de Kim para os cinco. Pode dar-me uma dica, por favor? Havia uma função como esta no Kim's
Estou a tentar reescrevê-lo no mql5. Mas não quer trabalhar. Como forçá-lo? :)
Fórum sobre negociação, sistemas de negociação automatizados e testador de estratégias
Bibliotecas: MT4Orders
fxsaber, 2019.01.13 17:23
As características de Kim sob MT4 são bastante populares, por isso descarregou todas as fontes do seu site e escreveu um simples "conversor" para elas sob MT5.Obrigado pela muleta, muito bom :) Mas estou a aprender uma nota de cinco para a compreensão, para entrar nela, por isso é importante lidar com ela à mão, ordenando fundamentalmente os nós dos dedos.
Enquanto analisava milhões de carraças, decidi analisar periodicamente o consumo de memória.
Reparei que depois de fazer alterações, a velocidade de execução baixou muitas vezes.
Motivo: algumas variantes de utilização de TerminalInfoInteger demoram muito tempo a executar
Tenham cuidado.Uma função muito dispendiosa.
Também TERMINAL_MEMORY_AVAILABLE
TERMINAL_MEMORY_PHYSICAL e TERMINAL_MEMORY_TOTAL são armazenados em cache após o primeiro pedido. As consultas subsequentes devolverão os valores em cache