Come codificare? - pagina 255

 

Sapete come rimuovere le proprietà degli indicatori sullo schermo?

Ciao, vorrei rimuovere il testo sulle sottofinestre in Mt4

Riesco a rimuovere parte del testo direttamente nel codice ma rimangono sempre dei numeri... e non capisco dove possa essere nel codice...

//---- name for DataWindow and indicator subwindow label

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

string short_name="MTF AbsoluteStrength("+TimeFrameStr+","+Mode+","+Length+","+Smooth+","+Signal+",,"+ModeMA+")";

IndicatorShortName(short_name);

SetIndexLabel(0,"Bulls");

SetIndexLabel(1,"Bears");

SetIndexLabel(2,"SignalBulls");

SetIndexLabel(3,"SignalBears");

//----

SetIndexDrawBegin(0,Length+Smooth+Signal);

SetIndexDrawBegin(1,Length+Smooth+Signal);

SetIndexDrawBegin(2,Length+Smooth+Signal);

SetIndexDrawBegin(3,Length+Smooth+Signal);

return(0);

}

In questa sono rimasti sempre dei numeri e non so come fare per renderla completamente vuota. se qualcuno può aiutarmi, grazie.

 

Aiuto per la codifica di mt4

Ciao,

Sto cercando di imparare la codifica di mt4. Ho letto le lezioni di CodersGuru e sto leggendo il manuale MLQ4. Ho codificato per l'ultima volta ai tempi di Fortran 4, circa 40 anni fa, quindi sono molto fuori dalla cornice.

Ho disegnato un diagramma di flusso di ciò che voglio ottenere, ma non so come procedere.

Ho aperto MetaEditor e impostato un nuovo file di programma, ma sono bloccato.

Quello che sto cercando di fare è tracciare una linea orizzontale di base e poi il programma traccerà 4 linee aggiuntive a intervalli regolari. Il valore della linea di base e il valore incrementale sono selezionati dall'utente.

Ma quello che devo aggiungere al programma mi ha lasciato perplesso, dovrebbe essere semplice, ma non per me.

Se qualcuno fosse così gentile da guidarmi attraverso le fasi e spiegarmi come e perché le cose sono fatte, ne sarei

essere molto grato.

Saluti Allon

 

Come codificare: solo un commercio

Salve,

Scriverò un EA con due Trades se alcune regole sono giuste ma l'EA dovrebbe aprire solo 1 Trade con:

Trade("AUDCAD",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

e un solo trade da questo:

Trade("AUDCHF",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

L'obiettivo è che l'EA apra:

- 1 Operazione "OP_BUY" con AUDCAD

- e 1 Trade "OP_BUY" con AUDCHF

Come posso codificarlo?

Grazie in anticipo.

halobungie

 

EA che cambia il colore della linea MA

Ciao a tutti,

Ho cercato di capire questo problema negli ultimi giorni. Ho un paio di linee di media mobile e voglio cambiare il colore delle linee.

Non riesco a capirlo. Qualcuno può indicarmi la giusta direzione.

So che le funzioni usate sono ima() & icustom() ma come faccio a metterle insieme?

Molte grazie in anticipo.

Newbie

 

Profitto calcolato per diversi ordini

Ciao a tutti,

Voglio che un EA chiuda tutte le posizioni aperte se il profitto di tutti gli ordini è uguale a zero + x pips. Come programmare il ?

per esempio

- ordine di vendita 0,5 lotto openprice = 1,3789

- buyorder 0.4 lotto openprice = 1.3745

- sellorder 0.2 lotto openprice = 1.3721

- sellorder 0.1 lotto openprice = 1.3676

Scusa per il mio cattivo inglese

Saluti

derumuro

 

Ciao a tutti,

Dove posso trovare il miglior indicatore Stocastico Momentum (SMI)?

L'edizione 3-28-2008 di MLaden sembra essere quella giusta!

Sarei particolarmente interessato ad una versione SMI con allarme (su cross e su livelli) ma non riesco a trovarlo.

La mia seconda richiesta va a uno strumento di allerta divergenza. Ce ne sono molti (con risultati diversi), ma quale sembra essere il più utile (su timeframe grandi H4, D1, W1) ?

Grazie per il vostro aiuto,

CiloX

 

Come chiudere tutto? Aiuto necessario

Voglio semplicemente chiudere tutti gli ordini aperti nel mio EA quando il capitale raggiunge i -250$. Ho trovato un EA online che chiude tutti gli ordini. Ha una funzione CloseAll() che chiude tutti gli ordini. Così l'ho copiata nel mio EA e l'ho chiamata nella funzione start() in questo modo:

if(AccountBalance()-AccountEquity()< -250)

CloseAll();

Ma l'EA funziona come al solito, non si riavvia.Se qualche programmatore mi indica la giusta direzione sarebbe fantastico.

Grazie.

 
ndtexpert:
Voglio semplicemente chiudere tutti gli ordini aperti nel mio EA quando il capitale raggiunge i -250$. Ho trovato un EA online che chiude tutti gli ordini. Ha una funzione CloseAll() che chiude tutti gli ordini. Così l'ho copiata nel mio EA e l'ho chiamata nella funzione start() in questo modo:

se(ContoBilancio()-ContoEquità()< -250)

CloseAll();

Ma l'EA funziona come al solito, non si riavvia.Se qualche programmatore mi indica la giusta direzione sarebbe fantastico.

Grazie.

La condizione è ok, è una condizione molto semplice quindi deve funzionare. Si tratta di qualcosa di diverso, il codice del tuo ea sarebbe utile.

La condizione che hai indicato sta controllando il capitale globale e il bilancio del conto, dovresti scrivere la tua funzione per controllare solo il profitto/perdita generato da questo ea e separarlo per numero magico. In questo modo puoi controllare molte ea nello stesso tempo.

 
derumuro:
Ciao a tutti,

Voglio un EA che chiuda tutte le posizioni aperte se il profitto di tutti gli ordini è uguale a zero + x pips. Come programmare il ?

per esempio

- ordine di vendita 0,5 lotto prezzo aperto = 1,3789

- buyorder 0.4 lotto openprice = 1.3745

- sellorder 0.2 lotto openprice = 1.3721

- sellorder 0.1 lotto openprice = 1.3676

Scusa per il mio cattivo inglese

Saluti

derumuro

Il modo più semplice per farlo è controllare il profitto di ogni ordine (invece di contare i pip e moltiplicarlo per il valore del lotto). Dovresti anche separare i trade per numero magico (quindi conta anche il profitto). Ecco un esempio di funzione che sto usando per contare il profitto dell'ea selezionato (basato sul numero magico):

double profitCount()

{

double oc = 0;

for(int cnt = 0 ;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderMagicNumber() == Magic)

{

oc+= OrderProfit()+OrderSwap()+OrderCommission();

}

}

return(oc);

}

 
halobungie:
Ciao,

Scriverò un EA con due Trade se alcune regole sono giuste ma l'EA dovrebbe aprire solo 1 Trade con:

Trade("AUDCAD",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

e un solo trade da questo:

Trade("AUDCHF",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

L'obiettivo è che l'EA apra:

- 1 Operazione "OP_BUY" con AUDCAD

- e 1 Trade "OP_BUY" con AUDCHF

Come posso codificarlo?

Grazie in anticipo.

halobungie

Ciao!

Devi usare la funzione MarketInfo (per ottenere Ask/Bid del cross specificato) per questo, e inviare il nome del simbolo alla funzione OrderSend.

Saluti

Kale