Caratteristiche utili da KimIV - pagina 103

 
T-G:

Igor ha le funzioni NumberOfOrders e NumberOfPositions che restituiscono il numero di ordini e posizioni. Come posso fare una funzione universale che restituisca sia

OP_BUY e OP_SELL e OP_BUYSTOP e OP_SELLLIMIT in una funzione?


Compilare l'array di contatori - per ogni tipo di ordine.
 
VladislavVG:
riempire un array di contatori - per ogni tipo di ordine.
Come funziona? La funzione dovrebbe restituire un tipo di ordine specifico o, se -1, tutti i 6 tipi
 
T-G:
La funzione deve restituire o un tipo di ordine specifico o, se -1, tutti i 6 tipi
.
La funzione non può restituire un array. Deve essere passato nella funzione per riferimento e riempito nella funzione. Poi gli elementi dell'array possono essere usati esternamente come contatori di un determinato tipo di ordine.
 
T-G:

Igor ha le funzioni NumberOfOrders e NumberOfPositions che restituiscono il numero di ordini e posizioni. Come posso fare una funzione universale che restituisca sia

OP_BUY e OP_SELL e OP_BUYSTOP e OP_SELLLIMIT in una funzione?



Non è molto difficile da fare. Per essere più precisi, ce n'è uno. Più di una volta ho pubblicato il mio su tutti i tipi di ordini
 
T-G:

Igor ha le funzioni NumberOfOrders e NumberOfPositions che restituiscono il numero di ordini e posizioni. Come posso fare una funzione universale che restituisca sia

OP_BUY e OP_SELL e OP_BUYSTOP e OP_SELLLIMIT in una funzione?


Quanto sarebbe difficile sommarli? NumeroOrdini+ NumeroPosizioni
 
Vinin:

Non è difficile da fare. O meglio, ce n'è uno. Ho pubblicato il mio più di una volta su tutti i tipi di ordini
Ci vorranno 5-10 minuti per scriverlo. Cosa c'è di così difficile? IMHO, è più utile farlo da soli, o almeno provarci).
 

Per favore, ditemi cosa c'è che non va in ???? Apre due ciondoli e li cancella in una volta sola. Ho bisogno che il secondo venga cancellato quando uno è scattato..... per favore aiutatemi...... Sto lottando con esso da 2 giorni ormai.......


int totale = OrdiniTotali();

int i;
if ((Ask>=OP_BUYSTOP || Bid<=OP_SELLSTOP)==-1)
{
i=0;
totale = OrdersTotal();
for(i = 0; i <= totale; i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber() == 227)
{

if(OrderType()>1)OrderDelete(OrderTicket());
}
}
}
 
VOLDEMAR:

Per favore, ditemi cosa c'è che non va in ???? Apre due ciondoli e li cancella in una volta sola. Ho bisogno che il secondo sia cancellato quando uno è scattato..... per favore aiutatemi...... Sto lottando con esso da 2 giorni ormai.......


int totale = OrdiniTotali();

int i;
if ((Ask>=OP_BUYSTOP || Bid<=OP_SELLSTOP)==-1) ??????? Che cos'è? Stai confrontando i prezzi con i tipi di ordine. È così: "Quale è più lungo: un litro o un chilo?" e perché il confronto con -1? E per quale strumento l'ask e il bid tra 4 e 5 sono costantemente "penzolanti"?
{
i=0;
totale = OrdersTotal();
for(i = 0; i <= totale; i++) // if (OrderMagicNumber() == 227) // la direzione della ricerca è sbagliata e fuori dall'array
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderMagicNumber() == 227)
{

if(OrderType()>1)OrderDelete(OrderTicket()); ??????? E qui si cancellano tutti gli ordini pendenti
}
}
}
Utilizzare i tag di inserimento del codice per una migliore leggibilità.
 
Vladon: i link nel forum non sono ammessi solo nel profilo.
L'esecuzione non può essere perdonata.
 
VladislavVG:
Usa i tag di inserimento del codice per una migliore leggibilità.
Ce l'ho ..... Ma come impostare la cancellazione di un ordine pendente quando un altro si attiva??????????? Come fa la meta unit a vedere gli ordini già aperti e in sospeso ?????????