Simboli personalizzati. Errori, bug, domande, suggerimenti. - pagina 15

 
Roman:
Beh, quello che non è chiaro qui, nel post con il bug #20 ho indicato l'impostazione dell'ID, e ho indicato il motivo dell'incoerenza.
SIMBOLO_TRADE_EXEMODE
MODALITÀ DI CALCOLO DEL SIMBOLO
Queste sono modalità completamente diverse e non si applicano al problema.

Questo dovrebbe rendere tutto più chiaro.

E se volete usare un altro identificatore da ENUMSYMBOL_FILLING_XXX
Non esiste un identificatoreperSYMBOL_FILLING_RETURN!

È vero - non c'è. Non sono identificatori - sono bandiere. Perché SYMBOL_FILLING_RETURN esiste sempre. E le altre due bandiere possono essere entrambe o una sola:

Quando si invia un ordine si può specificare una politica per riempire il volume dichiarato nell'ordine di compravendita. Le varianti consentite di esecuzione degli ordini per volume per ogni simbolo sono mostrate nella tabella sottostante. Non solo una modalità può essere impostata per ogni simbolo, ma diverse modalità attraverso una combinazione di bandiere. Lacombinazione di flag è espressa come operazione ORlogica (|), per esempio SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC. Per controllare se una particolare modalità è consentita per uno strumento, il risultato dell'AND logico (&) deve essere confrontato con il flag di modalità.

Politica di riempimento

Identificatore

Valore

Descrizione

Tutti/Nessuno

SIMBOLO_RIEMPIMENTO_FOK

1

Questa politica di esecuzione significa che l'ordine può essere eseguito solo fino al volume specificato. Se un volume insufficiente dello strumento finanziario è attualmente disponibile sul mercato, l'ordine non sarà eseguito. Il volume richiesto può essere compilato da diverse offerte attualmente disponibili sul mercato.

Tutti/Parziale

TUTTI_RIEMPIMENTO_IOC

2

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 utilizzare gli ordini IOC è definita su un server di trading.

Ritorna

Non c'è un CIO

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.



  • Se SYMBOL_FILLING_FOK è presente , ma SYMBOL_FILLING_IOC non lo è , SYMBOL_FILLING_MODE restituirà 1. Allo stesso tempo c'è un "Ritorno".
  • Se il flag SYMBOL_FILLING_IOC è presentema non il flag SYMBOL_FILLING_FOK, SYMBOL_FILLING_MODE restituirà 2. In questo caso c'è un "Ritorno".
  • Se c'è un flag SYMBOL_FILLING_FOK e c'è un flag SYMBOL_FILLING_IOC, allora SYMBOL_FILLING_MODE restituirà 3. Allo stesso tempo c'è un "Ritorno".
Da qui la conclusione: il "Ritorno" è sempre lì, e gli altri due modi sono determinati dalla presenza di bandiere.
 
Artyom Trishkin:

Giusto - no. Non sono identificatori - sono bandiere. Perché SYMBOL_FILLING_RETURN è sempre presente. E le altre due bandiere - possono essere entrambe o una sola:

Ma questo non è un comportamento esplicito che è fuorviante.
E la documentazione non dice che SYMBOL_FILLING_RETURN è sempre presente.
Perché non impostarlo esplicitamente? SYMBOL_FILLING_RETURN

Per favore mostratemi un esempio di come impostare correttamente il flag per il riempimento degli scambi allora

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_RETURN);

Mi sto confondendo con queste bandiere non esplicite.

 
Roman:

Ma non è un comportamento esplicito che è fuorviante.
E la documentazione non dice che SYMBOL_FILLING_RETURN è sempre presente.
Perché non impostarlo esplicitamente? SYMBOL_FILLING_RETURN

Per favore, mostratemi un esempio di come impostare correttamente il flag per il riempimento degli scambi

Perché sono confuso da queste bandiere non esplicite.

Zero - se non sono necessarie altre bandiere.

 
Roman:

Ma non è un comportamento esplicito che è fuorviante.
E la documentazione non dice del segno che SYMBOL_FILLING_RETURN è sempre presente.

Perché non impostarlo esplicitamente? SYMBOL_FILLING_RETURN

Per favore, mostratemi un esempio di come impostare correttamente il flag per il riempimento degli scambi

Perché sono confuso da queste bandiere non esplicite.

Ecco dalla documentazione:

"Nelle modalità di esecuzione "By Market" e "Exchange" la politica di riempimento "Return" è sempre consentita per tutti i tipi di ordine. L'ammissibilità degli altri tipi è controllata usando le proprietà SYMBOL_FILLING_FOK e SYMBOL_FILLING_IOC. "

 
Artyom Trishkin:

Zero - se non sono richieste altre bandiere.

Imposta zero, imposta Nessuno.
Nessuno è un riempitivo di scambio.
Se provo in questo modo

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC);

SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC restituisce anche None invece di 3 come hai detto sopra.

Come faccio a impostare correttamente il riempimento dello scambio?

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_RETURN);
 

E poi c'è questo.

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, 3);

Imposta All, che è lo stesso di All allowed.

E nella documentazione, nella colonna "Valore", non c'è niente, vuoto!
E nella colonna "Identificatore" per la linea "Ritorno", suggerisco ancora di specificare la combinazione corretta per le bandiere!
Perché non aggiungere semplicementeSYMBOL_FILLING_RETURN con valore 3, in modo chiaro e comprensibile a tutti.

 
Roman:

Riempire le bandiere su quelle personalizzate per quale scopo pratico?

 
Roman:

Imposta zero, imposta Nessuno.
Nessuno è un riempitivo di scambio.
Se provo in questo modo

SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC restituisce anche None, non 3 come hai detto sopra.

Come faccio a impostare correttamente il riempimento dello scambio?

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC);
 
Artyom Trishkin:

Ecco, questa combinazione stabilisce Tutto. Grazie.
Ma sono d'accordo che questa combinazione non sembra ovvia.
Non usiamo un "Non" logico quando impostiamo le proprietà

Se nonSYMBOL_FILLING_FOK o nonSYMBOL_FILLING_IOC
allora
vieneusato ilSYMBOL_FILLING_RETURN nascosto-"Sempre presente"

Nella tua combinazione, diciamo invece esplicitamente, imposta FOK o IOC.
Nel riempimento dello scambio non c'è FOC o IOC quindi è fuorviante.

Quindi è logico, questa combinazione dovrebbe essere aggiunta alla documentazione, nella colonna"Identifier" e il suo valore 3
O meglio aggiungere
SYMBOL_FILLING_RETURN

Allora il bug #20 è escluso dai bug.
Ma tenete presente che la caratteristica di esplicitazione è violata.

 
fxsaber:

Riempire le bandiere su quelle personalizzate per quale scopo pratico?

Per visualizzare correttamente la specifica dell'utensile.
È anche possibile che queste modalità siano utilizzate da qualche parte nelle profondità del terminale.
Nel tester o altrove, quindi sono abituato a riempire tutto in modo esplicito.