Errori, bug, domande - pagina 385

 
stringo:
Stai chiamando l'indicatore?
Sì, nell'indicatore.
 
Dima_S:
Sì, in un indicatore.

Negli indicatori è vietato chiamare alcune funzioni che occupano risorse di calcolo e rallentano il calcolo - funzioni commerciali, Sleep, MessageBox

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Документация по MQL5
 

Buon pomeriggio!

Ecco una domanda: su quale server posso testare diversi tipi di esecuzione?

RICHIESTA DI ESECUZIONE DI SCAMBIO DI SIMBOLI

Commercio su richiesta

SYMBOL_TRADE_EXECUTION_INSTANT

Commercio a prezzi di streaming

SIMBOLO_COMMERCIO_MERCATO_DI_ESECUZIONE

Esecuzione_mercato dell'ordine

Esecuzione solo a prezzi di flusso. Abbiamo bisogno di eseguire il debug del codice in base al mercato e alla richiesta.

Sì, il codice è in MQL5, naturalmente.

Grazie!

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
stringo:

Negli indicatori è vietata la chiamata di alcune funzioni che occupano risorse di calcolo e rallentano il calcolo - funzioni commerciali, Sleep, MessageBox

Capisco. Quindi, dovrò calcolarlo manualmente. Anche se in MT4 questa funzione
MarketInfo("EURUSD",MODE_MARGINREQUIRED)

e funziona bene nell'indicatore.

 
Dima_S:
Capisco. Quindi, dovremo calcolarlo manualmente. Anche se in MT4 questa funzione

e nell'indicatore funziona bene.

SymbolInfoDouble(MarketInfo) è una semplice richiesta di informazioni esistenti. E OrderCalcMargin - una funzione di calcolo (nella croce o nel simbolo mancante, può richiedere le informazioni mancanti al server, con tutte le sue conseguenze)

 

Buon pomeriggio!

1. l'evento di scorrimento del grafico sarà aggiunto alla lista di eventi OnChartEvent()?

2. Perché la funzione CopyBuffer inserita in un indicatore personalizzato causa l'errore 4806,

mentre la stessa funzione con gli stessi parametri nel codice di Expert Advisor funziona bene?

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

C'è anche una domanda. Vorrei sapere l'ora di fine della sessione di trading per uno strumento il venerdì.

Uso la funzione per questo scopo:

  datetime bt,et;
  SymbolInfoSessionTrade("EURUSD",FRIDAY,0,bt,et);

Ma per qualche motivo, questa funzione restituisce sempre falso. Non capisco cos'è il numero di sessione e da dove lo prendo?

Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - Документация по MQL5
 
bobsley:

C'è anche una domanda. Vorrei sapere l'ora di fine della sessione di trading per uno strumento il venerdì.

Uso la funzione per questo scopo:

Ma per qualche motivo la funzione restituisce sempre falso. Non è chiaro quale sia il numero di sessione e da dove ottenerlo?

Per quanto ho capito, per sessioni si intendono le sessioni di trading e di quotazione all'interno di un giorno. Ma c'è solo una sessione configurata sul server (può essere solo per le valute) - 0.

Fisicamente si può determinare l'ora di inizio e fine del trade nelle proprietà dello strumento (sul server MQ è 00:00 - 24:00).

Potete ottenerlo programmaticamente usando SymbolInfoSessionTrade(). Ma una cosa è certa, non darà la data esatta di inizio e fine della sessione, ma il valore relativo in secondi dall'inizio della giornata fino al momento di inizio e fine della sessione (se tradotto in secondi, naturalmente).

bool InfoSession;
datetime from = -1,to = -1;

InfoSession = SymbolInfoSessionTrade(Symbol(),FRIDAY,0,from,to);

  if(InfoSession)
  {
  Print("Session: from ",from," to ",to);
  Print("Session: from ",(int)from," to ",(int)to);
  }
Questo è l'esempio che produce il seguente risultato -
2011.05.14 19:51:02 ******* Session: from 1970.01.01 00:00:00 to 1970.01.02 00:00:00
2011.05.14 19:51:02 ******* Session: from 0 to 86400

Di conseguenza, per determinare la fine della sessione di trading il venerdì, dobbiamo definire la data di inizio del conto alla rovescia (00:00 concreto venerdì) e aggiungere a questo tempo il risultato che la funzione ha restituito come ora di fine sessione.

PS

Inoltre dobbiamo considerare che il server di solito chiude la sessione con un offset di +/- 1 o 2 secondi.

Come sia influenzato dall'orario estivo/invernale è anche una domanda, ma se i miei occhi non mentono alla chiusura del weekend le ultime quotazioni sono state ricevute alle 23:00:00 e alle 23:00:01 (a seconda del simbolo).

 

Sviluppatori!

Vi prego di prestare attenzione alla mia richiesta #105082.

Ci sono problemi nella compilazione delle librerie che usano il modificatore di esportazione!

 

costruire 448
Quando si cerca di aprire le proprietà della finestra
o proprietà di qualsiasi indicatore,
o cercare di installare qualsiasi indicatore sul grafico,
il terminale client si chiude.
W XP3 32

Secondo me, questo è l'aggiornamento "migliore" di tutti.