Errori, bug, domande - pagina 769

 
sergeev:

L'ho installato a casa - l'ho portato su una chiavetta.

Testato! l'amministratore è felice. nessuna birra richiesta.


Non si aggiorna...
 
Alex5757000:
Non ci saranno aggiornamenti...
si può aggiornare da casa, portando solo build verificate.
 
Alex5757000:
Non si aggiorna...

ripetere l'algoritmo.

Aggiornato a casa - l'ho portato su una chiavetta.

Controllato! Admin è doppiamente felice.
 
sergeev:

ripetere l'algoritmo

Aggiornato a casa - l'ho portato su una chiavetta.

L'Admin è doppiamente felice.

Sì, l'abbiamo fatto. Funziona bene. Grazie.
 

Sembra che il quarto polmone sia di nuovo a 503... :-(

Ora - funziona...

 
R0MAN:

Sembra che il quarto polmone sia di nuovo a 503... :-(

Ora - funziona...

Siamo stati noi ad aggiornarlo, si è fermato per mezzo minuto.
 

Mi sto scervellando... lo stop non si imposta... e un sacco di errori. questo è ciò che resta dell'esperimento, e non funziona più

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 faccio questo, non ci sono errori, ma lo stop-loss non è ancora impostato

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

Mi sto scervellando... lo stop non si imposta... e un sacco di errori. questo è ciò che resta dell'esperimento, e non funziona più

Se fate questo, non ci sono errori, ma lo stop-loss non è ancora impostato

C'è una funzione magica ZeroMemory(). Applicatelo per inizializzare o riutilizzare.

E per quanto riguarda gli stop, vedi se il tuo broker non supporta l'impostazione degli stop in una sola volta (ad esempio all'esecuzione dello scambio), allora possono essere aggiunti separatamente.

 

non funziona su una demo standard di metaquotes... se la demo non supporta l'impostazione di stop immediati... mt5 è fatto apposta per scaricare il depo?)

una semplice funzione e non funziona... di cos'altro potrebbe trattarsi?

L'mt5 non supporta lo stop loss in una direzione.

Quindi preferisco non disturbare quelli che mi dicono di usare le librerie standard. mi piace sapere cosa fa il mio EA piuttosto che sperare che non si appiattisca dopo.

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

Non funziona su una demo standard di metaquotes... se la demo non supporta l'impostazione degli stop subito... mt5 è fatto apposta per drenare il depo?)

Usate le classi commerciali standard, nasconderanno tutta la complessità del riempimento degli ordini e semplificheranno il codice. Per esempio, CTrade fornisce metodi di trading molto semplici.

Dato che hai domande anche sul semplice riempimento dei campi degli ordini commerciali, è meglio guardare nel codice sorgente delle classi commerciali corrispondenti e trovare una soluzione lì. Usateli specificamente - semplificano la programmazione e danno pieno controllo sugli errori.

Motivazione: