Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 640
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 compagni!
MT5 ha degli strumenti meravigliosi e molto utili "Pulse Elliott Wave" e "correcting Elliott Wave".
La domanda è: posso integrare questi strumenti da MT5 in MT4?
Faccio trading in MT4 e non è molto conveniente passare a MT5 per l'analisi.
Oppure: quali sono gli altri modi per risolvere il problema?
Buon pomeriggio, la lingua ha un parametro di mercato come MarketInfo(Symbol(), MODE_TICKVALUE). Puoi descrivere in termini generali come viene calcolato questo valore?
Questo è il valore del cambiamento minimo di prezzo (1 pip) nella valuta di deposito a 1,00 lotto! Il calcolo è molto semplice: 1.00(lotto)/1.36030(quotazione attuale dell'Euro) = 0.7351 in Euro.
Questo è il valore del cambiamento minimo di prezzo (1 pip) nella valuta di deposito a 1.00 lotto! Calcolato molto semplicemente: 1.00(lotto)/1.36030(quotazione attuale dell'Euro) = 0.7351 in Euro.
Tranne che una richiesta tramite marketinfo in qualche modo restituisce 10 per tutte le coppie tranne le coppie di yen ))))
Da dove avete preso questa formula?
tranne che una query attraverso marketinfo in qualche modo restituisce 10 per tutte le coppie tranne le coppie di yen ))))
Da dove avete preso questa formula?
Faccio tutte le formule da solo e ora l'ho preso dal mio grafico.
E questo è di Doki:
MODE_TICKVALUE.
16
Dimensione del cambiamento minimo del prezzo del simbolo nella valuta di deposito
I calcoli non sono condivisi.
Faccio tutte le formule da solo e le ho ottenute dal mio grafico.
E questo viene dai Docks:
MODE_TICKVALUE
16
Dimensione della variazione minima del prezzo dello strumento nella valuta di deposito
I calcoli non sono condivisi.
Anche se per 1 lotto di eurodollari 1 pip costa davvero 10 dollari, quindi va bene.
E i calcoli non dovrebbero essere condivisi solo con coloro che si vergognano di mostrarli.
In questo caso la formula dovrebbe essere corretta - MODE_TICKVALUE = MODE_LOTSIZE * MODE_TICKSIZE - per Euro, la formula per i cross e Yen è un po' diversa
Ad essere onesti, non ho capito come applicarlo. Manca un millimetro, è un peccato fermarsi quando è quasi finito.
Task, non scrivere il prezzo nell'array se l'oggetto time(2° parametro+3600sec>current)||(1st parameter time - 2nd parameter time)<3600sec )
Perché emulare un errore?
Un errore serve a segnalare che, per qualche motivo legato a limitazioni/fallimenti del sistema, l'algoritmo non è riuscito ad eseguire e ad ottenere un risultato con alcune garanzie (naturalmente limitate, ma - ). La funzione FillAndPrint() mostra eloquentemente cosa significa una situazione di errore e cosa no. Quando si verifica un errore, non prova nemmeno a stampare il risultato. Se non ci sono errori, il risultato può essere affidabile. È così che la logica "errore/nessun errore" dovrebbe essere costruita.
Ma qui dobbiamo modificare l'algoritmo: dobbiamo anche applicare un filtro aggiuntivo.
Quindi deve essere fatto:
Prima abbiamo "filtrato" per tipi di oggetti e parametri, selezionando solo gli oggetti di cui abbiamo bisogno tra tutti quelli disponibili, e poi applichiamo un ulteriore filtro. È più o meno come lo farebbe una persona. È quello che farebbe un umano, giusto?
Per ognuno di questi piccoli sottocompiti, abbiamo bisogno di una funzione separata.
I numeri non dovrebbero essere nelle espressioni, tranne in casi molto speciali, per esempio, se è necessario raddoppiare, e questo raddoppio è nella natura dell'algoritmo. Allora il numero 2 può essere usato direttamente nelle espressioni. E in altri casi così rari.
In altri casi, si dovrebbe usare la mnemotecnica. In primo luogo, migliorano notevolmente la comprensione di ciò che sta accadendo in un dato luogo, e quindi aiutano a ridurre la probabilità di commettere un errore. E in secondo luogo, il valore stesso è fissato in un posto ed è facile cambiarlo se necessario, e sarà impossibile fare un errore rispetto al caso in cui il numero è usato ripetutamente nell'algoritmo, e senza usare la mnemotecnica bisogna correggere i numeri in diversi punti dell'algoritmo.
Risultato della corsa:
Non si trova un solo oggetto. Aumentate i valori di entrambe le mnemoniche 10 volte fino a 36000 (10 ore), ed eseguite di nuovo:
Una tendenza ha già "superato" il filtraggio. Ora ripristiniamo il valore del primo mnemonico a 3600 ed eseguiamolo:
Possiamo vedere che ora entrambe le linee di tendenza hanno "passato" il filtraggio. A proposito, raccomando di fare il debug di tutti i rami (parti) del programma in questo modo, non solo di un ramo.
Per aiutarvi a formalizzarlo in qualche modo, cercherò di spiegarlo in questo modo. Un programma è apparentemente come un piano.
Ogni voce principale del piano può essere suddivisa in voci di un sottopiano più piccolo. Quelli più piccoli in altri ancora più piccoli. I punti dei sottopiani più piccoli vengono eseguiti direttamente.
Ogni piano, sottopiano e anche i punti dei sottopiani più piccoli corrispondono a funzioni del programma. Gli elementi nei sottopiani più piccoli corrispondono a funzioni "finali" che chiamano solo funzioni di sistema, o addirittura non le chiamano affatto, ad esempio, AddValue() o DiffInSecs() sono esempi nella discussione precedente. Gli elementi del sottopiano sopra corrispondono alle funzioni che chiamano le funzioni che implementano gli elementi del sottopiano sotto. In quelli discussi sopra, questi sono MassTrendNumber(), AddValueIfFound(), AddValueIfFiltered(). Le funzioni di "basso livello" non dovrebbero chiamare funzioni di "alto livello", e le funzioni di "alto livello" fondamentalmente non dovrebbero saltare diversi livelli verso il basso, cioè dovrebbero chiamare solo funzioni fondamentalmente al livello inferiore. Questa regola è molto più severa per "basso livello" che per "alto livello".
Provate a costruire i vostri programmi organizzando le azioni in essi come funzioni (brevi) collegate da questo tipo di struttura ad albero, nel senso di chi chiama chi.
Questo programma ha un albero degenerato: un ramo che si "ramifica" più volte. E si "ramifica" non in due piccoli rami, ma in uno solo. Ma il punto che le funzioni di "alto livello" chiamano costantemente quelle di "basso livello" può essere visto. In questa modifica, ho inserito un ulteriore livello in questa struttura, un altro "ramo non ramificato" - AddValueIfFiltered().
https://www.mql5.com/ru/forum/152102 Ho una domanda
Tutto è corretto! Con una quotazione a 4 cifre era sempre 1, e conuna quotazione a 5 cifre è ora 10, perché ci sono 10 volte più pip (e meno profondi). E il valore di un tick minimo dovrebbe essere calcolato dal prezzo corrente!
Ho 4 cifre ora, su ewardollar a 1 lotto 1 punto costa 10 dollari ed è sempre stato così. Per le croci il costo sarà da 8 a 16, la formula è un po' più complicata.
Per esempio, per l'euro sterlina marketinfo ha restituito 16,984, il tasso di cambio sterlina-dollaro = 1,6984, cioè 1 pip dell'euro sterlina vale 1 sterlina, moltiplicato per il valore del punto sterlina-dollaro, che è sempre 10,0 (100000 * 0,0001 = 10,0 o 100000 * 0,00010 = 10,0 - come si vuole).
Tutti questi calcoli sono corretti solo se il vostro conto è in dollari:
In questo caso, per xUSD (EURUSD, GBPUSD ecc.) tickvalue = lot*point = 100000*0.0001 = 10.0
per USDx (USDCHF, USDJPY ecc.) tickvalue = lot*point/Bid = 100000*0.01/101.93 = 9.8107
per xUSD/yUSD (EURGBP) tickvalue = Bid(yUSD)*lot*point = 1.6980*100000*0.0001 = 16.98
per i cross xUSD/USDy (EURJPY) tickvalue = lot*point/Bid(USDy) = 100000*0.01/101.91=9.8126
Ho 4 cifre ora, su ewoldollar a 1 lotto 1 punto costa $10 e ha sempre fatto così. Per le croci il costo sarà da 8 a 16, la formula è un po' più complicata.
Per esempio, per la sterlina euro marketinfo ha restituito 16,984, il tasso di cambio di evodollaro = 1,3604, il tasso di cambio sterlina-dollaro = 1,6984, cioè, 1 pip della sterlina euro vale 1 sterlina, moltiplicato per il valore del punto di sterlina-dollaro, che è sempre 10,0 (100000*0,0001 = 10,0 o 100000*0,00010 = 10,0 - come si vuole).
Il mio è semplice e pratico! E all'epoca in cui c'era una citazione a 4 cifre, non avevo ancora scritto programmi, quindi non posso giudicare. :)
Buona notte!