Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 424

 
Olá a todos! Poderia dizer-me como seleccionar a última ordem fechada na história do mql4? Estou a utilizar OrderSelect(0,SELECT_BY_POS,MODE_HISTORY), que selecciona a primeira encomenda fechada.
 
Sergei Maksimenko:
Olá a todos! Poderia dizer-me como seleccionar a última ordem fechada na história do mql4? Estou a utilizar OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); selecciona a primeira ordem fechada, mas como posso seleccionar a última?
Em vez de 0, deve usar OrderHistoryTotal()-1.
 
new-rena:

É mais fácil acompanhar as mudanças de barra por mudanças de tempo de barra do que por preços de barra. No final do algoritmo, armazenaremos a hora actual do bar, e no início compará-la-emos com a hora actual.

Por exemplo, para a barra M5, a hora actual será alterada apenas no início da barra e de 5 em 5 minutos....

Os testes de tais programas são realizados "através da abertura de preços", o que acelera muito o processo de depuração e optimização do código.

Assim, terei de descobrir o que é TF agora e fazer arredondamentos se um bar não aparecer em exactamente 5 minutos... No meu caso, o código é muito fácil e não oneroso. É claro que o preço aberto pode não mudar, mas pode verificar pela soma de duas barras anteriores. Em geral, se não tivesse escrito sobre as vantagens da sua solução, eu teria compreendido melhor se tivesse anexado o código - não sou um programador...
 
-Aleks-:
Por isso tenho de descobrir o que é TF agora, fazer o arredondamento se a barra não aparecer em exactamente 5 minutos... No meu caso, o código é muito fácil e não incómodo. É claro que o preço de abertura pode não mudar, mas pode verificar pela soma das duas últimas barras. Em geral, se não tivesse escrito sobre as vantagens da sua solução, eu teria compreendido melhor se tivesse anexado o código - não sou um programador...
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
  • www.mql5.com
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
 
Artyom Trishkin:

Obrigado - mais fácil do que imaginava depois de ler o comentário.

 

Boa tarde!

Quem me pode dizer como fazer um menu drop-down em definições de peritos?

Como a que está na fotografia. Obrigado.


 
Sergei Konoplev:

Boa tarde!

Quem me pode dizer como fazer um menu drop-down em definições de peritos?

Como a que está na fotografia. Obrigado.


Necessidade de adicionar a minha lista ao código.
 
-Aleks-:
Por isso tenho de descobrir o que é TF agora, fazer arredondamentos se a barra não aparecer em exactamente 5 minutos... No meu caso, o código é muito fácil e não incómodo. É claro que o preço de abertura pode não mudar, mas pode verificar pela soma das duas últimas barras. Em geral, se não tivesse escrito sobre as vantagens da sua solução, eu teria compreendido melhor se tivesse anexado o código - não sou um programador...
//код в фигурных скобках выполнится только один раз, на открытии каждого нового бара М5

datetime prevTime;

if(prevTime!=iTime(Symbol(),PERIOD_M5,0))
   {
     ...
   }
prevTime=iTime(Symbol(),PERIOD_M5,0);
 

Onde está o erro?

void CheckValidStop4(string symbol,double price, double &sl) //функция на проверку близких стопов от цены и его исправление
{
    if(sl==0)
    return;
    
    double severs_min_stop = MarketInfo(symbol,MODE_STOPLEVEL)* MarketInfo(symbol,MODE_POINT);
    if(MathAbs(price - sl)<= severs_min_stop)
    {
        if(price>sl)
             sl = price - severs_min_stop;
       else  sl = sl + severs_min_stop;
       
        
    }
    sl = NormalizeDouble(sl,(int)MarketInfo(symbol,MODE_DIGITS));
}
 
Leanid Aladzyeu:

Onde está o erro?

Código de erro?