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
Chi ha usato la funzione OrderCheck.
Ecco una costruzione come questa:
request.action=TRADE_ACTION_DEAL;
request.symbol=_Symbol;
request.volume=volume_exe;
request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK);
request.sl=0;
request.tp=0;
request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2;
request.type=ORDER_TYPE_BUY;
request.type_filling=ORDER_FILLING_CANCEL;
MqlTradeResult result;
OrderCheck(request, result);
if(OrderSend(request, result)==false)
Durante la compilazione, ottengo un errore: 'result' - la conversione dei parametri non è consentita.
Se si rimuove OrderCheck, tutto si compila normalmente e la posizione si apre nel tester.
Date un'occhiata alla descrizione della funzione. Dice della struttura di risposta MqlTradeCheckResult.
Grazie mille.
Ecco cos'è...
Dovrebbe contare i profitti degli scambi a partire dalla data specificata. Dà un risultato completamente diverso da quello che è in realtà. Per esempio ho ottenuto 611 invece del risultato di circa 2000. Ho iniziato a controllare ogni giorno (linea commentata). Ci sono(!!) giorni in cui il risultato è lo stesso, ma di solito non è quello che dovrebbe essere...(non ho trovato nessuna regolarità). E il debugger produce lo stesso identico ciclo per tutto il numero di trade. Anche se posso rintracciare solo questo numero di accordi perché nessun valore viene visualizzato per qualsiasi altra variabile tranne che per le variabili int (l'espressione non può essere valutata).
Questo codice è corretto e sto usando correttamente il debugger...?
Il ciclo della transazione dovrebbe essere
Nel debugger, usate "Step in" (F11). Quindi, entrando in una funzione in cui è definita una variabile o un'espressione, verrà mostrato il suo valore.Il ciclo della transazione dovrebbe essere
Nel debugger, usate "Step with Entry" (F11). Poi, quando si entra in una funzione in cui è definita una variabile o un'espressione, verrà mostrato il suo valore.diciamo che il ciclo parte da zero... ma dove sta scritto che i numeri degli accordi partono da zero? A giudicare dal fatto che ora abbiamo 10611 (prima erano 611, invece di circa 2000), cioè, più la dimensione del deposito originale, non ne sono sicuro... anche se è zero anche uno non capisco ancora da dove viene 10.000
Debugger, vedo, F11...
diciamo che il ciclo parte da zero... ma dove sta scritto che i numeri degli accordi partono da zero? A giudicare dal fatto che ora si ottiene 10611 (prima era 611, invece di circa 2000), cioè, più la dimensione del deposito originale, non ne sono sicuro... anche se è zero anche uno non capisco ancora da dove viene 10.000
Debugger, vedo, F11...
Il primo accordo è di solito un deposito. Sembra che le transazioni siano contate nella storia a partire da 0. Quindi, se non mi sbaglio, la 0-esima transazione sarà un deposito.
Posso chiarire la formula con cui viene calcolato il profitto sul commercio?
PS
Se la memoria non mi inganna, il risultato dovrebbe essere calcolato così - TotalProfit = Profit+Swap-Commision;
Perché SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), restituisce zero?
La prima transazione è di solito un deposito. Sembra che i trade siano contati nella storia a partire da 0. Quindi, se non mi sbaglio, il trade 0 sarà un deposito.
Può specificare la formula usata per calcolare il profitto dell'affare?
PS
Se la memoria non mi inganna, il risultato dovrebbe essere calcolato così - TotalProfit = Profit+Swap-Commision;
nell'ultima pagina in codice completo
da questo codice, il deposito non dovrebbe essere preso in considerazione in ogni caso
la commissione è anche più - è meno.
All'inizio il compilatore si lamentava che mancava "#import "lbS7N_Servis.ex5"".
Dopo aver cancellato questa linea ha ceduto:
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) A=101699 B=101699 C=661701
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
Quando ho sostituito il numero di conto nel codice con il mio numero di conto, ho ottenuto:
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) A=101699 B=101699 C=101699
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
Server MQ, build 316.
e il mio M1 non corrispondeva.
Significa che anche voi avete un bug, ma meno di me.
Forse dovresti cercarlo nella connessione del programma al sistema.
Che tipo di sistema avete?
Ho un core2duo 1.3 Ghz 64 Win7 licenza HB, 4GB ddr 2 RAM, costruire. 316
E ci sono ben tre situazioni uniche. Questi sono quelli rilevati. E quanti non rilevati?
E con questo stato di cose MetaQuotes inizierà il campionato 2010 tra un mese?
Oh, quante "meraviglie" ha in serbo per noi MetaTrader 5...