Errori, bug, domande - pagina 1015

 
Andrew1469:

Allora dove posso trovare un CFD per Metatrader 5?

Sto cercando di entrare nei numeri, ma sono un po' ostacolato dalla mancanza di chiarezza nella documentazione, ad esempio le tabelle enum non elencano i numeri corrispondenti. Ho scoperto per esperienza che SYMBOL_CALC_MODE_FOREX è 0, ma 33 e 34 non sono identificati in alcun modo nella risposta del server di apertura.

Per quanto riguarda gli swap - ho capito bene che PositionGetDouble(POSITION_SWAP) e HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) danno effettivamente lo swap accumulato nella valuta di deposito indipendentemente da come viene accreditato?

Welltrade, lo swap che si riflette nel terminale per la posizione dal simbolo PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) accumulato dalla storia del trade. C'è una dipendenza ed è determinata dalle condizioni commerciali.

Usate il confronto nella costruzione if.

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

welltrade, quello swap che si riflette nel terminale per posizione da PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) accumulato dalla storia commerciale. C'è una dipendenza ed è determinata dalle condizioni commerciali.

Usate il confronto nella costruzione if.

Grazie!
 

Si prega di avvisare.
C'è un codice Expert Advisor:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iMACD(symbol,_Period,12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

Se si chiude la finestra appena aperta, tutto si chiude normalmente e rapidamente.

Modificare il codice:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iCustom(symbol,_Period,"Examples\\MACD",12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

E quando si chiude la finestra, il terminale si blocca per un secondo circa.

Perché iCustom si blocca?

 

Ho una domanda. Sull'organizzazione dell'ottimizzazione nel tester di strategia. Ci sono disposizioni per salvare i risultati del lavoro di ottimizzazione, in modo da poterlo riprendere in seguito? Se l'ottimizzazione richiede molto tempo, più di un giorno.

 
Stasikusssss:

Ho una domanda. Sull'organizzazione dell'ottimizzazione nel tester di strategia. Ci sono disposizioni per salvare i risultati del lavoro di ottimizzazione, in modo da poterlo riprendere in seguito? Se l'ottimizzazione richiede molto tempo, più di un giorno.

Se non mi sbaglio, tale funzione è implementata - i log dei test vengono salvati. Tuttavia, se si compila nuovamente l'Expert Advisor dopo il test, anche se non ci sono state modifiche, il log viene resettato
 
A100:

Quando si usa un modulo parametrico, non sono ammessi più di 8 parametri, ma qui sembra che i parametri siano 3!?

Manca una parentesi di chiusura nella tua macro.
 
Qualcuno può aiutarmi con la mia domanda?
 
fyords:
Qualcuno può aiutarmi con la mia domanda?

Solo per gli sviluppatori, in servicedesk.

// Non mi stai spingendo ad hackerare il terminale per scoprire come funziona iCustom() e come la sua chiamata è diversa dalle altre... ?

;)

 
MetaDriver:
Solo sviluppatori, Service Desk.
Grazie. Pensavo che qui sarebbe stato più veloce.
 
MetaDriver:
Manca una parentesi di chiusura nella tua macro.

Sì, grazie, ho fatto un errore quando ho semplificato il codice sorgente - ora ho riscritto l'errore in modo diverso

#define  F1( N, X ) ((X) + (N))
#define  F2( X, N ) F1( N, X )

#define  FF( N, X, F )    F( N, F( N, X ))
#define  FFF( N, X, F )   F( N, F( N, F( N, X )))
#define  FFFF( N, X, F )  F( N, F( N, F( N, F( N, X ))))
#define  FFFFF( N, X, F ) F( N, F( N, F( N, F( N, F( N, X )))))

void OnStart()
{
Print( FF( 1, 1, F2 ) ); // нормально
Print( FFF( 1, 1, F2 ) ); // нормально
Print( FFFF( 1, 1, F2 ) ); // ошибка компиляции
Print( FFFFF( 1, 1, F2 ) ); // ошибка компиляции
} 
Ho cancellato il precedente per evitare confusione. Potete vedere dall'esempio che un errore di compilazione si verifica ad un certo livello di annidamento
Motivazione: