Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 490
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Buon pomeriggio!
Ho un EA che fa certi calcoli. Utilizza diverse operazioni matematiche, array, loop. Salva il risultato in un file. Deve ricominciare tutto dall'inizio dopo aver eseguito tutte le azioni. Ha fatto tutti i calcoli una volta e poi si blocca per la seconda volta senza fare alcuna azione. Potete consigliarmi se è necessario azzerare le variabili, cancellare gli array o qualcos'altro prima di iniziare un nuovo calcolo?
Hai provato a chiudere il file?
Come programmare una stampella/indicatore/script (come un indicatore con schede "about, general, input parameters, colours, display") per MT4 in modo che prenda dati da file .csv, come il formato delfile sorgente:
Cioèl'indicatore ha preso i dati registrati da un file e li ha messicome un segmento di linea (TF, TA) o una banda colorata(EA) con i parametri dell'estensione uguale a "un giorno". (dal bordo al bordo dei separatori verticali dei giorni su МТ4), per le linee selezione del colore della linea, tipo di linea, selezione del colore del testo e dimensione del commento e sostituzione della linea di commento come "TF - 1,192" la seconda linea "TF - 1,1733" che sono prese dalle linee corrispondenti del file. L'intervallo è puramente orizzontale e dalla linea EUR;TF;1.192;1,1733 prende la prima cifra per uno slot e la seconda cifra per il secondo come inizio dello slot 1.192 e fine dello slot 1.192.
Ci sono anche intervalli, per esempio EA, il principio è lo stesso dall'inizio alla fine della giornata ma il prezzo è diverso e la linea inizia e finisce con CHF;AB1;1.03484132734247;1.02549513556164 inizio è1.03484132734247 fine dell'intervallo1.02549513556164. Funziona quando si accende MT4 (come un normale indicatore sul gafik), ogni giorno sul grafico e aggiunge tutti i dati esattamente per il giorno corrente una volta, tutte le linee applicate in precedenza non viene rimosso dal grafico e non si duplica. Con tutto ciò seleziona e visualizza tutti i segmenti e gli intervalli del giorno, solo dove si trova ora la finestra attiva e su altre finestre attive (cioè, dove è in esecuzione) (cioè, ha aperto una coppia e l'indicatore ha disegnato tutti i segmenti e gli intervalli del giorno corrente e si è fermato, e così via per le coppie).
Per esempio, come dovrebbe essere la scheda dell'indicatoreParametri di ingresso:
provato a scarabocchiare me stesso, ma non ottenere una cosa maledetta anche se sembrava facile (ma io sono un umanitario, cosa si può fare....) Aiuto per favore annegamento !!!!!!!!
Ciao!
Per favore aiutatemi a trovare un bug nel seguente programma!!!
//+------------------------------------------------------------------+
//|test.mq4 |
//| Copyright 2018, MetaQuotes Software Corp.
//|https://www.mql5.com ||
//+------------------------------------------------------------------+
#proprietà copyright "365_MA"
#proprietà link "https://www.mql5.com"
#proprietà versione "1.00"
#proprietà rigorosa
extern Period_MA = 365; //Periodo MA 1
extern double Delta = 0.0010; //La distanza alla quale l'ordine può essere aperto
string Symb; //nome dello strumento commerciale
//int Total; //numero di ordini
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto|
//+------------------------------------------------------------------+
int init()
{
//----
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperta|
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("Obj_Label");
ObjectDelete("Obj_Label2");
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto|
//+------------------------------------------------------------------+
int start()
{
doppio prise = Bid;// prezzo corrente
double CurrMAValue = iMA(Symb, Period(),Period_MA, 0,Mode_EMA, PRICE_CLOSE, 0); //il valore della media mobile
doppio Price2MA = prezzo - CurrMAValue;//distanza tra MA e prezzo
datetime NextClose = Time(0) + Period()*60*2;//ora di chiudere
int MinutesToNextClose = (NextClose - TimeCurrent())/60 + 1; //tempo di chiusura in minuti
//int err;
//aggiorna le informazioni di testo sul grafico
ObjectSetText ("Obj_Label", "TF" + Period() + ", " + DoubleToStr(price, 4) + ", tick " + TimeToStr(TimeCurrent(), TIME_SECONDS) + ", O@" + TimeToStr(Time[0], TIME_MINUTES) + ", NC@" + TimeToStr(NextClose, TIME_MINUTES) + " (" + MinutesToNextClose + " min)", 10,
ObjectSetText ("Obj_Label2", "Delta " + DoubleToStr(Delta,4) + ", MA value " + DoubleToStr(CurrMAValue, 4) + ", distance to MA " + DoubleToStr(Price2MA, 4), 10, "Arial", DarkGreen );
//considerare il prezzo e generare avvisi
if ((MathAbs(Price2MA) < Delta) && // se la distanza da МА è inferiore a delta
(Prezzo > CurrMAValue) && // e il prezzo è superiore alla MA
(Open(0) > CurrMAValue+Delta) // e la candela attuale ha aperto più in alto di MA+Delta
(
Allarme ("Il prezzo si avvicina alla MA dall'alto;)
)
se ((MathAbs(Price2MA) < Delta) && // se la distanza dalla MA è inferiore al delta
(prezzo < CurrMAValue) && // e il prezzo è sotto la MA
(Open(0) < CurrMAValue-Delta)) // e la candela attuale ha aperto sotto il delta della MA
(
Allarme ("Il prezzo si è avvicinato sotto la MA;)
)
ritorno(0);
//+------------------------------------------------------------------+
Dopo aver compilato il seguente errore
Ciao!
Per favore aiutatemi a trovare un bug nel seguente programma!!!
Dopo aver compilato il seguente errore.
Una parentesi graffa è stata lasciata fuori.
Devo integrare lo zigzag nel mio indicatore (ora conta per maniglia)
Il fatto è che il mio indicatore non usa OnCalculate().
Allora, come faccio a far funzionare lo zigzag e come ottengo tassi_totali e prev_calcolati?
Il rate_total è il numero di barre del grafico. Viene determinato utilizzando la funzione Bars.
prev_calculated - create un analogo per conto vostro, dichiaratelo globalmente (o staticamente) e scriveteci il numero di barre effettivamente calcolato nell'iterazione corrente. Significa che, dopo aver calcolato con successo i valori dell'indicatore, dobbiamo registrare il numero di barre attuali in esso. Se i calcoli non hanno successo, è meglio annullarlo per ricalcolare i valori dell'indicatore per ogni barra della storia alla prossima iterazione.
Re: Alekseu Fedotov
Cos'è un tutore, scusa
Re: Alekseu Fedotov
Cos'è un tutore, scusa
Tra parentesi quadre, l'indice della matrice x[25].
void start()
{
In parentesi graffe blocco operatore
}
Tra parentesi l'argomento della funzione sin(30)
tra parentesi quadre l'indice della matrice x[25]
void start()
{
In parentesi graffe blocco operatore
}