Come codificare? - pagina 88

 
flourishing:
come fare in modo che il commento(1 / 2) visualizzi 0,5? Grazie.

Per favore, provate questo:

Comment(DoubleToStr(1/2, 1));

Il secondo argomento della funzione DoubleToStr() è il numero di cifre dopo il punto decimale.

 
ak97052d:
ciao

come codificare questo:

Ho bisogno di estrarre alcune informazioni dall'ultimo trade chiuso,

e dopo usare alcune informazioni da quest'ultima operazione

es:

se l'ultimo trade profit >0 'lasttradeprofit = 1'

e se l'ultima operazione <=0 'lasttradeprofit = 0

lasttradeprofit = 1 // se l'ultimo trade >0

lasttradeprofit = 0 // se l'ultima operazione <=0

grazie

E' facile scansionare la storia e controllare OrderCloseTime() :

datetime LastCloseTime;

bool LastTradeIsProfit;

for(int i = 0; i > OrderHistoryTotal(), i ++)

{

OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);

if(OrderMagicNumber() != Magic) continue;

if(OrderCloseTime() > LastCloseTime)

{

LastCloseTime = OrderCloseTime();

LastTradeIsProfit = (OrderProfit() > 0);

}

}
 
ak97052d:
ciao prova questo!

grazie per l'esperto di edite

puoi cambiare questo ea usando la mia idea

dalla mia idea dopo aver aperto due ordini spieghiamo queste informazioni

1- tutti gli ordini hanno stop loss fisso uguale a 10pip

2- se il primo ordine va a profitto aprendo 2* lo stesso ordine ma tp=primo ordine tp-fix sl

3- traling sl al posto di apertura del secondo ordine

esempio:

eur/usd

il primo prezzo è: 1.5200

1-aprendo due ordini ( buy@ 1.5200 0.1 lot size sl=10 tp 50 & sell@1.5200 0.1 lot size sl=10 tp=50)

il prezzo va a 15210

2-in questo momento (il mio ordine di vendita sarà chiuso e aprirò un secondo ordine di acquisto 0.2 lot size da sl=10 tp=40 e il primo ordine sl traling a 1.5210)

il prezzo va a 1.5220

3 - in questo momento (apertura ordine di acquisto 0.4 lot size da sl=10 tp=30 e due ordini precedenti sl traling a 1.5220)

4-.....

5....

se il prezzo va a 1.5250 tutti gli ordini saranno chiusi da 560$

ma in questo momento i nostri ordini sl perdono solo 60$

questo metodo ha il miglior rischio

 
ak97052d:
Ciao, prova questo!

mi scusi questo esperto sl deve usare questa formula per avere un risultato di profitto su thefix sl hanno cattivo risultato

ordine sl = ((MaxTrades*MinGS)+SL) - (n*MinGS)

esempio per questa informazione

extern int MinGS=5;

extern int TP=20;

extern int SL=10;

extern double lot=0.10;

extern int MaxTrades=7;

extern int RegularSpread=2;

extern double Multiplier=2;

extern double LotInc=0;

extern double MarginLevelAlert=1000;

abbiamo

primo ordine sl= ((7*5)+10)-(0*5)=40

secondo ordine sl= ((7*5)+10)-(1*5)=35

e gli altri sl sono

35

30

25

20

15

 
 

Domanda di Wolfe

wolfe:
Qualcuno sa come codificare in modo che quando si chiama un indicatore in un EA, questo si attacchi automaticamente all'indicatore chiamato nel grafico a cui l'EA è collegato? In questo modo sarebbe visivamente nello stesso tempo esatto di quello che viene letto dal vostro EA. Grazie.

La risposta precedente era incompleta.

Se l'indicatore è standard in MT4, apparirà nel posto normale. Se è chiamato da iCustom, apparirà anche, se codificato correttamente.

I seguenti EAs hanno persino gli indicatori mostrati nella finestra del grafico. Studiateli per imparare come:

bouncingPipEA_mpowerV42.mq4

bouncingPipEA_BigBear_v23.mq4

Grande Orso

 

Spread in ordine pendente

Ciao gente,

Ho fatto un EA che calcola l'hi-low giornaliero tra un certo periodo, e poi piazza ordini pendenti buystop/selltop, che scadranno tra 12 ore.

L'ho eseguito nella coppia GBP-JPY (8 pips di spread nel mio broker)

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

Il risultato, l'ordine pendente Buy Stop è stato eseguito, anche se il prezzo non l'ha toccato. Ho rintracciato l'OP Buy Stop, posto al prezzo 204.08, ma è stato eseguito quando il prezzo è a 204.00. Sembra che sia coinvolto il fattore Spread.

Il mio amico mi ha detto che l'ordine pendente manuale Buystop/Selltop viene eseguito senza fattore di spread, ma perché è diverso dall'ordine piazzato dall'EA?

Quindi c'è qualche errore nel mio codice?

Grazie in anticipo.

 
mastoto:
Ciao gente,

Ho fatto un EA che calcola l'hi-low giornaliero tra un certo periodo, e poi piazza ordini pendenti buystop/selltop, che scadranno in 12 ore.

L'ho eseguito nella coppia GBP-JPY (8 pips di spread nel mio broker)

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

Il risultato, l'ordine pendente Buy Stop è stato eseguito, anche se il prezzo non l'ha toccato. Ho rintracciato l'OP Buy Stop, posto al prezzo 204.08, ma è stato eseguito quando il prezzo è a 204.00. Sembra che sia coinvolto il fattore Spread.

Il mio amico mi ha detto che l'ordine pendente manuale Buystop/Selltop viene eseguito senza fattore di spread, ma perché è diverso dall'ordine piazzato dall'EA?

Quindi c'è qualche errore nel mio codice?

Grazie in anticipo.

Se il tuo "HighestPrice" è un prezzo BID come lo sono su tutti i grafici, probabilmente devi aggiungere lo spread. Qualsiasi ordine di ACQUISTO è attivato da un prezzo ASK.

 

come ottenere le informazioni sul grafico principale

Ho scaricato un indicatore, che mostra una freccia verde/rossa quando arriva il segnale di acquisto/vendita.

Ora voglio programmare il mio EA basato su questo indicatore.

ma ho solo il file ex4 di questo indicatore (senza codice sorgente)

Voglio che il mio EA legga la freccia dell'indicatore sul grafico principale e invii l'ordine di acquisto/vendita (freccia verde==>acquisto, freccia rossa==>vendita)

c'è un approccio per ottenere le informazioni della freccia dell'indicatore sul grafico principale?

grazie

 
shanyang:
Ho scaricato un indicatore che mostra una freccia verde/rossa quando arriva il segnale di acquisto/vendita.

ora voglio programmare il mio EA basato su questo indicatore.

ma ho solo il file ex4 di questo indicatore (senza codice sorgente)

Voglio che il mio EA legga la freccia dell'indicatore sul grafico principale e invii l'ordine di acquisto/vendita (freccia verde==>acquisto, freccia rossa==>vendita)

c'è un approccio per ottenere le informazioni della freccia dell'indicatore sul grafico principale?

grazie

L'EA deve chiamare i segnali dell'indicatore su/giù con la funzione iCustom();. Non hai bisogno del codice sorgente per farlo.

FerruFx