Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Non è corretto usare la condizione == per variabili di tipo double. Si raccomanda di confrontare in questo modo:
Non è corretto usare la condizione == per variabili di tipo double. Si raccomanda di confrontare in questo modo:
Abbastanza ragionevole, e soprattutto un approccio sensato. Ma mi sembra che almeno la prima riga avrebbe dovuto essere così:
Di tanto in tanto ricevo questi messaggi nel registro
2010.06.15 14:48:09 MemoryException 4915200 byte non disponibili
Non so cosa fare?
I seguenti messaggi appariranno periodicamente nel registro
2010.06.15 14:48:09 MemoryException 4915200 byte non disponibili
Non so cosa fare?
Non è corretto usare la condizione == per variabili di tipo double. Si raccomanda di confrontare in questo modo:
Non c'è abbastanza memoria operativa. Controllate la dimensione degli array dinamici, molto probabilmente un tentativo di allocare più memoria di quella disponibile.
Non è questo il punto della domanda. Se ho capito bene, l'operatore di ritorno deve essere sempre posto alla fine della funzione utente
Penso che la risposta su == sia stata essenzialmente. Ci dovrebbe davvero essere un return(...) da qualche parte in una funzione di tipo double. Non necessariamente alla fine. L'uso dell'operatore == in if() return(); può causare un output falso se avete il tipo LotStep 0.1000000000000000001. In questo caso nessuno dei ritorni funzionerà e la funzione non restituirà nulla. Anche se nel tuo caso il ritorno probabilmente non ama NormalizeDouble al suo interno. Nella tua versione che funziona, fissa la fine a return(NormilizeDouble(lot,2)) e vedi se funziona. Anch'io sono curioso di saperne di più.
Penso che la risposta su == sia stata essenzialmente. Ci dovrebbe davvero essere un return(...) da qualche parte in una funzione di tipo double. Non necessariamente alla fine. L'uso dell'operatore == in if() return(); può causare un output falso se avete il tipo LotStep 0.1000000000000000001. In questo caso nessuno dei ritorni funzionerà e la funzione non restituirà nulla. Anche se nel tuo caso il ritorno probabilmente non ama NormalizeDouble al suo interno. Nella tua versione che funziona, fissa la fine a return(NormilizeDouble(lot,2)) e vedi se funziona. Anch'io sono curioso di saperne di più.
Ci deve essere return(...) alla fine, ma potrebbe non arrivarci (se una delle condizioni If funziona)...
: Renat
L'errore è che hai dimenticato la valuta del margine nei tuoi calcoli. Saldo = 100 USD e margine richiesto = 100 EUR (119 USD).
Ecco perché l'operazione non può essere eseguita - tutto è corretto.
Voglio tornare alla mia domanda sul calcolo corretto del margine. Come Renat ha notato nei miei calcoli, LotRqdMgn (margine richiesto per comprare 1 lotto) non tiene conto del prezzo della valuta. Ricordo di aver visto questo tavolo
Identificatore
Descrizione
Formula
SIMBOLO_CALC_MODO_FOREX
Modalità Forex - calcolo del profitto e del margine per il Forex
Margine: Lotti*dimensione del contratto/leva
Profitto: (close_price-open_price)*Contract_Size*Lots
SYMBOL_CALC_MODE_FUTURES
ModalitàFutures- calcolo del margine e del profitto per i futures
Margine: Lotti *InitialMargin*Percentage/100
Profitto: (close_price-open_price)*TickPrice/TickSize*Lots
SYMBOL_CALC_MODE_CFD
Modalità CFD - calcolo del margine e del profitto per CFD
Margine: Lots *ContractSize*MarketPrice*Percentage/100
Profitto: (close_price-open_price)*Contract_Size*Lots
SYMBOL_CALC_MODE_CFDINDEX
Modalità indice CFD - calcolo del margine e del profitto per CFD tramite indici
Margine: (Lotti*Dimensione contratto*Prezzo di mercato)*TickPrice/TickSize
Profitto: (close_price-open_price)*Contract_Size*Lots
SYMBOL_CALC_MODE_CFDLEVERAGE
CFD Leverage mode - calcolo del margine e del profitto per il trading di CFD a leva
Margine: (Lotti*Dimensione contratto*Prezzo di mercato*Percentuale)/Leva
Profitto: (close_price-open_price)*Contract_Size*Lots
Così si scopre che c'è un errore nella tabella: invece di Lots*Contract_Size/Leverage, deve essere Price*Lots*Contract_Size/Leverage.