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

 
xrust:


L'avviso non funziona - nel tester si trasforma in una stampa... Il tester ha la particolarità di elaborare prima le condizioni di trading (ordini e logica), e solo dopo, se c'è abbastanza tempo, stampare, quindi solo il soment, e questa operazione richiede molto più tempo della stampa.

Rustam, penso che tutti lo sappiano, ma è la stampa che non stampa nulla... Forse questo è un modo per farlo bene...
 
artmedia70:





Purtroppo la pesca a strascico non funziona. Dà un errore durante la compilazione. Cosa deve essere aggiustato?
 
artmedia70:

??????????


Prova a riavviare il terminale.
 

Come faccio a calcolare l'importo delle ultime transazioni perdenti in denominazioni!!! Se puoi, il codice ...

C'è il sole all'aperto, la mia testa non funziona affatto ..... )

Grazie...
 

Ci sono delle caratteristiche nel thread di I.Kim che potrebbero aiutarti! - https://www.mql5.com/ru/forum/107476

La funzione GetProfitFromDateInCurrency(). Pagina 18

Questa funzione restituisce il profitto totale nella valuta delle posizioni chiuse da una certa data

Funzione isLossLastPos(). Pagina 21

Questa funzione restituisce il flag di perdita dell'ultima posizione chiusa. Bandiera alzata - Vero - l'ultima posizione è stata chiusa in perdita. Flag omesso - Falso - l'ultima posizione è stata chiusa o con un valore zero o con un profitto. Questa funzione non considera gli swap e le commissioni. La selezione della posizione è definita da parametri esterni:

Funzione isCloseLastPosByStop().

Questa funzione restituisce il flag per chiudere l'ultima posizione per stop. Bandiera alzata - True - StopLoss attivato. Flag abbassato - Falso - la posizione è stata chiusa per un altro motivo

Funzione NumberOfLossPosToday() Pagina 24

Questa funzione restituisce il numero di posizioni perdenti che sono state chiuse oggi.

 
DaVinci:

Purtroppo la pesca a strascico non funziona. Dà un errore durante la compilazione. Cosa deve essere aggiustato?
Che tipo di pesca a strascico? E quale errore?
 

Cari amici, buon pomeriggio.

Mi dispiace che la domanda non sia direttamente collegata a mql e alla scrittura di robot, ma voglio davvero capirla per un'ulteriore analisi del forex e dei processi di scambio.

Il problema è questo:

C'è un file excel che mostra il valore dei massimi/minimi di ZigZag e il tempo di formazione di questi massimi/minimi

Devi costruire il seguente grafico sulla base di questi dati:

Per favore, ditemi come fare questo in Excel 2007.

(Mi rendo conto che è una domanda da dilettante, ma dopo le vacanze ho bisogno di rimettermi in forma ora)

Grazie mille in anticipo.

 

Finora non ho avuto a che fare con EA multivaluta . Qualcuno può dirmi brevemente se MetaTrader permette di testare/ottimizzare questo tipo di EAs, quali sono i problemi e le limitazioni al momento, ecc. Quali sono le peculiarità della scrittura di questi EA rispetto a quelli standard?

Grazie!

 
Morzh09:

Buon pomeriggio, amici...

Per quanto ho capito, il risultato finale dovrebbe essere circa questa immagine:

Se è così, per ottenerlo in Excel 2007 fate come segue:
Prendete il file CSV generato dallo script, apritelo in Excel.
Elimina le colonne non necessarie, rispettivamente lascia solo Time e ZigZag Date.
Poi seleziona le colonne rimanenti, apri la scheda "Inserisci", clicca su "Grafico" e seleziona il tipo "Grafico". Il grafico viene disegnato automaticamente con i parametri standard. Poi, se necessario, cambiate il prezzo di divisione nelle impostazioni degli assi, aggiungete una griglia, ecc.

Nell'archivio, il CSV originale per esempio, e il grafico risultante in formato XLSX.

File:
 
PER FAVORE AIUTATEMI!!! Nel seguente codice controllo se l'ordine era redditizio o no! Se non conto la quantità !!!
Se il primo trade non era redditizio, allora il ciclo di conteggio è iniziato e viene aggiunto per sempre.

Ma c'è una fregatura!!! Se un affare è redditizio, allora tutti gli ulteriori ordini perdenti sono contati normalmente ....

double orderProf; // Contatore per il numero di trade perdenti

double CalculateLots(){
double Res=0.01;
bool bProfit=true;
int PrevTime=-1;
double tmpLots;
for (int i=0;i<OrdersHistoryTotal();i++){
if (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continua;
if (OrderSymbol()!=Symbol()) continua;
if (OrderCloseTime()<PrevTime) continua;
PrevTime=OrderCloseTime();
if (OrderProfit()>0){bProfit=true; orderProf=0;} if (OrderProfit()<0){bProfit=falso; orderProf++;}
tmpLots=OrderLots();
}


return(Res);
}