Aiuto per la codifica - pagina 410

 

Grazie mladen. funziona perfettamente. ora sono un codificatore!!!

 
sunshineh:
Come vedo non c'è possibilità di disegnare un rettangolo dietro un pulsante e definire che il clic sul pulsante è l'evento e non il rettangolo...

Ma ho un'altra domanda:

Come posso disegnare una linea orizzontale con una lunghezza definita? Ho provato con OBJ_TREND, ma un lato della linea è infinito o zero. Quindi non posso disegnare una linea orizzontale da Bid-10 a Bid+10.

Avete una soluzione?

sunshineh

Imposta la proprietà RAY (OBJPROP_RAY) della linea di tendenza su false e allora non si estenderà all'infinito

 

Ciao a tutti, se voglio assegnare un numero magico diverso per ogni ordine che viene aperto da un EA, posso usare il seguente:

extern int MagicNumber = 1000000;

if(Condizioni)

{

SendOrder(OP_BUY,MagicNumber);

MagicNumber = MagicNumber+1;

}

Preferirei usare il numero magico come identificatore, piuttosto che un commento. I numeri sono più facili da manipolare delle stringhe imo...

Grazie.

 
airquest:
Ciao a tutti, se voglio assegnare un numero magico diverso per ogni ordine che viene aperto da un EA, posso usare il seguente :

extern int MagicNumber = 1000000;

se(Condizioni)

{

SendOrder(OP_BUY,MagicNumber);

MagicNumber = MagicNumber+1;

}

Preferirei usare il numero magico come identificatore, piuttosto che un commento. I numeri sono più facili da manipolare delle stringhe imo...

Grazie.

Provato. Funziona bene

 
airquest:
Ciao a tutti, se voglio assegnare un numero magico diverso per ogni ordine che viene aperto da un EA, posso usare il seguente :

extern int MagicNumber = 1000000;

se(Condizioni)

{

SendOrder(OP_BUY,MagicNumber);

MagicNumber = MagicNumber+1;

}

Preferirei usare il numero magico come identificatore, piuttosto che un commento. I numeri sono più facili da manipolare delle stringhe imo...

Grazie.

Va bene, ma come fai a identificare il numero magico esatto che vuoi elaborare una volta che l'ordine è aperto?

 
mladen:
Va bene, ma come si fa a identificare il numero magico esatto che si desidera elaborare una volta che l'ordine viene aperto?

Beh, un po' complicato. Nell'OnInit, ho memorizzato il numero magico originale (1000000) in una variabile int (OriginalMagic), e poi quando chiamo OrderSelect, filtro per il MagicNumber unico e memorizzo le variabili (OrderOpenPrice, OrderLots, ecc.) in un array, quindi per ogni ordine l'indice sarà : MagicNumber - OriginalMagic (quindi il primo è 0, poi 1, ecc.). Il punto è fare due cose: 1) aprire solo un numero limitato di ordini (ArrayRange è un numero costante (extern int MaxOpenTradesToManage) e il ciclo di apertura degli ordini non verrà eseguito se MagicNumber è < OriginalMagic + MaxOpenTradesToManage - 1); 2) definire regole di gestione degli ordini specifiche (e diverse) per ogni ordine aperto (che è il motivo per avere un MagicNr unico).

Mladen, ho un'altra domanda per te, ho visto in uno dei tuoi EA (Ichimoku 5.3.5, forse è quello di Mr. Tools, non sono sicuro), che apri gli ordini con il seguente :

int buyTicket = OrderSend(symbol,OP_BUY,lots,price,slippage,0,0,comment,magic,0,color);

if (buyTicket >= 0)

bool buyOrderMod = OrderModify(buyTicket,OrderOpenPrice(),STOPLOSS,TAKEPROFIT,0,color);

[/CODE]

Does it change something from just putting the OrderSend function with already defines SL and TP ? Is it better to open with 0,0 and then use OrderModify to set SL and TP ? :

[CODE]

OrderSend(symbol,OP_BUY,lots,price,slippage,STOPLOSS,TAKEPROFIT,comment,magic,0,color);

Grazie per la tua risposta. Cordiali saluti e un felice Natale.

 
airquest:
Beh, è un po' complicato. Nell'OnInit, ho memorizzato il numero magico originale (1000000) in una variabile int (OriginalMagic), e poi quando chiamo OrderSelect, filtro per il MagicNumber unico e memorizzo le variabili (OrderOpenPrice, OrderLots, ecc) in un array, quindi per ogni ordine l'indice sarà : MagicNumber - OriginalMagic (quindi il primo è 0, poi 1, ecc.). Il punto è di fare due cose: 1) aprire solo un numero limitato di ordini (ArrayRange è un numero costante (extern int MaxOpenTradesToManage) e il ciclo di apertura degli ordini non verrà eseguito se MagicNumber è < OriginalMagic + MaxOpenTradesToManage - 1); 2) definire delle regole di gestione degli ordini specifiche (e diverse) per ogni ordine aperto (che è la ragione di avere un MagicNr unico).

Mladen, ho un'altra domanda per te, ho visto in uno dei tuoi EA (Ichimoku 5.3.5, forse è quello di Mr. Tools, non sono sicuro), che apri gli ordini con il seguente :

int buyTicket = OrderSend(symbol,OP_BUY,lots,price,slippage,0,0,comment,magic,0,color);

if (buyTicket >= 0)

bool buyOrderMod = OrderModify(buyTicket,OrderOpenPrice(),STOPLOSS,TAKEPROFIT,0,color);

[/CODE]

Does it change something from just putting the OrderSend function with already defines SL and TP ? Is it better to open with 0,0 and then use OrderModify to set SL and TP ? :

[CODE]

OrderSend(symbol,OP_BUY,lots,price,slippage,STOPLOSS,TAKEPROFIT,comment,magic,0,color);

Grazie per la vostra risposta. Cordiali saluti e un felice Natale.

airquest

Non cambia. Ma ...

Deve essere fatto così per i broker di tipo ECN/STP. Non permettono di mettere stop loss e/o take profit quando l'ordine è aperto e quindi deve essere fatto in questo modo in due fasi

 
mladen:
airquest Non cambia. Ma... deve essere fatto in questo modo per i broker di tipo ECN/STP. Non permettono di piazzare stop loss e/o take profit quando l'ordine è aperto e quindi deve essere fatto in questo modo in due fasi

Ok, grazie mille per il suggerimento. Anche per gli ordini pendenti?

 
airquest:
Ok, grazie mille per il consiglio. Anche per gli ordini pendenti?

Sì, anche per quelli

 

Aiuto per la codifica

Ciao Mladen

Questo indicatore non funziona il lunedì

"Google Translate"

Grazie

File: