[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 312
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 guru della programmazione
Potete dirmi per favore come disegnare un rettangolo riempito con il colore di sfondo nell'angolo in alto a sinistra con una piccola rientranza (per estetica) sopra il grafico e sotto il testo visualizzato dall'esperto?
Grazie in anticipo
è lo stesso... Anche per descriverlo, solo per una situazione diversa.
Non è così?
Artem, non ti dispiace scrivere il codice, vero? O dammi quella cosa che hai in mano e metterò fine a questa miseria...
Domanda sul funzionamento del tester: dopo che untest è passato, si cambiano i parametri (date, coppia di valute, timeframe), si esegue nuovamente il test - viene eseguito, ma quando è finito le informazioni nelle schede come "grafico" e "report" non cambiano affatto - tutto rimane dal test precedente. Anche il rapporto salvato risulta essere vecchio. Qual è la ragione e come risolvere il problema? Forse c'è qualche funzione per resettare i risultati?
Ho letto il manuale, gli articoli, ho cercato nel forum - non ho incontrato alcuna menzione di un tale problema...
Non dovrebbe essere così, forse hai spuntato "Ottimizzazione"?
Questo non dovrebbe essere il caso, forse hai spuntato "Ottimizza"?
Oh, sembra essere questo il caso: quando ho eseguito un nuovo test non ho notato che l'ottimizzazione era attiva, pensavo non fosse critica. Soluzione di interfaccia un po' strana...
Ma ora funziona, grazie mille!
Non ho scavato a fondo nella logica, ma qualcosa mi dice che ci sono alcuni calcoli inutili. Un anno e mezzo fa stavo risolvendo lo stesso problema con la raccolta di citazioni e la formazione di candele M1 con taglio netto all'inizio del minuto astronomico.
Se vi interessa, potete dare un'occhiata ad alcuni momenti di pura ottimizzazione del vostro codice (file). Davvero, se si parla seriamente di ottimizzazione, è necessario misurare il tempo di esecuzione del codice. ;)
Ora sto provando un modo diverso, completamente da zero.
Domanda per Vadim sulla mappatura. Quindi... Iniziato da zero. Prendiamo il ticchettio originale TF:
In linea di principio, c'è una logica molto semplice: prendiamo un bidask, formiamo RateInfo, ma mettiamo il tempo al Volume e modelliamo il Tempo. Ora, senza preoccuparci di come simulare il Tempo, rimuoviamo completamente la simulazione e la facciamo con TOLHCV standard e prima mettiamo "se sono passati più di 0 secondi dall'ultima chiamata di start()". Se era inferiore in altri rami della stessa condizione, modifica High-Low e aumenta il volume. In sostanza è la stessa cosa descritta sopra ma con il ciclo completamente rimosso, cioè otteniamo il secondo TF "con lacune" (con secondi mancanti):
Inoltre ha lasciato la classificazione toro-peso completamente spenta. Vale la pena di rischiare? Controlliamo, mettiamo GetTickCount() con restringimento a questa variante e a quella iniziale del proprietario, eseguiamole simultaneamente su un grafico, guardiamo il log:
come previsto. Tick - originale, secondi con spazi vuoti - modificato. Ora formate un array ausiliario prima di time=TimeCurrent():
Questo è nel codice dei secondi tf. Per l'EA che passerà sul secondtf stesso, i valori TOLHCV x secondi fa possono allora essere ottenuti come ind[GlobalVariableGet("final")]-ind[GlobalVariableGet("final")-x]+1, se ovviamente questo array è in qualche modo passato. Quindi, usiamo la mappatura:
Scriviamo uno script di test che passa sopra i secondi e legge i valoriTOLHCV x secondi fa (non le candele):
Noi eseguiamo i secondi di tempo. All'inizializzazione, verrà visualizzata una finestra
Ci sono 58.572 volte nel registro
e alla deinizializzazione mostra una finestra
В методе "MT4::Memory::SearchIndexOrHandle()" не установлен параметр для поиска в области памяти терминала.
Bene deinitializatsii più tardi, ho messo lo script - avviso una volta. Ho sovrascritto MemoryCreate e MemoryCloseHandle, non appare nulla (lo script mantiene l'avviso), il log
- e questo è tutto. Quindi, a rigor di logica, sto usando le chiamate nell'ordine sbagliato o le sto dichiarando in modo errato. Il mio sistema operativo è WinXP. Vadim, dimmi almeno in che direzione andare.