Aiuto per la codifica - pagina 141

 
arroganzmaschine:
Ma questo non mi aiuta. I due buffer sono 4 e 5. Ma prima i buffer erano array.

Ecco il codice: SetIndexBuffer(4, Long);

SetIndexBuffer(5, Short);

Nell'indicatore, questi buffer sono dichiarati prima con "double Long[]". Questo buffer ha due valori. Long[1] e Long[2]. Come posso ottenere questi valori nell'expert advisor?

Prova qualcosa del genere:

double value1 = iCustom(NULL,0,"indicatorName",4,1); double value2 = iCustom(NULL,0,"indicatorName",4,2);

______________________________

PS: non ho idea di quali siano i parametri, quindi la iCustom() userà i valori dei parametri di default. Dovrete fornire i parametri desiderati alla chiamata iCustom(). E tutto ciò è descritto nel thread dal link che ho postato nel post precedente.

tutto il meglio

 

Funziona! Grazie mille!!!!

 
arroganzmaschine:
Funziona! Grazie mille!!!!

Buono

Codifica felice

 

Ciao mladen, un'ultima domanda:

Come posso chiudere l'ordine di acquisto o di vendita aperto del simbolo corrente? C'è solo un ordine aperto al momento.

 
arroganzmaschine:
Ehi mladen, un'ultima domanda: come posso chiudere l'ordine di acquisto o di vendita aperto del simbolo corrente? C'è solo un ordine aperto alla volta.

Puoi fare qualcosa del genere:

if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES))

{

if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,CLR_NONE);

if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,0,CLR_NONE);

}

 

Devo ottenere tutti gli ordini aperti? O questo pezzo di codice che hai postato ottiene gli attuali ordini aperti?

 
arroganzmaschine:
Devo ottenere tutti gli ordini aperti? O questo pezzo di codice che hai postato ottiene gli attuali ordini aperti?

Hai detto che c'è solo un ordine aperto alla volta

Quel codice funziona solo se c'è un solo ordine aperto

 

C'è solo un ordine aperto per un simbolo. Ma ho diversi grafici aperti. Quindi il codice deve scegliere l'ordine del simbolo e chiudere questo. Come devo fare?

 
arroganzmaschine:
C'è solo un ordine aperto per un simbolo. Ma ho diversi grafici aperti. Quindi il codice deve scegliere l'ordine del simbolo e chiudere questo. Come devo fare?

Come questo:

for (int i=OrdersTotal()-1; i>=0; i--)

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,CLR_NONE);

if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,0,CLR_NONE);

}

 

Ha funzionato! Sei grande!