Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 656
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
In MQL5 per chiudere un ordine bisogna aprire un contro-ordine speculare e nient'altro?
Usa la tua libreria standard:
CTrade m_trade; // trading object
...
m_trade.PositionClose(....
или
m_trade.PositionCloseBy(..
e non devono pensare a nulla.
Usa la tua libreria standard:
CTrade m_trade; // trading object
...
m_trade.PositionClose(....
или
m_trade.PositionCloseBy(..
e non devono pensarci.
Come si fa a non pensarci? Sto scrivendo un programma in MQL5 per il trading reale, cioè con i MIEI soldi veri!
Ho letto la documentazione. Non vedo un problema nel chiudere una posizione.
La domanda è diversa. - Il nostro SELL è bloccato da BUY, mentre SELL e BUY sono fusi in un ordine con un volume pari a zero - è una chiusura?
Quindi MQL5 esclude i lotti? Il che significa che non ho nessuna possibilità di avere fortuna, tranne la perdita finale e irrevocabile all'inversione del segnale (ordine)?
Guarda i segnali - MQL5 non è buono come MQL4, per usare un eufemismo...
Fareste meglio a migliorare la situazione e rimuovere una tale sciocchezza come "posizione" da MQL5
Ho letto la documentazione.
Si vede.
nuovo-rena:
...
Quindi MQL5 esclude le serrature? Significa che non ho la possibilità di fare una sola mossa e ottenere una perdita permanente?
Guarda i segnali - MQL5 è zoppo rispetto a MQL4, per usare un eufemismo...
Fareste meglio a migliorare la situazione e rimuovere una tale sciocchezza come "posizione" da MQL5
Dovresti dare un'occhiata alla Guida ogni tanto, tenerti al passo con gli aggiornamenti e leggere gli articoli: Ilsistema di copertura per la contabilità delle posizioni è stato aggiunto a MetaTrader 5
Come si fa a non pensarci? Sto scrivendo un programma in MQL5 per il trading reale, cioè con i MIEI soldi veri!
Ho letto la documentazione. Non vedo un problema nel chiudere una posizione.
La domanda è diversa. - Il nostro SELL è bloccato da BUY e SELL e BUY sono fusi in un unico ordine con un volume pari a zero - è una chiusura?
Quindi MQL5 esclude i lotti? Il che significa che non c'è alcuna possibilità che io sia fortunato, oltre ad ottenere incontrovertibilmente e irrevocabilmente una perdita?
Guardate i segnali - MQL5 è zoppo rispetto a MQL4, per usare un eufemismo...
È necessario correggere la situazione e rimuovere una tale sciocchezza come "posizione" da MQL5
Ecco un esempio per un conto di copertura:
La prima operazione è Comprare 0,02 e la seconda operazione è Vendere 0,01. Il totale di due posizioni: Comprare 0,02 e Vendere 0,001. Poi chiudiamo la posizione Vendere 0,01 e chiudiamo la posizione Comprare 0,02:
//| TestEA.mq5 |
//| Copyright © 2016, Vladimir Karputov |
//| http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link "http://wmua.ru/slesar/"
#property version "1.00"
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
CTrade m_trade; // trading object
CPositionInfo m_position; // trade position object
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
static long counter=0;
counter++;
if(counter%300==0 && counter<700)
{
static int number=0;
number++;
if(number==1)
m_trade.Buy(0.02);
if(number==2)
m_trade.Sell(0.01);
}
if(counter>7000)
{
int positions= PositionsTotal();
if(positions == 0)
return;
int positions_total=PositionsTotal();
for(int i=positions_total-1;i>=0;i--)
if(m_position.SelectByIndex(i))
m_trade.PositionClose(m_position.Ticket(),-1);
}
}
//+------------------------------------------------------------------+
e il giornale:
Trades 2016.02.25 00:13:35 deal #2 buy 0.02 EURUSD at 1.10167 done (based on order #2)
Trade 2016.02.25 00:13:35 deal performed [#2 buy 0.02 EURUSD at 1.10167]
Trade 2016.02.25 00:13:35 order performed buy 0.02 at 1.10167 [#2 buy 0.02 EURUSD at 1.10167]
TestEA (EURUSD,H1) 2016.02.25 00:13:35 CTrade::OrderSend: instant buy 0.02 EURUSD at 1.10167 [done at 1.10167]
Trade 2016.02.25 00:30:17 instant sell 0.01 EURUSD at 1.10157 (1.10157 / 1.10164 / 1.10157)
Trades 2016.02.25 00:30:17 deal #3 sell 0.01 EURUSD at 1.10157 done (based on order #3)
Trade 2016.02.25 00:30:17 deal performed [#3 sell 0.01 EURUSD at 1.10157]
Trade 2016.02.25 00:30:17 order performed sell 0.01 at 1.10157 [#3 sell 0.01 EURUSD at 1.10157]
TestEA (EURUSD,H1) 2016.02.25 00:30:17 CTrade::OrderSend: instant sell 0.01 EURUSD at 1.10157 [done at 1.10157]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #3 POSITION_TYPE_SELL 0.01
Trade 2016.02.25 02:12:06 instant buy 0.01 EURUSD at 1.10131, close #3 (1.10123 / 1.10131 / 1.10123)
Trades 2016.02.25 02:12:06 deal #4 buy 0.01 EURUSD at 1.10131 done (based on order #4)
Trade 2016.02.25 02:12:06 deal performed [#4 buy 0.01 EURUSD at 1.10131]
Trade 2016.02.25 02:12:06 order performed buy 0.01 at 1.10131 [#4 buy 0.01 EURUSD at 1.10131]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant buy 0.01 position #3 EURUSD at 1.10131 [done at 1.10131]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 PositionClose #2 POSITION_TYPE_BUY 0.02
Trade 2016.02.25 02:12:06 instant sell 0.02 EURUSD at 1.10123, close #2 (1.10123 / 1.10131 / 1.10123)
Trades 2016.02.25 02:12:06 deal #5 sell 0.02 EURUSD at 1.10123 done (based on order #5)
Trade 2016.02.25 02:12:06 deal performed [#5 sell 0.02 EURUSD at 1.10123]
Trade 2016.02.25 02:12:06 order performed sell 0.02 at 1.10123 [#5 sell 0.02 EURUSD at 1.10123]
TestEA (EURUSD,H1) 2016.02.25 02:12:06 CTrade::OrderSend: instant sell 0.02 position #2 EURUSD at 1.10123 [done at 1.10123]
Cosa esattamente non è chiaro? Che è necessario aprire un ordine opposto con lo stesso volume per chiudere la posizione?
Lo vedo.
Tolyana, sono stufo di te.
Non puoi scrivere in affari senza essere sarcastico?
Tolyana, sono stufo di te.
Non puoi scrivere in affari senza essere sarcastico?
Che cos'è questo?
Dovresti dare un'occhiataallaGuida ogni tanto,guardare gli aggiornamenti e leggere gli articoli:MetaTrader 5 ha aggiunto un sistema di copertura per la contabilità delle posizioni
Che cos'è questo?
Dovresti dare un'occhiataallaGuida ogni tanto,guardare gli aggiornamenti e leggere gli articoli:MetaTrader 5 ha aggiunto un sistema di copertura per la contabilità delle posizioni
Questo -"Si vede." no more!!!!!!!!!!!!!!!
Se puoi rispondere, allora scrivi una risposta e basta.
Poi direi: "Grazie".
Ma in questo caso, per favore, posso semplicemente inviarlo.
Tolyana, sono stufo di te.
Puoi scrivere in affari senza essere sarcastico?
Ecco -"Si vede"." no more!!!!!!!!!!!!!!!
Se puoi rispondere, scrivi e basta.
Poi direi: "Grazie".
Ma in questo caso, per favore, posso semplicemente inviarlo.