Errori, bug, domande - pagina 675

 

Puoi darmi un suggerimento? È impossibile modificare un ordine pendente in base al volume? Dobbiamo cancellare il vecchio ordine e impostarne uno nuovo?

La classe standard di CTrade non permette la modifica di un ordine pendente per volume, o forse mi sbaglio.

Взгляни на рынок через готовые классы
Взгляни на рынок через готовые классы
  • 2010.10.26
  • Dmitriy Skub
  • www.mql5.com
Не секрет, что большую часть информации об окружающем мире человек получает при помощи зрения. Справедливо это и в такой области как трейдинг. Новая платформа MetaTrader 5 и язык MQL5 открывают новые возможности для представления визуальной информации трейдеру. В данной статье предлагается универсальная и расширяемая система классов, которая берет на себя всю черновую работу по организации вывода произвольной текстовой информации.
 
ivandurak:

Puoi darmi un suggerimento? È impossibile modificare un ordine pendente in base al volume? Dobbiamo cancellare il vecchio ordine e impostarne uno nuovo?

La classe standard di CTrade non permette la modifica di un ordine pendente per volume, o forse mi sbaglio.

Non si deve. Dovresti cancellare il vecchio ordine e impostarne uno nuovo.
 

CLSetKernelArg

Imposta il parametro per la funzione OpenCL.

CLSetKernelArg(
int kernel //handle al kernel del programma OpenCL
uint arg_index // numero dell'argomento della funzione OpenCL
void arg_value // valore del codice sorgente dell' argomento della funzione
);

Parametri

kernel

[in] L'handle del kernel del programma OpenCL.

arg_index

[in] Numero dell'argomento della funzione, la numerazione inizia con zero.

arg_value

[in] Valore dell'argomento della funzione.

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 

Come posso lavorare correttamente su più valute?

Ho scritto il seguente codice di test:

#include <Trade\SymbolInfo.mqh>
CSymbolInfo       m_sym0;
CSymbolInfo       m_sym1;
CSymbolInfo       m_sym2;

int OnInit()
{
   m_sym0.Name("EURUSD");
   m_sym1.Name("EURAUD");
   m_sym2.Name("AUDUSD");
   return(0);
}

void OnTick()
{
   m_sym0.RefreshRates();
}

Esecuzione di un test su EURUSD M1 tutti i tick

e ottengo un calo del 7-8 marzo 2011

nel registro:

PS 3 MemoryException 17:24:34 3623813120 byte non disponibili
OK 3 Tester 17:24:37 fermato sul 15% dell'intervallo di test

 
E il problema dell'impossibilità di far funzionare il pulsante "Rispondi" sul forum? Lo aggiusteranno? Una sorta di silenzio da parte del supporto. Almeno una rassicurazione come "fare/non fare".
 
abolk:
E il problema dell'impossibilità di far funzionare il pulsante "Rispondi" sul forum? Lo aggiusteranno? Una sorta di silenzio da parte del supporto. Almeno erano rassicuranti come "fare/non fare".
Il problema è stato riferito a servicedesk. Le persone appropriate se ne stanno già occupando.
 

ilunga2012.03.21 14:272012.03.21 14:27:17

Come posso lavorare correttamente su più valute?

Un modo per rispondere a questa domanda è cercare articoli sull'argomento. Non c'è quasi mai un modo universale di gestire le valute multiple - ognuno sceglie/concepisce per sé.

Quello che non è chiaro nel vostro codice è questo:

#include <Trade\SymbolInfo.mqh>
CSymbolInfo       m_sym0;

int OnInit()
{
   m_sym0.Name("EURUSD");
   return(0);
}

void OnTick()
{
   m_sym0.RefreshRates();
}

Perché dovrei bloccare il programma su EURUSD, ottenere un tick per EURUSD e poi chiedere RefreshRates() per EURUSD?

 
Yedelkin:

Perché bloccare il programma su EURUSD, ottenere un tick su EURUSD e poi chiedere RefreshRates() su EURUSD?

È un capriccio dell'artista. :)

Non è questo il problema, dopo tutto. Probabilmente, qualcosa nella libreria standard è marcio nel Service Desk.

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

 MetaDriver

Il capriccio di un artista. Cos'è patetico? :)

Certo che è patetico. Peccato per il tester :)

Certo, non so nemmeno dire perché, quindi sto almeno parlando dell'ovvio "capriccio dell'artista" in relazione al cavalletto/tester :)

 

Posso farle una domanda?

Nell'indicatore.

int OnInit()
  {
   bool err=трали_вали_для_индикатора();
   Alert("init");
   if(err)
      return(-1);
   else
      return(0);
  }

se restituiamo -1"un codice di ritorno non nullo significa inizializzazione fallita e genera un evento Deinit con il codice di motivoREASON_INITFAILEDdeinitialization ".

forse dovremmo provare a reinizializzare dopo la deinizializzazione?

Sembra essere un blocco e dobbiamo fare la nostra funzione di init chiamata OnCalculate.

Doveva essere così? (per quale scopo).