riscritto il post 844 per evitare di dover scrivere di nuovo il codice qui
Per quanto riguarda l'array di dimensioni zero - 0 può essere un intero, può essere l'equivalente di un falsificatore booleano, può essere un vuoto, e può essere il punto di partenza.
Non importa cosa intendi per zero. Se dimensionate un array con zero, chiamatelo zero gingerbread e sarà zero. Il che significa che l'array sarà zero.
riscritto il post 844 per evitare di dover scrivere di nuovo il codice qui
Per quanto riguarda l'array di dimensioni zero - 0 può essere un intero, può essere l'equivalente di un falsificatore booleano, può essere un vuoto, e può essere un punto di partenza.
E per favore non fatemi inserire il codice giusto nel post giusto per voi:
int i; int Magic=444; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ intOnInit() { //---
Ora guardate quale array state riempiendo e per quale campo lo state ordinando. E soprattutto - perché avete bisogno di questo smistamento? Qual è lo scopo di tutto ciò?
ordinal'array di ordini, in ordine crescente dal valore zero
Per esempio, se abbiamo 20 ordini e 18 di essi sono saliti assolutamente per caso di un paio di punti, e li ho chiusi subito con le mani.
Se avete assolutamente bisogno di ordinare per biglietto, dovrete fare 2 array. Uno è un array di strutture e il secondo è un array bidimensionale che contiene il biglietto d'ordine nella prima dimensione, e nella seconda l'indice del contatore, l'indice sotto il quale le informazioni dell'ordine sono memorizzate nell'array di strutture. E riempire questi array allo stesso tempo in un ciclo.
Stai cercando di risolvere questa questione da così tanto tempo che non ricordo nemmeno lo scopo che stavi cercando di raggiungere. E probabilmente tutti gli altri.
Se ricordo bene, è necessario selezionare un certo numero dalla lista degli ordini. Allora qual è il problema? Basta fare un semplice array unidimensionale, ordinare i biglietti, e poi orderSelect(array[required], SELECT_BY_TICKET) ed ecco fatto... poi fate quello che volete con questo ordine.
Se avete assolutamente bisogno di ordinare per biglietto, dovete fare due array. Uno è un array di strutture e il secondo è un array bidimensionale che contiene il biglietto d'ordine nella prima dimensione e l'indice del contatore nella seconda, l'indice sotto il quale le informazioni dell'ordine sono memorizzate nell'array di strutture. E riempire questi array allo stesso tempo in un ciclo.
Stai cercando di risolvere questa questione da così tanto tempo che non ricordo nemmeno lo scopo che stavi cercando di raggiungere. E probabilmente tutti gli altri.
Se ricordo bene, è necessario selezionare un certo numero dalla lista degli ordini. Allora qual è il problema? Basta fare un semplice array unidimensionale, ordinarlo, e poi orderSelect(array[required], SELECT_BY_TICKET) e questo è tutto... Poi puoi fare quello che vuoi con questo ordine.
Anche lì non ricordo cosa dovrei fare. Ma la cosa buona è che lo fa.
Gli chiedo specificamente di scrivere una cosa all'inizio, e poi gli chiedo di guardare attentamente ciò che ha scritto, in modo che capisca da solo che non funzionerà così - ha bisogno di un altro array locale proprio nella funzione, che dovremo ordinare e poi riempire l'array globale da quello ordinato.
Se avete assolutamente bisogno di ordinare per biglietto, dovete fare due array. Uno è un array di strutture e il secondo è un array bidimensionale, che contiene il biglietto d'ordine nella prima dimensione e l'indice del contatore nella seconda, l'indice sotto il quale le informazioni dell'ordine sono memorizzate nell'array di strutture. E riempire questi array allo stesso tempo in un ciclo.
Stai cercando di risolvere questa questione da così tanto tempo, che non ricordo nemmeno lo scopo che stavi cercando di raggiungere. E probabilmente tutti gli altri.
Se ricordo bene, è necessario selezionare un certo numero dalla lista degli ordini. Allora qual è il problema? Basta fare un semplice array unidimensionale, ordinare i biglietti, e poi orderSelect(array[required], SELECT_BY_TICKET) ed ecco fatto... poi fate quello che volete con questo ordine.
No, capisco che ci sono molti modi per farlo in modo diverso ed evitare gli array. Perché ho bisogno di 2 se userò uno degli array?
Perché un semplice array è ordinato in base ai valori nella prima dimensione dell'array, ma come viene ordinato un array di strutture non ne ho idea.
È una domanda interessante però... Ora proverò ad ordinare un array di strutture.
Non ho la minima idea di cosa serva sotto forma di struttura. Il programma mq è scritto in un unico file, l'array è gestito in un unico scorrimento, e si adatta a una sola schermata. Che senso ha una struttura in questo caso, per interesse sportivo?
Vitaly Muzichenko: Non ho idea del perché sia necessario sotto forma di struttura. Il programma mq è scritto in un solo file, l'array è gestito in un unico scorrimento e si adatta a una sola schermata. Che senso ha una struttura in questo caso, per interesse sportivo?
Scriviamo tutto per amore dello sport. Prima capiamo cosa funziona e come funziona, e poi cominciamo a pensare a come scriverlo in modo più efficace.
Per quanto riguarda l'ordinamento dell'array di strutture: come mi aspettavo, l'esperimento è fallito. Già in fase di compilazione il compilatore ha detto"l'espressione non ha effetto"
riscritto il post 844 per evitare di dover scrivere di nuovo il codice qui
Per quanto riguarda l'array di dimensioni zero - 0 può essere un intero, può essere l'equivalente di un falsificatore booleano, può essere un vuoto, e può essere il punto di partenza.
riscritto il post 844 per evitare di dover scrivere di nuovo il codice qui
Per quanto riguarda l'array di dimensioni zero - 0 può essere un intero, può essere l'equivalente di un falsificatore booleano, può essere un vuoto, e può essere un punto di partenza.
E per favore non fatemi inserire il codice giusto nel post giusto per voi:
//| ProjectName |
//| Copyright 2012, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
struct myorder
{
int Ticket;
double orderopenprice;
int ordertype;
double profit;
double stoploss;
double lot;
};
myorder orders[];
int i;
int Magic=444;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
CalcOrders();
}
//+------------------------------------------------------------------+
void CalcOrders()
{
int count1=0;
for(i=OrdersTotal()-1; i>=0; i--)
{
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) && (OrderSymbol()==Symbol())
&& (OrderMagicNumber()==Magic) && (OrderType()<2))
{
count1++;
ArrayResize(orders,count1);
orders[count1-1].Ticket=OrderTicket();
orders[count1-1].lot=OrderLots();
orders[count1-1].orderopenprice=OrderOpenPrice();
orders[count1-1].ordertype=OrderType();
orders[count1-1].profit=OrderProfit();
orders[count1-1].stoploss=OrderStopLoss();
}
}
ArraySort(orders,WHOLE_ARRAY,0,MODE_ASCEND);
}
//+------------------------------------------------------------------+
Ora guardate quale array state riempiendo e per quale campo lo state ordinando. E soprattutto - perché avete bisogno di questo smistamento? Qual è lo scopo di tutto ciò?
E per favore non fatemi incollare il codice giusto nel messaggio giusto per voi:
ordinal'array di ordini, in ordine crescente dal valore zero
per esempio se abbiamo 20 ordini e 18 di essi sono saliti abbastanza accidentalmente di un paio di punti e li ho chiusi immediatamente con le mani
ordinal'array di ordini, in ordine crescente dal valore zero
Per esempio, se abbiamo 20 ordini e 18 di essi sono saliti assolutamente per caso di un paio di punti, e li ho chiusi subito con le mani.
Se avete assolutamente bisogno di ordinare per biglietto, dovrete fare 2 array. Uno è un array di strutture e il secondo è un array bidimensionale che contiene il biglietto d'ordine nella prima dimensione, e nella seconda l'indice del contatore, l'indice sotto il quale le informazioni dell'ordine sono memorizzate nell'array di strutture. E riempire questi array allo stesso tempo in un ciclo.
Stai cercando di risolvere questa questione da così tanto tempo che non ricordo nemmeno lo scopo che stavi cercando di raggiungere. E probabilmente tutti gli altri.
Se ricordo bene, è necessario selezionare un certo numero dalla lista degli ordini. Allora qual è il problema? Basta fare un semplice array unidimensionale, ordinare i biglietti, e poi orderSelect(array[required], SELECT_BY_TICKET) ed ecco fatto... poi fate quello che volete con questo ordine.
Se avete assolutamente bisogno di ordinare per biglietto, dovete fare due array. Uno è un array di strutture e il secondo è un array bidimensionale che contiene il biglietto d'ordine nella prima dimensione e l'indice del contatore nella seconda, l'indice sotto il quale le informazioni dell'ordine sono memorizzate nell'array di strutture. E riempire questi array allo stesso tempo in un ciclo.
Stai cercando di risolvere questa questione da così tanto tempo che non ricordo nemmeno lo scopo che stavi cercando di raggiungere. E probabilmente tutti gli altri.
Se ricordo bene, è necessario selezionare un certo numero dalla lista degli ordini. Allora qual è il problema? Basta fare un semplice array unidimensionale, ordinarlo, e poi orderSelect(array[required], SELECT_BY_TICKET) e questo è tutto... Poi puoi fare quello che vuoi con questo ordine.
Anche lì non ricordo cosa dovrei fare. Ma la cosa buona è che lo fa.
Gli chiedo specificamente di scrivere una cosa all'inizio, e poi gli chiedo di guardare attentamente ciò che ha scritto, in modo che capisca da solo che non funzionerà così - ha bisogno di un altro array locale proprio nella funzione, che dovremo ordinare e poi riempire l'array globale da quello ordinato.
Se avete assolutamente bisogno di ordinare per biglietto, dovete fare due array. Uno è un array di strutture e il secondo è un array bidimensionale, che contiene il biglietto d'ordine nella prima dimensione e l'indice del contatore nella seconda, l'indice sotto il quale le informazioni dell'ordine sono memorizzate nell'array di strutture. E riempire questi array allo stesso tempo in un ciclo.
Stai cercando di risolvere questa questione da così tanto tempo, che non ricordo nemmeno lo scopo che stavi cercando di raggiungere. E probabilmente tutti gli altri.
Se ricordo bene, è necessario selezionare un certo numero dalla lista degli ordini. Allora qual è il problema? Basta fare un semplice array unidimensionale, ordinare i biglietti, e poi orderSelect(array[required], SELECT_BY_TICKET) ed ecco fatto... poi fate quello che volete con questo ordine.
No, capisco che ci sono molti modi per farlo in modo diverso e fare a meno degli array. Perché 2 se ce n'è uno di strutture?
Perché un semplice array è ordinato in base ai valori nella prima dimensione dell'array, e come sia ordinato un array di strutture non ne ho idea.
Domanda interessante però... Ora proverò ad ordinare un array di strutture.
Perché un semplice array è ordinato in base ai valori nella prima dimensione dell'array, ma come viene ordinato un array di strutture non ne ho idea.
È una domanda interessante però... Ora proverò ad ordinare un array di strutture.
Perché un semplice array è ordinato per valori nella prima dimensione dell'array, ma non ho idea di come sia ordinato un array di strutture.
Anche se la domanda è interessante... Proverò a sistemare una serie di strutture.
Non ho idea di cosa sia o di cosa si tratti
Ma ora che l'argomento è stato sollevato, è stupido buttarlo via. Ci sono anche array di classi.
Non ho idea del perché sia necessario sotto forma di struttura. Il programma mq è scritto in un solo file, l'array è gestito in un unico scorrimento e si adatta a una sola schermata. Che senso ha una struttura in questo caso, per interesse sportivo?
Scriviamo tutto per amore dello sport. Prima capiamo cosa funziona e come funziona, e poi cominciamo a pensare a come scriverlo in modo più efficace.
Per quanto riguarda l'ordinamento dell'array di strutture: come mi aspettavo, l'esperimento è fallito. Già in fase di compilazione il compilatore ha detto"l'espressione non ha effetto"