Erros, bugs, perguntas - página 769

 
sergeev:

Instalou-a em casa - trouxe-a numa pen drive.

Testado! admin está feliz. não se pedem cervejas.


Não irá actualizar...
 
Alex5757000:
Não haverá actualizações...
pode actualizar a partir de casa, trazendo apenas construções verificadas.
 
Alex5757000:
Não irá actualizar...

repetir o algoritmo.

Actualizado em casa - trazia-o numa pen drive.

Verificado! Admin está duplamente feliz.
 
sergeev:

repetir o algoritmo

Actualizado em casa - trazia-o numa pen drive.

A administração está duplamente feliz.

Sim, funcionámos. está a funcionar bem. Obrigado.
 

Parece novamente o quarto pulmão a 503... :-(

Agora - está a funcionar...

 
R0MAN:

Parece novamente o quarto pulmão a 503... :-(

Agora - está a funcionar...

Fomos nós que o actualizámos, parou durante meio minuto.
 

Estou a bater o meu cérebro... a paragem não se estabelece... e muitos erros. isto é o que resta da experiência, e não vai funcionar mais

void OnTick(){ if(PositionsTotal()<1){OPEN();}}

bool OPEN(){
             MqlTradeRequest request;
             MqlTradeResult result;
             

             request.symbol       = _Symbol;
             request.action       = TRADE_ACTION_DEAL;
             request.type_filling = ORDER_FILLING_FOK;
             request.deviation    = 100;
             request.volume       = NormalizeDouble(2,2);
             request.type         = ORDER_TYPE_BUY;
             request.price        = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
             request.tp           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) + 500*_Point,_Digits);
             request.sl           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) - 500*_Point,_Digits);

             OrderSend(request,result);     
                        
             if(result.retcode==10009 || result.retcode==10008)  Print("Succsesful open");
             else                                               Print("Error open: ",DoubleToString(GetLastError(),0),"  response code: ",result.retcode);
    
   return(true);}

Se o fizer, não há erros, mas o stop-loss ainda não está definido

MqlTradeRequest request={0};MqlTradeResult result={0};
 
maryan.dirtyn:

Estou a bater o meu cérebro... a paragem não se estabelece... e muitos erros. isto é o que resta da experiência, e não vai funcionar mais

Se eu fizer isto, não há erros, mas o stop-loss ainda não está definido

Existe uma função mágica ZeroMemory(). Aplicá-lo para inicializar ou reutilizar.

E sobre paragens, ver se o seu corretor não suporta paragens imediatamente (por exemplo, na execução da troca), então elas podem ser adicionadas separadamente.

 

não funciona numa demonstração padrão a partir de metaquotas... se a demonstração não suportar a definição pára imediatamente... é mt5 feito especificamente para drenar o depo?)

uma função simples e não funciona... de que mais poderia tratar-se?

O mt5 não suporta parar a perda num só sentido.

por isso prefiro não incomodar aqueles que me dizem para usar bibliotecas padrão. gosto de saber o que a minha EA faz do que esperar que não se aplaine mais tarde.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
maryan.dirtyn:

Não funciona numa demonstração padrão a partir de metaquotas... se a demonstração não suportar paragens imediatas... é mt5 feito especificamente para drenar o depo?)

Utilizam classes comerciais padrão, escondem toda a complexidade do preenchimento das encomendas e simplificam o código. Por exemplo, a CTrade dá métodos comerciais muito simples.

Uma vez que tem perguntas mesmo sobre o simples preenchimento dos campos de encomendas comerciais, é melhor procurar no código fonte das classes comerciais correspondentes e encontrar aí uma solução. Utilizá-los especificamente - simplificam a programação e dão total controlo sobre os erros.