[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 66

 
Ancora una volta... int Buy[]; È un array dinamico? Voglio dire, conterrà tanti elementi quanti sono quelli che imposterò in seguito?
 
Beh, sì... Allora come mai non posso assegnare valori a un array? Voglio dire, ho già stampato tutto quello che posso...
 
Buongiorno a tutti, sono abbastanza nuovo del forex, ma ho ancora un po' di esperienza sotto forma di un paio di Expert Advisors grezzi. Uno di loro ha mostrato buoni (per me) risultati sulla storia del 2010, 2011 e 2012. Naturalmente, ho apportato delle correzioni alla storia. È sorta la seguente domanda. Ci sono statistiche sulla durata delle strategie TF Day? Possiamo continuare a trarre profitto dalla strategia senza essere avidi, adattandola (la strategia) ai cambiamenti del mercato per un lungo periodo di tempo? Chi ha esperienza, per favore dia il suo feedback. Te ne sarei molto grato!
 
Dimka-novitsek:
Beh, sì... Allora come mai non posso assegnare valori a un array? Voglio dire, ho già stampato tutto quello che posso...


Prenotazioni di ordini...
 
Grazie!!!
 
Dimka-novitsek:

Ho dato un esempio di una funzione che usa un array dinamico (p.64).

dim=ArrayResize(Buy,Raz); - устанавливает размерность Raz для массива Buy. Только после этого можно что-то запомнить в элементе массива с номером Raz-1
 
Grazie! Scusa, non ho prestato attenzione alla funzione!
 

Aiuto per rifare la chiusura della barra

Chiudere le posizioni al prezzo di mercato

//| Parametri:|

//| sy - nome dello strumento (" - qualsiasi simbolo,|
//|NULL - simbolo corrente)|
//| op - operazione(-1 - qualsiasi posizione) |
//|mn - Numero di magia (-1 - qualsiasi magia)|
//+----------------------------------------------------------------------------+
void ClosePositions(string sy="", int op=0, int mn=-1) {
if(last>=Time[0]) return; // se il tempo della barra è già stato controllato, allora uscite immediatamente, cioècioè aspettare la nuova barra
last=Time[0]; //
int i, k=OrdersTotal();

if (sy=="0") sy=Symbol();
for (i=k-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (mn<0 || OrderMagicNumber()==mn) ClosePosBySelect();
}
}
}
}
}
 
Macros:

Non dovete rielaborare le funzioni di qualcun altro - Kim le ha fatte bene. Bisogna solo usarli correttamente.

Come fai a sapere che il bar è già stato chiuso prima che se ne apra uno nuovo? Quindi, è necessario chiamare la funzione per chiudere l'ordine quando la nuova barra inizia a formarsi. Come rilevare questo momento è stato mostrato molte volte: nel tutorial, nelle FAQ e sul forum. Per favore, leggete qualcosa.

 
Sepulca:


Beh, prima di tutto, è abbastanza realistico stipare 6 giga in dieci minuti. Si ottiene una stampa con ogni spunta, a cosa vi serve?

E in secondo luogo, sei sicuro che stia cambiando?

Si dovrebbe usare una specie di semaforo per farlo stampare una volta sola...

da qualche parte come questo....


grazie ragazzi per l'aiuto, ma non sono riuscito a capire di cosa ha bisogno. il ciclo si blocca, sputa sulle condizioni, "blocca" il computer e carica gigabyte di logs....

ha dovuto amputare!

L'ho sostituito con una serie di if... e ho messo delle bandiere dove necessario... ...e ha funzionato. Il codice è diventato solo più lungo e più brutto...

addio durante la funzione. Non ci incontreremo più!

:))))