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
Su Alpari non si possono piazzare stop immediatamente durante l'esecuzione del mercato, bisogna prima aprire una posizione e poi modificarla
Метатестер пилит диск HDD
Versione 527.
Se guardate nel monitor del processo, va avanti con queste sciocchezze.
Nessuna attività di rete, non connesso al cloud. Il terminale e il metatester non funzionano. Nessun file viene cambiato.
Non ci sono informazioni sui nomi dei file nello screenshot di cui sopra.
Si prega di allegare un registro più dettagliato in forma di testo.
In MQL4 si poteva creare un ordine con stop subito, ma in MQL5 non è possibile - bisogna impostare gli stop dopo la creazione dell'ordine.
Sono lento (per favore datemi un esempio di codice) o è la mia intenzione?
Puoi anche creare un ordine con uno stop e un profitto.
Lei ha nella sua richiesta
reqest.sl=SL;
reqest.tp=TP;
Questo è un errore. I livelli di SL e TP dovrebbero essere impostati ad una distanza dai prezzi di mercato, quindi queste linee dovrebbero avere un aspetto simile a questo
per una posizione di acquisto:
request.sl = SymbolInfoDouble(Symbol(),SYMBOL_BID) - SL * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
request.tp = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
invertire per una posizione di vendita
request.sl = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + SL * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
request.tp = SymbolInfoDouble(Symbol(),SYMBOL_BID) - TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT);
Spero di non sbagliarmi da nessuna parte...Per favore chiarite: in Alpari, è impossibile piazzare un ordine con stop con un unico comando OrderSend? O vogliamo dire che prima di impostare gli stop per un ordine esistente, dobbiamo chiamare PositionSelect?
Si può, perché no?
In quale modalità si effettua l'ordine?
Puoi farlo con uno stop e un profitto.
Lei ha nella sua domanda
reqest.sl=SL;
reqest.tp=TP;
Questo è un errore. I livelli SL e TP dovrebbero essere impostati ad una distanza dai prezzi di mercato, quindi queste linee dovrebbero avere questo aspetto:
Naturalmente SL e TP sono definiti come i vostri. Inoltre, ho scritto sopra che se aggiungo solo
m_request.action = TRADE_ACTION_SLTP;
OrderSend(m_request, m_result);
allora gli stop saranno impostati con successo a SL e TP specificati, cosa che non accadrà se non sono definiti correttamente.
Si può, perché no?
In quale modalità si effettua l'ordine?
MqlTradeResult m_result;
m_request.action = TRADE_ACTION_DEAL;
m_request.symbol = Symbol();
m_request.type = ORDER_TYPE_BUY;
m_request.price = Price; // calcolato in anticipo e vero :)
m_request.sl = SL; // già calcolato e corretto :)
m_request.tp = TP; // calcolato in anticipo e vero :)
m_request.volume = Vol;
m_request.type_filling = ORDER_FILLING_FOK;
m_request.deviation = 10;
m_request.type_time = 0;
m_request.expiration = 0;
m_request.magic = 0;
m_request.comment = "";
OrderSend(m_request, m_result);
Per favore chiarite: in Alpari, non si può piazzare un ordine con stop usando un singolo comando OrderSend? O si tratta di chiamare PositionSelect prima di impostare gli stop per un ordine esistente?
Esattamente giusto. con gli stop si può fare solo in modalità istantanea
Tipi di esecuzione
Il terminale client ha quattro modalità di esecuzione degli ordini:
In questa modalità, l'esecuzione di un ordine di mercato viene effettuata al prezzo offerto al broker. Quando si invia una richiesta di esecuzione, il terminale sostituisce automaticamente il prezzo corrente per l'ordine. Se il broker accetta i prezzi, l'ordine verrà eseguito. Se il broker non accetta il prezzo richiesto, allora si verifica il cosiddetto "Requote" - il broker restituisce i prezzi ai quali l'ordine può essere eseguito.
In questa modalità, l'ordine a mercato viene eseguito al prezzo precedentemente ricevuto dal broker. Prima di inviare un ordine di mercato, i prezzi di esecuzione vengono richiesti al broker. Una volta ricevuto, l'esecuzione dell'ordine a quel prezzo può essere confermata o rifiutata.
In questa modalità di esecuzione degli ordini di mercato, la decisione sul prezzo di esecuzione viene presa dal broker senza alcuna approvazione aggiuntiva del trader. L'invio di un ordine a mercato in questa modalità implica un accordo anticipato con il prezzo al quale sarà eseguito.
Quando si preme il pulsante "Vendere a mercato" o "Comprare a mercato", viene creato un ordine per il broker per eseguire una vendita o un acquisto, rispettivamente, al prezzo definito dal broker.
In questa modalità le operazioni di trading eseguite nel terminale del cliente vengono trasferite a un sistema di trading esterno (borsa). Leoperazioni commerciali sono eseguite ai prezzi delle offerte di mercato correnti.
La modalità di esecuzione per ogni simbolo è selezionata dalla vostra società di intermediazione.
Tutto è scritto nell'aiuto del terminale. Ma nessuno lo legge.
Per sapere quale tipo di esecuzione dovete richiedere la proprietà con la funzione SymbolInfoInteger() con l'identificatore SYMBOL_TRADE_EXEMODE
SIMBOLO_TRADE_EXEMODE
Modalità di commercio
ENUM_SYMBOL_TRADE_EXECUTION
ENUM_SYMBOL_TRADE_EXECUTION
Identificatore
Descrizione
RICHIESTA DI ESECUZIONE DI SCAMBIO DI SIMBOLI
Commercio su richiesta
SYMBOL_TRADE_EXECUTION_INSTANT
Commercio a prezzi di streaming
SIMBOLO_COMMERCIO_MERCATO_DI_ESECUZIONE
Esecuzione_mercato
SCAMBIO DI SIMBOLI
Esecuzione dello scambio
Grazie mille, ora capisco.
E ho letto l'aiuto, quello che non ho trovato è stata la mia svista + la mancanza di elaborazione dei riferimenti incrociati o qualcosa del genere nell'aiuto:)
Quando si testa il consigliere del chirurgo https://www.mql5.com/ru/code/611
con una modifica
[citazione].
Per iniziare il test, nella linea 84 sostituite:
double Limit=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_LIMIT);
con
double Limit= 5;
[/quote]
Su un normale conto demo, quando la scheda Commercio nella sezione Strumenti è attiva, la vista del terminale cambia alla fine del test.
Su un conto demo, questo è il casino:
Continua a resettare all'inizio.
E su XAUUSD, si preme F9 e poi
anche se non è possibile fare doppio clic sulla finestra degli ordini in "panoramica del mercato".
P.S. So che non puoi fare trading su XAUUSD).