Ho solo una semplice domanda. Sto cercando di utilizzare un indicatore personalizzato in un EA. Quello che il indicatore personalizzato fondamentalmente fa è aggiunge 2 MAs da due variabili che utilizzano iMA (), e invia che in un buffer. Ho quindi utilizzare iMAonArray () su tale buffer per ottenere un altro indicatore come un crossover. Questo è quello che voglio dire: La linea viene disegnata buffer1 senza problemi, ma in modo che la linea di buffer2 ad apparire sul grafico, ho bisogno di aggiornare manualmente la tabella e solo dopo, viene visualizzata la Linea buffer2. Cosa posso fare per evitare che ciò accada, perché quando uso l'indicatore personalizzato in EA, che pretende molto dare alcun valore per buffer2 in quanto non viene aggiornato. C'è qualche alternativa all'utilizzo iMAOnArray per ottenere un EMA su questo buffer o un'alternativa a dover aggiornare le tabelle in modo da poter usare nei miei EA Grazie per qualsiasi aiuto è possibile fornire ho solo una semplice domanda. Sto cercando di utilizzare un indicatore personalizzato in un EA. Quello che il indicatore personalizzato fondamentalmente fa è aggiunge 2 MAs da due variabili che utilizzano iMA (), e invia che in un buffer. Ho quindi utilizzare iMAonArray () su tale buffer per ottenere un altro indicatore come un crossover. Questo è quello che voglio dire: La linea viene disegnata buffer1 senza problemi, ma in modo che la linea di buffer2 ad apparire sul grafico, ho bisogno di aggiornare manualmente la tabella e solo dopo, viene visualizzata la Linea buffer2. Cosa posso fare per evitare che ciò accada, perché quando uso l'indicatore personalizzato in EA, che pretende molto dare alcun valore per buffer2 in quanto non viene aggiornato. C'è qualche alternativa all'utilizzo iMAOnArray per ottenere un EMA su questo buffer o un'alternativa a dover aggiornare le tabelle in modo da poter usare nei miei EA Grazie per qualsiasi aiuto è possibile fornire Trie fuori. Anche i file. ex4 possono essere utilizzati in questo modo in un EA Se si utilizza un indicatore personalizzato in un gtgt iCustom EA compilato (.) Trie fuori. Anche compilato file. ex4 possono essere utilizzati in questo modo in un EA che è quello che sono attualmente in uso. Per spiegarmi meglio. L'indicatore personalizzato (CI) disegna linee 2, buffer1 e buffer2 dove buffer2 è un EMA di buffer1. Quando aggiungo il CI al grafico, appare solo buffer1 Linea, devo aggiornare il grafico al fine di ottenere buffer2 linea. La strategia è fondamentalmente una strategia di crossover, ed è quello che vorrei per codificare in EA. Ho codificato l'EA utilizzando iCustom (), ma il problema è che, (almeno nella strategia Tester) dal momento in cui si aggiunge l'EA, il grafico non è quotrefreshedquot, la Linea buffer2 non viene mai calcolato, solo buffer1. Dal momento che la condizione di acquisto è che buffer1 attraversa buffer2, e buffer2 non ha alcun valore, allora nessun commerci vengono prese. Così Im indovinando avrei dovuto sia avere un modo che l'EA quotrefreshesquot il CI dall'interno della EA (che non penso sia possibile), o calcolare l'EMA su buffer1 in un modo diverso, diciamo per esempio la codifica del modo in cui un EMA è calcolata e farlo utilizzare i dati da buffer1 per calcolarlo. Ive ha provato anche quello, ma penso che potrei essere di codifica sbagliato. Il problema con la EMA è che ha bisogno l'EMA della barra precedente, o almeno la SMA della barra prima del primo in cui l'EMA sarà calcolato al fine di calcolare l'EMA (EMAcurrent (Buffer1current - EMAprevious) Peso EMAprevious) . Calcolando che inital SMA è quello che non posso arrivare a work. Index del valore assunto dal buffer indicatore (spostamento relativo alla barra corrente la quantità data di periodi fa). Devo ancora vedere un esempio che usa qualcosa di diverso da 0 per una totale e la differenza esatta tra mashift e lo spostamento non è affatto chiaro. Ora al mio esempio. Inizialmente, ho voluto codificare la segue in un EA ma ha avuto problemi, quindi ho convertito in un indicatore in primo luogo per osservare meglio il suo comportamento. Hilo-spia determina i più alti alti e bassi più bassi in un certo periodo e poi si applica una media mobile a questi valori. Il codice completo è il seguente: se corro questo indicatore a destra dopo la compilazione trasporta il risultato atteso: Tuttavia, non appena cambio il periodo (qui dal 15 al 20) solo i primi 20 valori sono validi, tutti gli altri sono molto elevato numero. So che posso ottenere il comportamento desiderato se prima completare il buffer di alti e bassi, modificando il codice in due cicli. Tuttavia, se Im codifica un EA devo anche a reagire ad ogni nuovo valore di per sé in modo che il doppio anello non è la soluzione desiderata. Attraverso esperimenti ho scoperto che codifica il cambiamento di mashift invece di spostamento fa esattamente quello che voglio, ma richiede una quantità enorme di tempo ricalcolo. (Blocca Essenzialmente il computer per un po '). Così uno dei MQL-esperti ti prego di aiutarmi su questo e aiutarmi a capire perché le cose stanno lavorando come sono (e ovviamente non come mi aspettavo loro di). DOMANDA: Come posso calcolare le medie nello stesso ciclo come gli alti e bassi sono determinati (senza bloccare il computer) I valori essenziali per il calcolo della media sono disponibili in modo non vedo una ragione per la costruzione di due loop Grazie in anticipo totale - non è sicuro, avrebbe dovuto giocare con lui per scoprire cosa vuol dire cambiamento - il numero di bar per i quali l'indicatore restituisce il valore calcolato mashift - sposta il quotresultquot del calcolo in un bar diverso. Aprire un grafico, aggiungere indicatore di media mobile. in proprietà, uno spostamento negativo sposta la linea MA a fianco, uno spostamento positivo sposta verso destra. Anch'io ho bisogno di usare due cicli per ottenere valori validi quando si utilizzano gli array. hai ragione sono le misure che ottenere spostato con mashift. Vedere l'uscita. Bene, cercherò di mettere il codice in un EA di nuovo. Commenti verrà più tardi. sì, si può usare ovunque, ma dal mio exp, dovrebbe essere sicuri ed essere la cura per le dimensioni buffer e contenuti utilizzati IMA OnArray Essere molto attenzione se si tenta di utilizzare iMAOnArray in un EA. Penso che è destinato a essere utilizzato solo in indicatori. Il problema è principalmente la direzione. conta all'indietro. youd devono usare ArraySetAsSeries, ma che funziona solo negli indicatori. In realtà ArraySetAsSerie non influenza la matrice sei indicando. invece agisce sul buffer dell'indicatore collegato, quindi è inutile in un EA. Questa merda mi ha tenuto premuto per giorni Ive ha avuto così tanto problemi con esso che ho dovuto ricodificare in una funzione personalizzata per farlo funzionare correttamente. Essere molto attenzione se si tenta di utilizzare iMAOnArray in un EA. Penso che è destinato a essere utilizzato solo in indicatori. Il problema è principalmente la direzione. conta all'indietro. youd devono usare ArraySetAsSeries, ma che funziona solo negli indicatori. In realtà ArraySetAsSerie non influenza la matrice sei indicando. invece agisce sul buffer dell'indicatore collegato, quindi è inutile in un EA. Questa merda mi ha tenuto premuto per giorni Ive ha avuto così tanto problemi con esso che ho dovuto ricodificare in una funzione personalizzata per farlo funzionare correttamente. Ora ho trascorso una sera (e 2 birre, 1 caffè finora.) Cercando di capire iMAOnArray. Ho trovato questa discussione e ho avuto un po 'paura di leggere come tutti voi avete lottato con questa cosa. Volete condividere la vostra funzione personalizzata Credo di aver capito tutto iMAOnArray mistero. Hai sostanzialmente a contare all'indietro da la dimensione dell'array. Ho trovato questo da tentativi ed errori, e sembra funzionare correttamente nel mio EA. Se im palesemente sbagliato, si prega qualcuno dire qualcosa. Ho ogni indicazione che questo sta facendo quello che penso il suo fare e assumerà questo è corretto andare avanti. In sostanza, si deve sapere quanto è grande l'array è in primo luogo, che tu abbia un array monodimensionale con 1000 elementi, e dire che si desidera affrontare la media di 14-elemento a elemento j, si esegue questa operazione nel modo seguente:
No comments:
Post a Comment