Errori, bug, domande - pagina 1361

 
Karputov Vladimir:

Strano (ho guardato il file di log). Per esperienza, se c'è un aggiornamento, ci vogliono letteralmente tre secondi per iniziare il download dopo la connessione.

Sui PC locali, lo fa. Si scarica ovunque. Tale seccatura solo su un server virtuale dedicato per vindovs-server per penso l'anno 2007.

 
Alexey Navoykov:

Come possiamo lasciare l'operatore= invariato, se causa confusione tra i puntatori e gli oggetti stessi? Se usiamo * per esso, dovremmo usarlo anche per tutti gli altri operatori. Ci dovrebbe essere un unico standard.

Infatti, lei offre una notazione semplice e chiara

a = (b + c) - d*e + f;
Sostituire con
*a = (*b + *c) - *d**e + *f;
E questo per cosa? In modo da poter scrivere
bool c = *a == *b;

mentre una funzione speciale può essere usata per confrontare i puntatori all'uguaglianza, e tutte le altre operazioni aritmetiche (addizione, sottrazione, moltiplicazione, ecc.) con i puntatori non hanno senso di per sé, e sono interessanti solo in termini della loro capacità di sovraccarico.

Solo creando una base matematica e una classe derivata, ridefinendo diverse (piuttosto che una o due) operazioni aritmetiche, rendendole virtuali e poi testando espressioni complesse (non solo a = b + c) sulla loro base - solo questo vi avvicinerà alla comprensione che tutto è ora fatto OTTIMAMENTE. Nel frattempo, stai ragionando ad un livello base.

Se portate il confronto dei puntatori all'uguaglianza in una funzione separata, rimarrà un solo(!) collo di bottiglia

class A {};

A *a = b; //однозначно присвоение указателю значения
a = b;    //неоднозначно
che però dovrebbe anche essere trattato come un'assegnazione e non una chiamata operator=(), perché attualmente non c'è altra sintassi per assegnare un valore a un puntatore, mentre a.operator=( b ) può anche essere chiamato esplicitamente
 
Alexey Navoykov:

E quello che proponi, che il compilatore stesso scelga l'opzione giusta - questo è sbagliato. Ci saranno molti errori difficili da catturare.

Vi sfugge il punto dei suggerimenti. Portare le operazioni di confronto puntatore-uguaglianza in una funzione separata può ridurre la probabilità di un errore, ma non la aumenta affatto.

Regola #1 - usare una funzione speciale per confrontare i puntatori all'uguaglianza.

Regola #2 - non usare il confronto tra puntatori di uguaglianza al di fuori di una funzione speciale, anche se il linguaggio fornisce questa sintassi (per utenti avanzati)

Quali errori difficili da trovare?

 

Si prega di riconsiderare la funzione del

bool CTrade::FillingCheck(const string symbol)

della libreria standard

ci sono simboli con tipo di esecuzione - stock ma non supportano il tipo di riempimento

ORDER_FILLING_IOC, SYMBOL_FILLING_FOK

ma solo

ORDER_FILLING_RETURN


utilizzare automaticamente questa parte della libreria cTrade non funziona con tali simboli

 
Gennadiy Stanilevych:

Sui computer locali, lo fa. Si carica ovunque. Una tale seccatura solo su un server virtuale dedicato sotto il vinds-server credo 2007.

Ne ho uno locale, senza proxy, con connessione Metaquotes-Demo e riavvii multipli ancora 1150.
 
Alexey Volchanskiy:
Il mio locale, senza proxy, con connessione Metaquotes-Demo e riavvii multipli è ancora 1150.
Ho 1159 dappertutto. ho compilato tutto il software su 1159 e ora non un solo indicatore .ex5 viene caricato sulla versione 1150 installata sul VPS. È un casino.
 

Forse sono fuori dal giro, ma... Quando guardo le statistiche del segnale su MQL5.com, c'è una sezione chiamata "Slippage". Dice che si misura in punti. Cosa è considerato un pip? È la penultima cifra della coppia di valute? O è il valore estremo? Per esempio, la coppia USD/JPY è ora a 119,793. Oppure la coppia EUR/USD è a 1,13693. Dove sono i punti?

Grazie!

 

Che tipo di perversione da parte dei moderatori del Mercato?

Il mio prodotto funziona solo sulla valuta 3 e 5 marchi (questo è indicato nella descrizione)

E non metteranno una nuova versione perché c'è un errore nel prodotto.

2015.08.26 15:43:03.415    2015.03.03 04:02  Hedging_Recovery__1 XAUUSD,H1: OrderSend error 130

Ho detto loro chiaramente che è solo per le valute e non per i metalli.

Chi ha ragione o cosa vuole da me?

È più facile per me mettere un divieto sui metalli

 
Torshkhoev:

Forse sono fuori tema, ma... Quando guardo le statistiche del segnale su MQL5.com, c'è una sezione chiamata "Slippage". Dice che si misura in punti. Cosa è considerato un pip? È la penultima cifra della coppia di valute? O è il valore estremo? Per esempio, la coppia USD/JPY è ora a 119,793. Oppure la coppia EUR/USD è a 1,13693. Dove sono i punti?

Grazie!

1 ultima cifra dietro il punto
 
Leanid Aladzyeu:
1 ultima cifra dietro il punto
Grazie!