Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 656

 
In MQL5 per chiudere un ordine bisogna aprire un contro-ordine speculare e non c'è altro modo?
 
new-rena:
In MQL5 per chiudere un ordine bisogna aprire un contro-ordine speculare e nient'altro?

Usa la tua libreria standard:

#include <Trade\Trade.mqh>
CTrade         m_trade;                      // trading object
...
m_trade.PositionClose(....
или
m_trade.PositionCloseBy(..

e non devono pensare a nulla.

 
Vladimir Karputov:

Usa la tua libreria standard:

#include <Trade\Trade.mqh>
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

 
new-rena:

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

 
new-rena:

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:

Trade   2016.02.25 00:13:35   instant buy 0.02 EURUSD at 1.10167 (1.10158 / 1.10167 / 1.10158)
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?

File:
TestEA.mq5  5 kb
 
Anatoli Kazharski:

Lo vedo.

Tolyana, sono stufo di te.

Non puoi scrivere in affari senza essere sarcastico?

 
new-rena:

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

 
Anatoli Kazharski:

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.

 
new-rena:

Tolyana, sono stufo di te.

Puoi scrivere in affari senza essere sarcastico?

Sembra essere tutto sul punto e anche con riferimenti... Quando qualcuno dichiara di aver letto la documentazione e chiede di togliere la rete (che, tra l'altro, si usa su FORTS)... Non c'è spazio per il sarcasmo qui.
 
new-rena:

Ecco -"Si vede"." no more!!!!!!!!!!!!!!!

Se puoi rispondere, scrivi e basta.

Poi direi: "Grazie".

Ma in questo caso, per favore, posso semplicemente inviarlo.

Assicurati di non farti mandare. )
Motivazione: