Errori, bug, domande - pagina 941

 
Rosh:

Guardate nella guida integrata del terminale - MetaTrader 5 HelpGetting StartedLaunching the Terminal:

Se non vuoi avere problemi con il sistema di sicurezza - non installare il terminale in/Program Files/ .

Leggi anche l'articolo Una rapida immersione in MQL5


Grazie .....
 
Yedelkin:

Volevo creare uno script che ispeziona la linea dell'indicatore (simile alla MA, ma in una finestra separata e resettata a 0, ma non è questo il punto) per lo swing a zero, incroci, ecc, poi lo script cambia i parametri dell'indicatore e l'analisi di nuovo, il risultato è una tabella con i dati, o meglio un file con i risultati

Non posso usarlo come script, quindi ora faccio come gufi che guardano i valori dell'indicatore durante l'ottimizzazione e li salvano nella funzione DeInit, aggiungendo i dati durante ogni passaggio. Il risultato sarà la stessa tabella con gli stessi 10000 valori dell'indicatore


altri suggerimenti saranno benvenuti

 

Tutto sommato, ha funzionato, anche se è più lento attraverso il tester che attraverso lo script, ma qualsiasi numero di indicatori,

E durante i test ho dovuto disabilitare tutti i core, testando solo su 1 perché i risultati sono divisi in diverse parti, ma penso che sia più facile copiare tutto in 1 file che aspettare

 

Perché terminal.exe carica un processore 2x core al 50% quando ci sono 7-10 indicatori personalizzati attivi, MT4 non si carica?

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 
dav1977:

Perché terminal.exe carica il 50% della CPU su 2x core con 7-10 indicatori personalizzati attivi, mentre MT4 non si carica?

Non ci sono abbastanza dettagli. Come si fa il confronto? Quali indicatori esattamente? Cos'altro succede nel terminale? Avete il codice sorgente degli indicatori? Su quale simbolo/periodo?

 
La mia impressione è che MT5 funzioni su un singolo agente della CPU. Cioè su un processore a 4 core MT5 caricherebbe il 25% della potenza. Ad esempio, quando si testa o si lavora normalmente sul mio 2 core è anche al 50%, ma quando si ottimizza carica tutti gli agenti e va al 100%.
 

Salve. Il problema in MetaTrader FOUR

Problema con gli ordini pendenti nel tester, in particolare la data di scadenza.

   ticket=OrderSend(symb, OP_SELLLIMIT, Lots, price, Slippage, 0, 0, lsComm, mn, TimeCurrent() + 60*60, op_color);

Questo è il modo in cui viene aperto un nuovo ordine, cioè se non è stato attivato in un'ora, il server dovrebbe chiuderlo.

Poi controllo qual è la data di scadenza:

   if (ticket>0)
   {
    OrderSelect(ticket, SELECT_BY_TICKET);
    Alert("OrderExpiration = ", TimeToStr(OrderExpiration(), TIME_DATE),":",TimeToStr(OrderExpiration(), TIME_MINUTES)); 
.......
   } 

Questo è quello che ottengo quando l'EA funziona nel tester:

2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: open #1 sell limit 2.00 EURUSD at 1.27972 ok
2013.03.01 12:45:58 2012.01.11 11:00 #advisor# EURUSD,H1: Alert: OrderExpiration = 2012.01.11:12:00
2013.03.01 12:45:58 2012.01.12 16:29 Tester: ordine #1, vendere 2.00 EURUSD è aperto a 1.27972

Cioè, data e ora di scadenza sono impostati correttamente, come voglio, ma non chiudo al momento della scadenza - una posizione è aperta dopo 24 ore.

Ho cercato in alcuni forum, il problema si è verificato per molto tempo.

 
alexvd:

Pochi dettagli. Come si fa il confronto? Quali indicatori? Cos'altro succede nel terminale? Avete il codice sorgente degli indicatori? Su quale simbolo/periodo?

Confrontando gli indicatori in MT4 che ho scritto e trasferito in MT5. Solo indicatori nel terminale. Ho delle fonti. RTS fuchs non dipende dal simbolo. Periodo M1

Il problema è che a causa del carico della CPU le nuove candele e i prezzi smettono di disegnare !!!!!!!!!!!!!!!.

(Figure https://www.mql5.com/ru/forum/9926/page4 )

БКС запустила MetaTrader 5 на ФОРТС
БКС запустила MetaTrader 5 на ФОРТС
  • www.mql5.com
MetaTrader 5 - программа, предназначенная для торговли через интернет на рынке ФОРТС и других финансовых рынках.
 
dav1977:

Confrontando gli indicatori in MT4 che ho scritto e trasferito in MT5. Solo indicatori nel terminale. Ho delle fonti. RTS fuchs non dipende dal simbolo. Periodo M1

Il problema è che a causa del carico della CPU le nuove candele e i prezzi smettono di disegnare !!!!!!!!!!!!!!!

(Figure https://www.mql5.com/ru/forum/9926/page4 )

Ho il sospetto che il trasferimento dal 4 possa essere stato fatto senza tener conto delle peculiarità del 5. E il carico della CPU e il rendering delle candele è solo una conseguenza di calcoli troppo pesanti o cicli di attesa ecc. in OnCalculate.
 

Buon pomeriggio a tutti, chiedo aiuto a persone esperte.

La situazione è la seguente. Sto provando una MT5 sul forex. Ho un Expert Advisor che piazza ordini pendenti Stop Buy e Stop Sell in base al segnale.

Quando eseguo l'Expert Advisor nel tester delle strategie, noto che un ordine Stop Buy piazzato dall'Expert Advisor viene attivato (viene aperta un'operazione) prima di quanto dovrebbe essere in base al prezzo al quale l'ordine deve essere eseguito.

La struttura di una richiesta di compravendita per piazzare un ordine pendente Stop Buy è la seguente:

mrequest.action = TRADE_ACTION_PENDING;                                         
mrequest.symbol=_Symbol;                                                       
mrequest.volume= Lots;                                                         
mrequest.price = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);        
mrequest.stoplimit = NormalizeDouble(mrate[1].close+StopSell*_Point,_Digits);    
mrequest.tp = NormalizeDouble(mrate[1].close+StopSellTake*_Point,_Digits);       
mrequest.type = ORDER_TYPE_BUY_STOP;                                            
mrequest.type_filling = ORDER_FILLING_RETURN;                                      
mrequest.type_time = ORDER_TIME_SPECIFIED_DAY;      
mrequest.expiration = TimeCurrent();

In espressioni

mrate[1].close+StopSell

и

mrate[1].close+StopSellTake

Non c'è nessun errore, ci danno il prezzo al quale l'ordine deve essere eseguito e il prezzo Take Profit.


Di conseguenza, la mia domanda è: a quale prezzo MT5 controlla le condizioni per l'attivazione degli ordini pendenti Stop Buy e Stop Sell - al prezzo Ask e Bid o al prezzo dell'ultimo scambio?

Dato che userai l'Expert Advisor sul FORTS reale, voglio che il prezzo di attivazione sia l'ultimo prezzo di scambio.

Ho un presupposto che il prezzo di trigger del test sia o ask o bid; quindi, il prezzo di trigger appropriato non è disponibile sul grafico all'ultimo prezzo di scambio. Ho letto nel manuale che "L'attivazione dell'ordine per gli strumenti nella modalità di esecuzione "Exchange" viene eseguita al Last price (prezzo dell'ultima operazione eseguita). Controllo la modalità di esecuzione per il simbolo di cui ho bisogno RIH3

Print("Режим исполнения сделок: ", SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE));

il terminale restituisce "Modalità di esecuzione del commercio: 3". 3 sembra essere un'esecuzione azionaria, cioè il prezzo di attivazione dovrebbe essere Last. Ma gli ordini pendenti vengono eseguiti come prima quando il prezzo di attivazione non è ancora sul grafico.

Sto testando sul server demo del broker FORTS.