[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 993
Ciao, ho una domanda: c'è un modo per ottimizzare un EA in MT4 per diverse coppie di valute contemporaneamente? o forse c'è un programma speciale per questo? o almeno per accelerare l'ottimizzazione (per caricare completamente la CPU)?
Ho bisogno di scrivere ogni prossimo spread in un array, e dividerlo per il numero di spread nell'array, e non appena il numero di record raggiunge N, ho bisogno di rimuovere il primo nell'array
if (Bid<=Low&&Ask<High -1*delta ) // Apertura di Srll
Stampa (" Vendi= ",21);
return (20);}
return; // se il tempo non è buono, non aprite qualcosa; semplicemente uscite.
Le seguenti variabili High e Low sono note (ho controllato con una stampa) e il prezzo mostra le seguenti condizioni
1.se buy > High, allora inviamo un comando 10 (close buy)
2. se comprare < Low e asc è inferiore a High di 1 punto, allora chiudere con ritorno 11
se la variabile Time == 1 allora:
3. se il Bid è inferiore o uguale al Low e l'Ask è inferiore all'High di almeno un punto, allora apri Buy
4. se il Bid è superiore o uguale a High, allora apriamo Sell?
Voglio ricordare che questo programma è completamente dal tutorial, cambio solo i criteri di trading, rispettivamente, il comando 10, 20 tutti standard, allegherò tutte le funzioni che sono chiamate solo nel caso
Ho bisogno di scrivere un intervallo di tempo nella funzione dell'indicatore allert. tipo, una finestra si apre quando appare un segnale e possiamo vedere da quale grafico questo segnale. M15 per esempio.
Ho cercato sul sito, ma non trovo niente del genere.
Ho bisogno di scrivere un intervallo di tempo nella funzione dell'indicatore allert. tipo, una finestra si apre quando appare un segnale e possiamo vedere da quale grafico questo segnale. M15 per esempio.
Ho cercato sul sito, ma non trovo niente del genere.
Quindi visualizzalo sul lato sinistro dello schermo - qual è la differenza? - La linea a destra avrà il prezzo - a sinistra il testo del messaggio...
o il fascio - ma allora tutto è a sinistra...
Questa è la richiesta del cliente :) Altri indicatori sono usati a sinistra in modo che uno non si sovrapponga all'altro.
Bene, risolverò il problema, grazie a tutti per la vostra partecipazione!
Salve, ho una domanda: c'è un modo per ottimizzare un consulente su diverse coppie di valute contemporaneamente in MT4?
È possibile eseguire diversi MT4 allo stesso tempo con l'ottimizzazione di un EA su diverse coppie.
Se è proibito, allora ditegli che lo permetto
prova ad entrare per assegnare il delta
delta = 1; se (cifre = 5) {delta = 10;}
e nel testo aggiungere
if (Bid <=Low&&& Ask < High - 10*Point*delta)
Questo probabilmente non è del tutto corretto, ma il significato è chiaro
delta = Punto; if(digits = 5) {delta = 10*Punto;}
se (Bid <=Low&&& Ask < High - 10*delta) anche se non c'è differenza, ma... e io?
e la seguente domanda sugli spread dinamici rende necessario calcolare lo spread medio su N tick,
Ho disegnato quanto segue, ma non sono sicuro che sia corretto:
int TicSpred=100;
doppio Spread[10000];
if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}
per (int q=TicSpred;q>0;q--){
se (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}
per (q=TicSpred;q>0;q--){Spread[p]=Spread[p-1];}
Spread[0]=(Ask-Bid)/delta;
doppio CountedSpred;
for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}
double Aversired=CountedSpred/TicSpred; ma non sono sicuro che questo sia corretto, e non sembra contare correttamente per cinque cifre
No, non è affatto giusto.
Ho bisogno di scrivere ogni prossimo spread in un array, e dividerlo per il numero di spread nell'array, e non appena il numero di record raggiunge N, ho bisogno di rimuovere il primo nell'array
si può fare qualcosa di più semplice?
C'è anche un errore qui
if (Bid >=High ) // Close Bay
ritorno (11);
se (Bid <=Low && Ask <High - 1*delta )
return (21); // Chiudi Vendi
se (commercio == 1){
if ( Bid <=Low ) // Open Bay
Stampa ( " Bay = ",11);
return (10);}
se (Tempo == 1){
if (Bid<=Low&&Ask<High -1*delta ) // Apertura di Srll
Stampa (" Vendi= ",21);
return (20);}
return; // se il tempo non è buono, non aprite qualcosa; semplicemente uscite.
Le seguenti variabili High e Low sono note (ho controllato con una stampa) e il prezzo mostra le seguenti condizioni
1.se buy > High, allora inviamo un comando 10 (close buy)
2. se comprare < Low e asc è inferiore a High di 1 punto, allora chiudere con ritorno 11
se la variabile Time == 1 allora:
3. se il Bid è inferiore o uguale al Low e l'Ask è inferiore all'High di almeno un punto, allora apri Buy
4. se il Bid è superiore o uguale a High, allora apriamo Sell?
Voglio ricordare che questo programma è completamente dal tutorial, cambio solo i criteri di trading, rispettivamente, il comando 10, 20 tutti standard, allegherò tutte le funzioni che sono chiamate solo nel caso
Gente! Ciao a tutti, aiuto!
Ho bisogno di scrivere un intervallo di tempo nella funzione dell'indicatore allert. tipo, una finestra si apre quando appare un segnale e possiamo vedere da quale grafico questo segnale. M15 per esempio.
Ho cercato sul sito, ma non trovo niente del genere.
Gente! Ciao a tutti, aiuto!
Ho bisogno di scrivere un intervallo di tempo nella funzione dell'indicatore allert. tipo, una finestra si apre quando appare un segnale e possiamo vedere da quale grafico questo segnale. M15 per esempio.
Ho cercato sul sito, ma non trovo niente del genere.
Comunque, questa funzione
//--------------------------------------------------------------------
// Criterio.mqh
// destinato ad essere usato come esempio nel tutorial MQL4.
//--------------------------------------------------------------- 1 --
// Funzione per calcolare i criteri di scambio.
// Valori restituiti:
// 10 - apertura Comprare
// 20 - Apertura di vendita
// 11 - chiusura Acquisto
// 21 - Vendere la chiusura
// 0 - nessun criterio significativo
// -1 - viene usato un altro strumento finanziario
//--------------------------------------------------------------- 2 --
// Variabili esterne:
//--------------------------------------------------------------- 3 --
int Criterion() // Funzione utente
{
//----------------------------------------------------------------4----
stringa Sym="________";
if (Sym!=Symbol()) // Se non è il nostro fin.
{
Inform(16); // messaggio.
return(-1);} // ...e uscire
delta = Punto;
if (Digits == 5 || (Digits == 3 && StringFind(Symbol(), "JPY", 0) != -1))
delta= Punto *10;
int Digital=MarketInfo(Symbol(),12);
//--------------------------------------------------------------- 5 --
// Parametri per l'indicatore tecnico:
bool trade;
if (Begin>End && (Hour()>Begin-1 || Hour()<End)){trade=1;}
if (Begin<End && (Hour()>Begin-1 && Hour()<End)){trade=1;}
{if (trade==0 && mag!=Mag) return(0);}
// --------------------------Calcolare lo spread medio-----------------------
if (!IsTesting() || IsVisualMode() || !IsOptimization())
{
int TicSpred=100;
doppio Spread[10000];
if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}
per (int q=TicSpred;q>0;q--){
se (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}
per (q=TicSpred;q>0;q--){Spread[q]=Spread[q-1];}
Spread[0]=(Ask-Bid)/delta;
doppio CountedSpred;
for (q=0;q<TicSpred;q++){CountedSpred=CountedSpred+Spread[q];}
double Averaged=CountedSpred/TicSpred;
}
//--------------------------------------------------------------- 5 --
// Calcolo dei criteri di negoziazione
if (Bid >=High ) // Close Bay
ritorno (11);
se (Bid <=Low )
return (21); // Chiudi Vendi
se (commercio == 1){
if ( Bid <=Low &&Ask<High -0.5*MyPoint ) // Open Bay
Stampa ( " Bay = ",11);
return (10);}
se (commercio == 1){
if (Bid>=High ) // Apertura del Srll
Stampa (" Vendi = ",21);
return (20);}
return; // se il tempo è cattivo, non aprite nulla; uscite e basta.
//--------------------------------------------------------------- 6 --
return(0); //uscita dalla funzione utente
}
//--------------------------------------------------------------- 7 --
si presume che le variabili Low e High siano già state definite e siano corrette