Come creare una matrice di numeri magici?

 

È possibile creare un array di numeri magici?

es. Farò 5 ordini e ogni ordine ha un numero magico unico.

int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green) 
Invece di 12345, forse OrderMagic [x][0] per ogni nuovo ordine fatto? Come fare?

Poi alla chiusura, passerò attraverso ogni ordine e chiuderò l'ordine specifico con il suo numero magico unico?

for (int i=0; i<OrdersTotal(); i+=1)
{
           if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) 
           {
                     if (OrderType()==OP_BUY && OrderSymbol()==Symbol() && OrderMagicNumber() == 12345)

Invece di 12345, come faccio a passare attraverso ogni numero magico unico nell'array?

Grazie in anticipo!

 

È possibile creare un array di numeri magici?

es. Ho intenzione di fare 5 ordini e ogni ordine ha un numero magico unico.

int magicArray = { 1, 3, 5, 7, 9 };

if(OrderMagicNumber() == magicArray[3]) { // che si riferisce ad essere 7 in questo esempio

 
phy:

È possibile creare un array di numeri magici?

es. Ho intenzione di fare 5 ordini e ogni ordine ha un numero magico unico.

int magicArray = { 1, 3, 5, 7, 9 };

if(OrderMagicNumber() == magicArray[3]) { // che si riferisce ad essere 7 in questo esempio


Grazie!

Come faccio a OrderSend ogni nuovo ordine con un unico array di numeri magici? Funzionerà in questo modo? magicArray[x] invece di 12345?

OrderSend è in una funzione e non in un ciclo. Come potrebbe sapere come assegnare un nuovo numero magico ad ogni nuovo ordine. È solo aggiungendo x++ dopo OrderSend?

Ho bisogno di inizializzare un array globale?

Come fare un array dinamico, dato che non so quanti ordini ci saranno alla fine?

int  magicArray[x];

...
int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",magicArray[x],0,Green);
x++;
 

Perché vuoi assegnare ad ogni ordine un numero magico diverso? I numeri magici sono pensati per raggruppare operazioni che appartengono insieme e il punto è che avrai una magia per molte operazioni (che appartengono insieme).

Non dovresti usarli per cose per cui non sono stati pensati. Altri EA li usano per identificare le proprie operazioni. Proprio di recente abbiamo avuto un thread qui dove un EA il cui autore ha cercato di essere super intelligente e ha abusato della magia per qualche tipo di contatore ha iniziato a interferire con i trade di altri EA e ha prodotto una perdita di 5000 dollari in una sola notte per la vittima innocente che ha comprato questo EA entrando in un open-close-open-close-"fight" sullo stesso trade. L'EA ha iniziato silenziosamente a cambiare il suo numero magico assegnato senza alcuna ragione evidente e senza preavviso fino a quando il conflitto è avvenuto. Ci si aspetta che un numero magico rimanga costante!

Se hai bisogno di un numero unico per *ogni* trade, allora usa semplicemente il numero del ticket.

 
7bit:

Perché vuoi assegnare ad ogni ordine un numero magico diverso? I numeri magici sono pensati per raggruppare operazioni che appartengono insieme e il punto è che avrai una magia per molte operazioni (che appartengono insieme).

Non dovresti usarli per cose per cui non sono stati pensati. Altri EA li usano per identificare le proprie operazioni. Proprio di recente abbiamo avuto un thread qui dove un EA il cui autore ha cercato di essere super intelligente e ha abusato della magia per qualche tipo di contatore ha iniziato a interferire con i trade di altri EA e ha prodotto una perdita di 5000 dollari in una sola notte per la vittima innocente che ha comprato questo EA entrando in un open-close-open-close-"fight" sullo stesso trade. L'EA ha iniziato silenziosamente a cambiare il suo numero magico assegnato senza alcuna ragione evidente e senza preavviso fino a quando il conflitto è avvenuto. Ci si aspetta che un numero magico rimanga costante!

Se hai bisogno di un numero unico per *ogni* trade, allora usa semplicemente il numero del ticket.



Grazie, esattamente ho bisogno di raggruppare i miei ordini che appartengono insieme

int ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green)
&   ticket=OrderSend(Symbol(),OP_BUY,LotSize,MarketInfo(Symbol(),MODE_ASK),3,0,0,"My EA",12345,0,Green);
Apro in 2 coppie, vorrei aprire 2 coppie e poi chiudere 2 coppie. Avere un numero magico unico potrebbe aiutarmi ad aprire e chiudere le 2 coppie correlate. Non voglio chiudere la coppia sbagliata.
 
idea: si potrebbe usare sempre lo stesso numero magico come al solito per renderlo compatibile con tutto ciò che usa i numeri magici ma anche combinarlo con la stringa di commento includendo un numero nel commento che è unico per ogni coppia di trade. Potresti quindi trovare l'altro trade di ogni coppia di trade semplicemente cercando un trade con la stessa magia e lo stesso commento.
 
7bit:
idea: potresti usare sempre lo stesso numero magico come al solito per renderlo compatibile con tutto ciò che usa i numeri magici ma anche combinarlo con la stringa di commento includendo un numero nel commento che è unico per ogni coppia di trade. Potresti quindi trovare l'altro trade di ogni coppia di trade semplicemente cercando un trade con la stessa magia e lo stesso commento.

Grazie!

Fondamentalmente ho bisogno di un tag unico per ogni ordine (2 paia ciascuno) e per poterli chiudere allo stesso tempo.

Non voglio chiudere la coppia sbagliata.

Se non è un numero magico, come potrei aggiungere questo commento unico ad ogni ordine?

Avrei bisogno di un qualche tipo di array dinamico?

 

Ci sono molte combinazioni che potete usare

per esempio se li apri in un minuto diverso puoi usare

OrderMagicNumber() == Minute();

E se li apri in un'ora diversa puoi usare

OrderMagicNumber() == Hour();

O se li apri in un TM diverso puoi usare

OrderMagicNumber() == Period();
 
qjol:

Ci sono molte combinazioni che potete usare

per esempio se li apri in un minuto diverso puoi usare

E se li apri in un'ora diversa puoi usare

O se li apri in un TM diverso puoi usare

Per favore, non raccomandare queste sciocchezze. Il numero magico non è destinato a memorizzare valori che sono già contenuti nell'ordine stesso.
 
qjol:

Ci sono molte combinazioni che potete usare

per esempio se li apri in un minuto diverso puoi usare

E se li apri in un'ora diversa puoi usare

O se li apri in un TM diverso puoi usare



Grazie! ma se ho ordini fatti nello stesso minuto o nello stesso lasso di tempo, potrebbe chiudere l'ordine sbagliato. Ho bisogno di un tag unico, come il numero magico.

Ho bisogno di sapere come assegnare un nuovo numero magico ad ogni nuovo ordine e poi confrontare tutti gli ordini per trovarli alla chiusura.

 
Per favore, descrivi approssimativamente cosa farà il tuo EA. quanti tipi diversi di ordini devono essere gestiti separatamente ci sono. Forse il tuo problema non è affatto un problema se sappiamo cosa stai effettivamente cercando di ottenere.