Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 96
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
Ciao!
Per favore aiutatemi a scrivere un EA.
L'essenza dell'Expert Advisor: apre 4 ordini di 1 lotto.
2 da vendere: usdchf; eurusd;
2 da comprare: gbpusd; usdjpy;
Una volta raggiunto un profitto totale di 5 pip, chiudi tutti i trade. E ricominciare.
4 lotti in totale?
E se non c'è profitto?
Ciao!
Per favore aiutatemi a scrivere un EA.
L'essenza dell'Expert Advisor: apre 4 ordini di 1 lotto.
2 da vendere: usdchf; eurusd;
2 da comprare: gbpusd; usdjpy;
Una volta raggiunto un profitto totale di 5 pip, chiudi tutti i trade. E ricominciare da capo.
Non c'è bisogno di duplicare la tua domanda in diversi thread.
Si prega di contattare Freelance.
Saluti.
Puoi dirmi come scrivere la condizione in modo che l'azione venga eseguita all'apertura di una nuova candela sul grafico corrente?
Ciao, aiutami a capire gli array!
Ho bisogno di riempire un array con l'indicatore MASD. Da quanto ho capito, ci sono dati: indice della barra, valoreMODE_MAIN, valoreMODE_SIGNAL, cioè l'array dovrebbe essere di tipo tridimensionale ( a [] [] []), o cosa? Se può fare un esempio.
https://www.mql5.com/ru/articles/159
Sergey, hai mai usato tu stesso questo codice?
L'articolo è generalmente buono, ma è
molto pericoloso. Per farlo funzionare, bisogna, come raccomandato dal batterista, "smanettare" la storia periodicamente. Non ho specificato quale luogo.
In generale, dopo molta sofferenza, ho concluso che è meglio usare la funzione CopyRates()
I messaggi sui possibili errori sono compilati da ognuno di noi, se vogliamo.
{
static datetime timeLastBar;
MqlRates mqlRates[];
int s = 0;
do
{
s++;
}
while(CopyRates(_Symbol, PERIOD_CURRENT, 0, 1, mqlRates) < 0 && s < 7);
bool ret = timeLastBar != mqlRates[0].time;
if(ret)
timeLastBar = mqlRates[0].time;
return(ret);
}/*******************************************************************/
Sergey, hai mai usato tu stesso questo codice?
L'articolo è generalmente buono, ma è
molto pericoloso. Per farlo funzionare, bisogna, come raccomandato dal batterista, "smanettare" la storia periodicamente. Quale luogo non è stato specificato.
Alexey, dimmi, quando ti sei imbattuto in errori usandolo? Ne hai mai avuto uno?
Io stesso uso questo metodo e non ho avuto problemi. Beh, forse devo ancora farlo?
Vorrei delle spiegazioni - per così dire... :)
Dove l'ha detto il batterista?
Alexei, dimmi, quando hai mai incontrato errori con questo uso? L'hai mai fatto?
Io stesso sto usando questo metodo e non ho ancora incontrato alcun problema. Beh, forse devo ancora farlo.
Vorrei delle spiegazioni - per così dire... :)
Dove ha detto una cosa del genere Drubashka?
https://www.mql5.com/ru/forum/89213
Ci sono otto pagine di battibecchi. E non solo drubashka, ma Slawa dice che
Dove vedete un comportamento inadeguato di questa funzione? Avete letto attentamente la documentazione?
Restituisce informazioni sullo stato dei dati storici. Non aggiorna le informazioni, non avvia lo scambio di dati. Restituisce solo quello che c'è al momento.
Alexei, dimmi, quando hai mai incontrato errori con questo uso? L'hai mai fatto?
Perché io stesso uso questo metodo e non ho ancora incontrato alcun problema. Beh, forse devo ancora farlo.
Vorrei delle spiegazioni - per così dire... :)
Dove l'ha detto il batterista?
Ed ecco il ticchettio.
Non ha funzionato su un simbolo in un terminale (su timeframe M15) - sono sicuro al 99% che il problema è che usando un altro timeframe ho bisogno di "sobbalzare" la storia in continuazione. Penso che sia meglio farlo attraverso CopyTime().
Alexei, dimmi, quando hai mai incontrato errori con questo uso? L'hai mai fatto?
Per esempio, nel terminale MT5 ci sono alcuni Expert Advisors (MACD Sample e Moving Averages), ma se volete cambiare l'handle dell'indicatore nel codice di questi Expert Advisors e mettere un TF specifico, per esempio PERIOD_H4, invece di "_Period", allora nel test dai prezzi aperti del TF superiore, si verifica il seguente errore di caricamento dell'indicatore: cannot load indicator 'MACD' [4805] e come risultato: tester arrestato perché OnInit failed. Quali sono le vostre opinioni? Forse sto facendo qualcosa di sbagliato? È possibile codificare l'Expert Advisor in modo che venga testato per i prezzi aperti di qualsiasi TF?
Ho provato a usare l'indicatore come un indicatore personalizzato, l'errore è lo stesso.
Grazie in anticipo per il vostro feedback.
int OnInit(void)
{
//--- preparare la classe commerciale per controllare le posizioni se la modalità di copertura è attiva
ExtHedging=((ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE)==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING);
ExtTrade.SetExpertMagicNumber(MA_MAGIC);
ExtTrade.SetMarginMode();
//--- Indicatore della media mobile
ExtHandle=iMA(_Symbol,PERIOD_H4,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE);
se(ExtHandle==INVALID_HANDLE)
{
printf("Errore nella creazione dell'indicatore MA");
return(INIT_FAILED);
}
//--- ok
return(INIT_SUCCEED);
}