Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 790
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
La questione non è stata archiviata. Quindi, prima di tutto.
Viene trovato un massimo, poi viene tracciata una linea rispetto ad esso. Si controlla la distanza tra questa linea di massimo e il minimo attuale. Se supera "Rmax", viene impostata una freccia sulla barra dove si trova il massimo. La freccia è posizionata ma non c'è. Per renderlo chiaro, ho aggiunto il buffer "BufferLow[i]" che mostra la differenza e i suoi dati possono essere visti nella finestra dell'explorer.
È sempre così. Non si può aspettare la neve in inverno) l'ho fatto io stesso.
Se qualcuno fosse tormentato da un'idea simile, ecco il codice:
L'Heiken Ashi integrato sembra un po' sottosviluppato (mi chiedo se sono solo io sul 745?), ma posso capire come funziona. E non è chiaro come sia costruito WmiFor!
Nel codice Heiken Ashi una candela è disegnata da 4 istogrammi di barre:
Cioè, man mano che il numero di buffer aumenta (da 0 a 3), nuove barre vengono disegnate sopra quelle vecchie. L'ordine è il seguente:
LowHigh - HighLow - Open - Close.
L'ordine dei candelabri dovrebbe essere il seguente perché appaiano come dovrebbero essere, con i loro corpi e le loro code:
max(Open,Close)//linea di colore spessa// - min(Open,Close)//bianco spessa// - High//linea di colore spessa// - Low//bianco spessa//.
Compiliamo l'indicatore, mettiamolo sul grafico e vediamo tutti i problemi (vedi immagine).
Ma questo metodo, come Heiken Ashi, ha uno svantaggio - sotto ogni "candela" si ottiene un anello bianco nel colore di fondo che copre tutto ciò che è più basso. Ma con WmiFor tutto è perfetto! Caratteristiche non documentate?
Prima immagine - Heiken Ashi (inserito in una finestra separata), seconda immagine - WmiFor, lo sfondo è in verde chiaro per chiarezza.
Stiamo confrontando un morbido e un rotondo? Perché mettere Haken in una finestra separata se è progettato per una finestra del grafico e disegnato lì come una candela con ombre e corpo? Se il valore del buffer cambia, la stessa barra cambierà la sua dimensione e non ne verrà disegnata una nuova sopra di essa.
MT4 non ha un metodo per disegnare come candele, quindi solo un istogramma è possibile, e come si calcolano i valori del buffer sono affari vostri. WmiFor, tra l'altro, disegna anche l'istogramma. Mettiamolo anche in una finestra separata e fissiamo i suoi difetti )))
Per far sì che i candelieri in una finestra separata sembrino candelieri con ombre, dovrebbero essere disegnati relativamente 0, come l'acceleratore. Oppure puoi disegnarli come oggetti, vedi per esempio All_Stars.
Buon pomeriggio a tutti!
Il mio cervello è confuso; non ho trovato una risposta nella documentazione, ma forse qualcuno l'ha incontrato. Ecco la linea nell'Expert Advisor (frazione di trade positivi):
Print(OderPluseCount,"/",OderTotal,"=",DoubleToStr((OderPluseCount/OderTotal),2),"=",BestOd,",2/5*100,",100*2/5);
lo stampa nel diario (per esempio):
3/6=0.00=0 0 40
Allo stesso tempo, se la soluzione è 1:
3/3=1.00=1 0 40
La variabile BestOd=OderPluseCount/OderTotal è di tipo doppio, il resto è int.
Cioè, appena si incontra un valore inferiore a 1, il compilatore lo trasforma automaticamente in 0... Le ultime due espressioni da costanti producono risultati sorprendenti - sembra la stessa cosa, ma non ))))
Ho provato diverse sostituzioni e tutto ciò che è maggiore di 1 ha la parte frazionaria corretta.
Buon pomeriggio a tutti!
Il mio cervello è confuso; non ho trovato una risposta nella documentazione, ma forse qualcuno l'ha incontrato. Ecco la linea nell'Expert Advisor (frazione di trade positivi):
Print(OderPluseCount,"/",OderTotal,"=",DoubleToStr((OderPluseCount/OderTotal),2),"=",BestOd,",2/5*100,",100*2/5);
Lo stampa nel diario (per esempio):
3/6=0.00=0 0 40
Allo stesso tempo, se la soluzione è 1:
3/3=1.00=1 0 40
La variabile BestOd=OderPluseCount/OderTotal è di tipo doppio, il resto è int.
Cioè, appena si incontra un valore inferiore a 1, il compilatore lo trasforma automaticamente in 0... Le ultime due espressioni da costanti producono risultati sorprendenti - sembra la stessa cosa, ma non ))))
Ho provato diverse sostituzioni, tutto ciò che è maggiore di 1 ha la parte frazionaria corretta.
Prova questo
DoubleToStr((double)(OderPluseCount/OderTotal),2)
Prova questo
DoubleToStr((double)(OderPluseCount/OderTotal),2)
Non aiuta. Ma grazie )
DoubleToStr((double)(OderPluseCount/(OderTotal*1.0)),2)
Funziona così, grazie. Sembra che lo sciamanesimo ))))
Onestamente, sono più preoccupato non del display, ma del corretto calcolodi BestOd. Ho dovuto anche correggerlo.
L'ho fatto in questo modo:
BestOd=(OderPluseCount/(OderTotal*1.0));
C'è qualche spiegazione per questo? Dopo tutto, sarebbe molto difficile prendere questo errore se non fosse per la stampa. In quali casi potrebbe verificarsi?
Funziona così, grazie. Sembra che lo sciamanesimo ))))
Onestamente, non è il display che mi preoccupa di più, ma il calcolo corretto diBestOd. Ho dovuto anche correggerlo.
L'ho fatto in questo modo:
BestOd=(OderPluseCount/(OderTotal*1.0));
C'è qualche spiegazione per questo? Dopo tutto, sarebbe molto difficile prendere questo errore se non fosse per la stampa. In quali casi può comparire?
Ho trovato la risposta da solo nel libro di riferimento, sezione"Conversione dei tipi".
Если два значения объединяются бинарным оператором, то перед выполнением операции операнд младшего типа преобразовывается к более старшему типу в соответствии с приоритетом, указанным на схеме:
Ma il tipo doppio in questo schema è il più anziano. E ho avuto entrambi gli int. Pertanto, il risultato è intero. Introduzione di una costante di tipo superiore (double, float), convertito tutti gli int ad essa.
Si impara a lungo e si consulta la documentazione)))