Errori, bug, domande - pagina 1820

 
Maksym Mudrakov:

input string Somevalue = "Maxim";
...
void OnTick(){
   Comment(Somevalue);
}


Il programma MQL5 stampa il commento:

"1487811600"

Perché succede? Come emettere il valore corretto della stringa?

Cercare un errore. Oppure pubblicate il codice completo riproducibile. Controllare il codice

//+------------------------------------------------------------------+
//|                                                        Test.mql5 |
//|                                      Copyright 2017, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#property script_show_inputs
//--- input parameters
input string Somevalue="Maxim";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Comment(Somevalue);
  }
//+------------------------------------------------------------------+


non riproduce l'errore.

Raccomando anche di sostituire Comment con Print - c'è la possibilità che un altro programma sovrascriva banalmente il commento sul grafico.

File:
test.mq5  2 kb
 
riavviato l'EA su un altro grafico, ha funzionato correttamente. Questo è strano. Ma grazie per l'aiuto.
 
Maksym Mudrakov:
riavviato l'EA su un altro grafico, funziona correttamente. Questo è strano. Ma grazie per l'aiuto.
Soprattutto hai un input variabile - una variabile di questo tipo non può essere riassegnata nel codice - questo lascia l'opzione di un secondo programma (EA o indicatore) che segretamente pasticcia in giro ed emette il suo commento.
 
fxsaber:

Chi capisce la risposta, per favore spieghi. Ancora non capisco perché OrderSend è considerato normale

Per quanto ho capito, OrderSend aspetta solo che l'ordine sia in coda per l'elaborazione sul server, ma non il risultato dell'elaborazione.
 
Gliagenti di prova continuano ad abbandonare durante l'ottimizzazione. L'agente locale non può connettersi a 127.0.0.1:3000 e interrompe il test.
 
Комбинатор:
Per quanto ho capito, OrderSend aspetta solo che l'ordine sia in coda per l'elaborazione sul server, ma non il risultato dell'elaborazione.
È qui che non è chiaro.
 
OrderSend restituisce true, con la seguente linea che appare nel log
2017.02.23 14:18:58.013 Trades  '5245006': failed buy limit 0.01 USDCNH at 6.85199 [Request rejected due to absence of network connection]
 

C'è uno script che riproduce OrderSend-bug nell'applicazione. Corre attraverso il Market Watch e apre BuyLimit ad ogni simbolo. Dopo di che cerca immediatamente di modificarlo (imposta TP) e poi lo cancella. Se la modifica o la cancellazione dell'ordine è impossibile, lo script si ferma con un messaggio corrispondente.

Tutto viene fatto tramite OrderSend sincrono. E quasi immediatamente ci imbattiamo in una situazione in cui, dopo un OrderSend riuscito (impostazione del BuyLimit), non si può fare nulla (modificare o cancellare) con l'ordine pendente.

Risultato operativo

2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1)       ModifyError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED
2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1)       DeleteError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED

Cari sviluppatori, è un bug OrderSend o no?


SZZ, tuttavia, OrderSend a TRADE_ACTION_DEAL non finisce di lavorare finché l'ordine corrispondente ha lo stato STARTED.

Tutto il divertimento dello script può essere sperimentato lentamente sul server FXOpen-MT5.

 
fxsaber:

quando unaposizione viene aperta con successo da un ordine a mercato, si ottiene ogni volta uno zero Result.deal?

Dalla SD
Non è garantito che il biglietto dell'affare Result venga riempito. Il riempimento o meno dipende dalla modalità di esecuzione dello strumento e dalle impostazioni del particolare server.
Chi ha impostato un Result.deal non nullo - agisca.
 
OpenCL not found. Error code=5101
Error in OpenCL initialization. Error code=5101
La grafica integrata nella CPU non supporta OpenCL? Non è che la GPU fosse necessaria per OpenCL.