FORTI. Problemi di applicazione - pagina 88

 
fxsaber:

Un limitatore può essere FOK?

Bella domanda.

Cioè (evidenziato in rosso) un ordine limite non può essere un FOK perché viene eseguito a un prezzo fisso,

ma d'altra parte il volume potrebbe essere sufficiente....


ORDER_FILLING_FOK

Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме.
Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.
Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.
Penso (mai usato FOK) che potrebbe essere FOK, ma bisogna controllare il volume.
 
prostotrader:

Bella domanda.

Cioè (evidenziato in rosso) l'ordine limite non può essere un FOK, poiché viene eseguito a un prezzo fisso,

ma d'altra parte il volume potrebbe essere sufficiente....


ORDER_FILLING_FOK

Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме.
Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.
Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.

È solo che l'Aiuto è storto. Un ordine limite è sempre un tipo di riempimento RETURN. FOK, IOC sono solo mercati.

Ma questo vale solo per gli scambi e gli ECN. Poiché ci sono anche STP in cui i limitatori sono ordini virtuali che sono solo iniziatori dei rispettivi ordini di mercato, FOK/IOC è possibile per loro. Ma è solo sullo schermo che sono limitatori, non nella sostanza.

 
fxsaber:
È solo che l'Aiuto è storto. Un ordine limite è sempre un riempimento di tipo RETURN. FOK, IOC sono solo marcatori.

Non è vero, io uso sempre i limitatori, ma solo con IOC

da più di 3 anni ormai.

Controllate voi stessi :)

Aggiunto

Un ordine Limit è lo stesso di un ordine a mercato, ma è un prezzo di esecuzione e basta!

Se c'è un prezzo, viene eseguito, se non c'è un prezzo, viene rimosso.

Politica di esecuzione

Oltre alle regole generali di esecuzione degli ordini specificate dal broker, un trader può specificare condizioni aggiuntive nel campo "Fill" della finestra di impostazione degli ordini:

  • Tutto/Niente (riempire o uccidere)
    Questa politica di esecuzione significa che un ordine può essere eseguito solo fino alla dimensione specificata. Se non c'è un volume sufficiente di uno strumento finanziario attualmente sul mercato, l'ordine non sarà eseguito. Il volume richiesto può essere compilato da diverse offerte attualmente disponibili sul mercato.
  • Tutto/Parziale (Immediato o Annulla).
    In questo caso il trader accetta di eseguire un'operazione con il massimo volume disponibile sul mercato entro il volume specificato nell'ordine. Se l'esecuzione completa non è possibile, l'ordine sarà eseguito per il volume disponibile, e il volume non eseguito dell'ordine sarà cancellato. La possibilità di usare ordini IOC è determinata sul server di trading.
  • Ritorna
    Questa modalità è usata per gli ordini di mercato (Acquisto e Vendita), limite e stop-limit e solo nelle modalità "Esecuzione a mercato" e "Esecuzione in borsa". In caso di esecuzione parziale un ordine di mercato o limite con un volume residuo non viene rimosso, ma rimane in vigore.

L'applicazione delle politiche di esecuzione a seconda della modalità di esecuzione può essere rappresentata sotto forma di una tabella:

Modalità d'esecuzionePolitica d'esecuzione

Tutti/Nessuno (FOK)

Tutti/Parziale (CIO)

Ritorna

Esecuzione immediata

+

-

-

Prestazioni su richiesta

+

-

-

Esecuzione secondo il mercato

+

+

+

Esecuzione dello scambio

+

+

+

 
prostotrader:

Non è vero, io uso sempre i limitatori, ma solo con IOC

da più di 3 anni ormai.

Controllate voi stessi :)

  1. Impostiamo IOC-BuyLimit per 10 lotti all'interno dello spread, e poi facciamo immediatamente SELL con 1 lotto. La reazione prevista - due accordi opposti allo stesso prezzo (profitto - zero, ma doppia commissione) per 1 lotto, e 9 lotti annullati.
  2. Impostiamo il FOK-BuyLimit a 10 lotti all'interno dello spread, e poi vendiamo immediatamente 1 lotto. La risposta attesa è SELL di 1 lotto, e 10 lotti annullati.

Non lo vedrete. E il fatto che in Request for limit si possano impostare tipi FOK/IOC, non significa che siano di questo tipo.

 
fxsaber:

  1. Impostiamo IOC-BuyLimit per 10 lotti all'interno dello spread e poi vendiamo immediatamente 1 lotto. La reazione prevista - due scambi opposti allo stesso prezzo (profitto zero, ma commissione doppia) per 1 lotto, e 9 lotti annullati.
  2. Impostiamo il FOK-BuyLimit a 10 lotti all'interno dello spread, e poi vendiamo immediatamente 1 lotto. La risposta attesa è SELL di 1 lotto, e 10 lotti annullati.

Non lo vedrete. E il fatto che in Request for Limits i commerci di tipo FOK/IOC non significa che siano di questo tipo.

Guardate la tabella qui sopra.

FOK è presente in tutte le modalità.

È solo che con FOK è necessario controllare il volume, ma questo non è una GARANZIA che l'ordine verrà eseguito perché quando

è arrivato all'Exchange il volume richiesto potrebbe non esserci (è già mangiato).

Corrispondenza incompleta dell'ordine FOK

 
prostotrader:

Quando l'ordine "arriva" alla Borsa, il volume richiesto potrebbe non essere disponibile (è già stato consumato), quindi

Corrispondenza incompleta dell'ordine FOK

Inserimento ordine FOK incompleto, quindi inserimento ordine FOK incompleto. I limitatori non sono interessati da questo. Qui sopra ci sono due casi facili da controllare. Non possono essere riprodotti perché non ci sono limiti FOK/IOC se sono offerti a un prezzo non peggiore di quello corrente.
 
fxsaber:
Questo è un riferimento storto. Questo non si applica agli ordini Limit. Qui sopra ci sono due casi facili da controllare. Non puoi riprodurli perché non ci sono limiti FOK/IOC se hanno un prezzo pari a quello attuale.

Non sto fantasticando, ti sto parlando dei miei ordini, che sono piazzati da un EA su un conto reale.

Se volete pensare come state pensando ora, siete liberi di fare come volete!

 
prostotrader:

Non sto fantasticando, ti sto parlando dei miei ordini, che sono piazzati da un EA su un conto reale.

Se volete pensare come state pensando ora, siete liberi di fare come volete!

Logica del ferro

Forum sul trading, sistemi di trading automatico e test di strategia

FORTI. Domande sull'esecuzione

fxsaber, 2017.02.22 22:50

  1. Mettere IOC-BuyLimit 10 lotti all'interno dello spread e poi immediatamente fare SELL 1 lotto. Reazione prevista - due scambi opposti allo stesso prezzo (profitto zero, ma commissione doppia) per 1 lotto, e 9 lotti annullati.
  2. Impostiamo il FOK-BuyLimit a 10 lotti all'interno dello spread, e poi vendiamo immediatamente 1 lotto. La risposta attesa è SELL di 1 lotto, e 10 lotti annullati.

Non lo vedrete.

Perché discutere quando c'è un criterio chiaro per controllare se c'è FOK/IOC per i limitatori o no.
 
fxsaber:
Logica del ferro
Perché discutere quando c'è un criterio chiaro per controllare se c'è FOK/IOC per i limitatori o no.

Scusa, probabilmente non hai notato che ho scritto che uso ordini LIMIT con fill IOC

//+------------------------------------------------------------------+
//| Expert set order function                                        |
//+------------------------------------------------------------------+
void SetOrder(const string aSymbol, uint &order_id, const double price, const double volume, const bool buy_sell)
{
  MqlTradeRequest request = {0};
  MqlTradeResult  result  = {0};
  main_order_ticket = 0;
  main_mem_magic = magic_storage + 1;
  main_order_symbol = aSymbol;
//---  
  if(main_mem_magic >= (magic_number + 65530)) main_mem_magic = magic_number;
  
//--- Fill structure
  request.magic = main_mem_magic;
  request.symbol = aSymbol;
  request.volume = volume;
  request.type_filling = ORDER_FILLING_IOC;
  request.type_time = ORDER_TIME_DAY;
    
  if(price == 0)
  {
    request.action = TRADE_ACTION_DEAL;
    request.comment = "Рыночный ордер...";
//---    
    if(buy_sell)
    {
      request.type = ORDER_TYPE_BUY;
    }
    else
    {
      request.type = ORDER_TYPE_SELL;
    }
  }
  else
  {
    request.action = TRADE_ACTION_PENDING;
    request.price = price;
    request.comment = "Лимитный ордер...";
//---    
    if (buy_sell)
    {
      request.type = ORDER_TYPE_BUY_LIMIT;
    }
    else
    {
      request.type = ORDER_TYPE_SELL_LIMIT;
    }  
  }  
//--- Send order
  if(OrderSendAsync(request, result))
  {
    if((result.retcode == TRADE_RETCODE_PLACED) || (result.retcode == TRADE_RETCODE_DONE))
    {
      order_id = result.request_id;
      magic_storage = main_mem_magic;
      main_state = ORD_MAIN_DO_SET;
      main_mem_time = GetMicrosecondCount();
      main_start_time = TimeCurrent();
      SetTransCount();
    }
    else
    {
      order_id = 0;
      main_mem_magic = 0;
      main_order_symbol = "";
      main_state = ORD_NO_STATE;
      main_mem_time = 0;
      main_start_time = 0;
      CheckError(result.retcode, "SetOrder: Ордер не установлен! Причина: ", MAIN_ORDER, main_order_ticket);
    }
  }
  else
  {
    order_id = 0;
    main_mem_magic = 0;
    main_order_symbol = "";
    main_state = ORD_NO_STATE;
    main_mem_time = 0;
    main_start_time = 0;
    CheckError(result.retcode, "SetOrder: Ордер не отправлен! Причина: ", MAIN_ORDER, main_order_ticket);
  }
}

Questo codice ha funzionato per me per oltre 3 anni

 
prostotrader:

Scusa, probabilmente non hai notato che ho scritto che stavo usando ordini LIMIT con un CIO di riempimento

Questo codice funziona da più di 3 anni

Questo è il motivo per cui ho scritto

Forum sul trading, sistemi di trading automatico e test di strategia

FORTI. Domande sull'esecuzione

fxsaber, 2017.02.22 22:50

  1. Mettere IOC-BuyLimit 10 lotti all'interno dello spread e poi immediatamente fare SELL 1 lotto. Reazione prevista - due scambi opposti allo stesso prezzo (profitto zero, ma commissione doppia) per 1 lotto, e 9 lotti annullati.
  2. Impostiamo il FOK-BuyLimit a 10 lotti all'interno dello spread, e poi vendiamo immediatamente 1 lotto. La risposta attesa è SELL di 1 lotto, e 10 lotti annullati.

Non lo vedrete. E il fatto che in Request for limit types si possano impostare FOK/IOC-types, non significa che siano di questo tipo.

Non mi interessa quello che MT5 sembra permettere per gli ordini limite. Tutto ciò che conta è ciò che raggiunge lo scambio. Quindi, se la borsa avesse un ordine limite IOC, si comporterebbe come al punto 1. FOK - p.2. Non si vede questo in borsa, quindi dobbiamo parlare dell'essenza di FOK/IOC, e non di ciò che MT5 permette qualcosa lì in Request-queries. Fate OrderGetInteger dei vostri limiti "IOC" almeno.