Thursday 16 November 2017

Utilizzando Kagi Grafici Forex


Uno sguardo al Kagi Grafici Il compito di capire la direzione a breve termine di una qualsiasi attività finanziaria può sembrare scoraggiante, soprattutto quando i commercianti Prova a guardare il grafico del prezzo attivi per l'orientamento. Guardando le fluttuazioni di prezzo giorno per giorno visti su un grafico può sembrare instabile e può rendere estremamente difficile determinare quale prezzo movimenti sono importanti e influenzerà in modo significativo la direzione della sicurezza. Fortunatamente per i commercianti, diverse tecniche di creazione di grafici sono stati sviluppati, che tentano di filtrare il rumore casuale e concentrarsi sulle mosse importanti che agiscono come i conducenti di una tendenza beni. Un metodo di filtrare questo rumore, che è anche il focus di questo articolo, è conosciuto come il grafico Kagi. (Per approfondire, vedi Trading senza rumore e Draghi, Samurai Warriors e sushi a Wall Street.) Grafici Kagi Grafico Costruzione Kagi consistono in una serie di linee verticali che dipendono da azione dei prezzi, piuttosto che sul tempo come i grafici comuni come linea . bar o candeliere. Come si può vedere dal grafico qui sotto, la prima cosa che gli operatori noteranno è che le linee su un grafico Kagi spessore variabile a seconda di ciò che sta facendo il prezzo del bene. A volte le linee sono sottili, mentre altre volte le linee saranno spesso e in grassetto. Lo spessore variabile delle linee e la loro direzione è l'aspetto più importante di un grafico Kagi, perché questo è ciò che i commercianti usano per generare segnali di transazione. (Per la lettura correlate, vedere Analisi Modelli Grafico.) Kagis e Candelieri le diverse linee su un grafico Kagi può sembrare eccessivo a prima vista così lascia a piedi, attraverso un esempio di Apple Computer Inc. (AAPL) tra l'8 maggio e il 1 Dicembre 2006. noi crediamo che questo esempio renderà molto più facile da comprendere appieno come si crea questo interessante tipo di grafico. Weve anche attaccato un grafico regolare candelabro a molte delle classifiche Kagi per illustrare ciò che il prezzo dell'attività sottostante ha fatto per provocare un certo cambiamento al grafico Kagi. Come si può vedere nella figura 2, il prezzo delle azioni AAPL ha iniziato a diminuire poco dopo la data di inizio della nostra tabella. Mentre il prezzo è sceso, è stato creato una linea verticale, e in fondo a questa linea verticale è pari al prezzo di chiusura più basso. Se i successivi periodi di chiusura dovevano essere inferiore al fondo corrente sulla linea, poi la linea verrebbe estesa per eguagliare il nuovo minimo. La linea non cambierà direzione fino il prezzo si muove sopra il fondo della linea Kagi da più di una quantità preimpostata di inversione, che di solito è impostato a 4, anche se questo parametro può cambiare a seconda della preferenza sicurezza o operatori. L'inversione Il 1 ° giugno 2006 le azioni AAPL ha chiuso al di sopra del Kagi bassa da 4,02 - più che la quantità di inversione a 4 necessaria per cambiare la direzione del grafico (4). Come si può vedere dal grafico qui sotto, l'inversione è indicato da una piccola linea orizzontale a destra seguita da una linea verticale in direzione del ripristino. La linea Kagi aumento rimarrà nella direzione verso l'alto fino a che non scende al di sotto l'alto da più di 4. L'inversione è stato accolto da molti commercianti, perché questo è stato il primo segnale Kagi rialzista che è stato generato dal momento che il grafico è stato creato all'inizio di maggio. Tuttavia, purtroppo per i tori, la mossa era insostenibile, come gli orsi hanno risposto e hanno spinto il prezzo al di sotto l'alto della linea Kagi dalla più che la quantità di inversione di 4. L'inversione verso il basso viene mostrato sul grafico come un'altra linea orizzontale a destra seguita da una linea in movimento nella direzione verso il basso. Come si può vedere dalla figura 4, i tori e gli orsi hanno trascorso le seguenti poche settimane in lotta per la direzione delle azioni di Apple, provocando il grafico Kagi a direzioni invertite più volte. Tre delle mosse più alte che si sono verificati tra giugno e luglio erano superiore a 4 sopra le tabelle basse, che ha causato il grafico Kagi a direzioni invertite. Queste mosse hanno rappresentato un sentimento sempre più rialzista, ma non erano abbastanza forti per invertire completamente la tendenza. (Per ulteriori informazioni, leggere ritracciamento o inversione: conoscere la differenza e supporto e resistenza ripristini.) La linea spessa Il numero di falsi inversioni ha iniziato a mostrare i commercianti che l'interesse rialzista nel titolo è stato in aumento, ma che la vera tendenza è rimasto nelle orsi controllo. Questa storia è cambiata il 20 luglio del 2006, a causa di una lacuna che era sostanzialmente maggiore del 4 necessari per invertire la direzione grafici. Infatti, il guadagno era abbastanza grande per inviare il prezzo sopra il precedente disegnata sul grafico Kagi, indicato dalla linea orizzontale più recente avvicinato 59. Un movimento sopra un precedente Kagi alta come quella mostrata in figura provoca la la linea del grafico Kagi a diventare grassetto. Uno spostamento da una linea sottile ad una linea in grassetto, o viceversa, è utilizzato dagli operatori per generare segnali di transazione. Acquista i segnali vengono generati quando la linea Kagi sale al di sopra del precedente massimo, trasformandosi da sottile a spesso. Vendere i segnali vengono generati quando la linea Kagi scende sotto il minimo precedente e la linea si trasforma da spessore sottile. Come si può vedere in figura 6, il grafico Kagi invertito le direzioni dopo il forte rincorsa, ma una semplice inversione non cambia lo spessore della linea o creare un segnale di transazione. In questo esempio, gli orsi erano in grado di inviare il prezzo di sotto del precedente minimo sul grafico Kagi. Quando il momentum rialzista continuato ancora a metà agosto, il prezzo si spostò nella direzione verso l'alto, creando un nuovo minimo swing che verrà utilizzato per creare segnali di vendita futuri. In definitiva, i tori erano in grado di spingere il prezzo delle azioni di Apple di nuovo sotto il basso, provocando il grafico Kagi a rimanere in uno stato rialzista per il resto del periodo di prova. La mancanza di un segnale di vendita ha permesso agli operatori di beneficiare del forte trend rialzista senza essere preso da fluttuazioni di prezzo casuali. Longer-Term Esempio Ora che abbiamo una comprensione di ciò che genera un segnale di transazione quando si utilizza un grafico Kagi, consente di dare un'occhiata a un esempio più a lungo termine utilizzando la tabella di Apple Computer (30 aprile 2005 - 31 dicembre 2006). Notate come una mossa di sopra di una precedente massimo fa sì che la linea di diventare grassetto, mentre un movimento al di sotto di un basso fa sì che la linea di diventare di nuovo sottile. Lo spessore cambia è la chiave per determinare i segnali di transazione come questa fluttuazione illustra sia i tori o gli orsi sono in controllo della quantità di moto. Ricordate che un cambiamento da sottile a spesso viene utilizzato dai trader come un buy segno, mentre un cambiamento da spessore per spettacoli sottili che slancio verso il basso è prevalente e che potrebbe essere un buon momento per prendere in considerazione la vendita. Conclusione giorno per giorno le fluttuazioni dei prezzi possono rendere estremamente difficile per gli operatori dei mercati finanziari per determinare la vera tendenza di un bene. Fortunatamente per i commercianti, i metodi, come la creazione di grafici Kagi hanno contribuito a porre fine a concentrarsi su prezzo si muove di poco conto che non influenzano slancio futuro. Inizialmente, un grafico Kagi può sembrare una serie di linee a disposizione casuale, ma in realtà, il movimento di ogni linea dipende dal prezzo e può essere utilizzato per generare segnali di trading molto redditizio. Questa tecnica di creazione di grafici è relativamente sconosciuto per gli operatori attivi tradizionali, ma data la sua capacità di individuare la vera tendenza di un bene, è wouldnt essere sorprendente vedere un aumento del numero di commercianti che si basano su questo grafico quando si effettuano le loro decisioni sul mercato. MetaTrader 5 - Esempi Indicatore per Kagi Charting Introduzione L'indicatore di articolo per Punto e figura Charting ha descritto uno dei modi di programmazione di creare Point e grafico figura. Questo grafico è conosciuto dal 19 ° secolo. Tuttavia, questo non è l'unico grafico dal passato remoto. Un altro rappresentante notevole dei primi tipi di rappresentazione mercato finanziario è grafico Kagi. Questo grafico sarà discusso nel presente articolo. L'istituto finanziario borsa poco familiare al 19 ° secolo, il Giappone è stato istituito nel maggio 1878. E 'noto come Borsa di Tokyo oggi. Questo evento ha avuto un ruolo fondamentale nella creazione e successivo sviluppo di grafici Kagi. Europa e Stati Uniti è venuto a conoscere i grafici Kagi dopo la pubblicazione di Steve Nisons Beyond Candelieri: nuove tecniche di creazione di grafici giapponesi rivelato nel 1994. Le parole giapponesi Kagi significa che una chiave a forma di L che era in uso al momento dello sviluppo grafico. Inoltre, vi è una versione modificata del nome tabella chiave. Nel Steve Nisons Beyond Candelieri, si possono anche trovare nomi alternativi del grafico: Grafico dei prezzi gamma, grafico gancio, delta o grafico a catena. Che cosa c'è di così speciale questo grafico La sua caratteristica principale è che ignora la scala di tempo lasciando solo quello dei prezzi (a differenza di candele giapponesi, bar e linee). Così, il grafico nasconde fluttuazioni dei prezzi trascurabili lasciando solo quelli più significativi. Il grafico rappresenta un insieme di spessore Yang e sottili linee Yin sostituiscono l'un l'altro a seconda della situazione di mercato. Nel caso in cui il mercato si muove nella stessa direzione, la linea si estende a raggiungere una nuova fascia di prezzo. Tuttavia, se il mercato gira e raggiunge un valore predefinito, la linea Kagi viene disegnata in senso opposto nella nuova colonna. La quantità predefinita è impostata sia in punti (di solito utilizzati per coppie di valute), o in valore percentuale del prezzo corrente (di solito utilizzato per le scorte). Lo spessore della linea varia a seconda della svolta alta o bassa vicini. 1. Esempio di creazione di grafici Consente di utilizzare i dati storici su EURUSD, H1 dall'8 ottobre al 11. Un esempio di imaging standard con una soglia inversa di 15 punti viene visualizzato in fig. 1: Fig. 1. grafico Kagi, EURUSD H1 Come possiamo vedere, il prezzo ha iniziato a cadere alle 17:00. Il movimento verso il basso è proseguita fino alle 21:00. Alle 22:00, il prezzo si muove verso l'alto da 1,3566 ed è chiuso a 1,3574. In altre parole, il prezzo passa 11 punti. Questo non è sufficiente per un'inversione, ma il nuovo minimo non è stato raggiunto neanche. Il prossimo due ore il prezzo sale piatta e, infine, alle 01:00 (9 ottobre), vediamo un forte movimento verso l'alto, che è chiuso a 1.3591 con 25 punti (1.3591-1.3566). Ciò significa che il prezzo invertito up. La fase di rialzo continua la seguente ora. Il prezzo raggiunge 1,3599 rafforzare la linea di Yang di spessore. Alle 03:00, il prezzo scende bruscamente chiudendo a 1,3578, che è di 21 punti dal precedente Alto (1,3599-1,3578). Questo è più che sufficiente per l'inversione. La linea si muove verso il basso, ma mantiene la sua forma (linea spessa Yang). Fino alle 16:00, il prezzo si muove verso il basso e, infine, si rompe attraverso il più vicino minimo e modifiche da spessore Yang a sottile linea di Yin. Il basso valore precedentemente accennato di 1,3566 aveva servito come un prezzo incredibile qui. Il prezzo continua a muoversi come una linea Yin e Yang è cambiato in alle 14:00 il 10 ottobre rompendo il più vicino alto di 1,3524 formata alle 23:00 (9 ottobre). Questo piccolo esempio mostra come si forma grafico Kagi. 2. Indicatore Kagi Charting Principio Al fine di rendere l'indicatore indipendente dal quadro temporale corrente, si è deciso di copiare i dati del calendario, in cui si supponeva l'indicatore a formarsi, separatamente e quindi creare l'indicatore utilizzando i dati ottenuti. Questo permette di esaminare diversi tempi simultaneamente su un singolo grafico espandendo i confini della analisi tecnica sui grafici Kagi. L'indicatore stesso si trova in una finestra separata, ma è anche possibile visualizzare i dati sul grafico principale. In altre parole, la formazione di base (standard o aspetto modificato) viene eseguita nella finestra di indicazione. L'indicatore viene copiato nella tabella principale, anche il prezzo e di tempo segni (a seconda delle impostazioni) sono disegnate. Come accennato in precedenza, l'indicatore disegna il grafico sia in versione standard e modificato. Quella standard è stato descritto sopra. Ora, consente di prendere in considerazione la versione modificata. Non so se si tratta di una nuova idea, ma non ho sentito parlare di tale versione. L'idea del filtro aggiuntivo è che non solo punti invertire ma ogni giocata della tabella viene filtrato momento. In altre parole, il prezzo dovrebbe spostare alcuni distanza specificata in modo che il nuovo alta o bassa (da non confondere con shoulderwaist) da formare. In generale, laddove il prezzo si muove, si deve prima coprire una distanza specificata. Dopo di che, è definito se fosse una continuazione tendenza o un'inversione. Figura. 2 mostra come le opere principali. L'aspetto grafico modificato è mostrata in blu, mentre lo standard uno in rosso. Come possiamo vedere, l'aspetto modificato risponde al prezzo movimento cambia più lentamente filtrando la maggior parte dei segnali minori. Figura. 2. Modified (linea blu) e le versioni standard (linea rossa) per la creazione di grafico Kagi Oltre grafico Kagi, l'indicatore fornisce alcuni elementi aggiuntivi, sia nella finestra indicatore e nel grafico principale. A seconda delle impostazioni, i segni possono essere impostate nella finestra di indicazione. Questi segni forniscono dati sui prezzi di inversione. La stessa funzione è implementata utilizzando livelli di prezzo che (a seconda delle impostazioni) può distribuire uniformemente lungo la finestra tutta la gamma prezzo utilizzato per formare l'indicatore o grafico ogni inversione. I colori possono essere impostati in tre versioni: in base al tipo di inversione (up - down), tipo di linea (Yin - Yang) o nessun cambiamento di colore. cartellini dei prezzi di inversione, anche temporanee, sono forniti sul grafico principale. Questi segni (a seconda delle impostazioni) possono essere di un solo colore o cambiare il colore secondo Yin o Yang colori delle linee. L'intero codice indicatore è implementato utilizzando le funzioni che comunicano tra loro attraverso variabili globali. Il codice può essere divisa in tre funzioni principali e undici quelli aggiuntivi. L'onere principale dei calcoli e ripieni di buffer di costruzioni grafiche di base e gli array buffer aggiuntivo si basa sulla funzione di Kagi formazione grafico nella finestra di indicazione. Le altre due funzioni sono responsabili della fornitura dei dati: la prima copia i dati di tempo, mentre gli altri uno - i dati sui prezzi di ogni barra del periodo di tempo selezionato. Le funzioni ausiliarie rimanenti sono responsabili per l'esecuzione di tutte le costruzioni, cancellando gli oggetti, lo scarico l'indicatore accompagnato dalla cancellazione di tutti gli oggetti indicatori, il calcolo del parametro di inversione, di tracciare i segni sul grafico principale e finestra di indicazione, la creazione di oggetti grafici di Trend tipo di linea, disegno Kagi sul grafico principale, oltre a definire l'arrivo della nuova barra per avviare la formazione dell'indicatore. 3. Codice Indicatore e Algorithm Ora, consente di esaminare il codice indicatore e l'algoritmo della sua formazione nei dettagli. Il codice è abbastanza grande e può essere abbastanza difficile per i programmatori alle prime armi per capirlo. Le funzioni che comunicano tra di loro tramite le variabili globali rendono il codice piuttosto confusa. In questa parte di questo articolo, vi spiegherò ogni funzione e parte del codice separatamente. In primo luogo, mi limiterò a descrivere le impostazioni dell'indicatore e poi ci saranno chiarimenti sui dati copiando le funzioni iniziali, l'inversione di calcolo dei parametri, la funzione principale della formazione grafico Kagi e calcolo e altre funzioni ausiliarie. 3.1. Indicatore Parametri di ingresso Il codice inizia con la dichiarazione dell'indicatore in una finestra separata, così come di 12 buffer e 8 Indicatore di costruzioni grafiche. Prima di tutto, permette di definire perché 8 costruzioni grafiche, tra due istogrammi e sei linee. è stato usato. Ogni istogramma costruisce la propria linea verticale. Una delle linee è responsabile per la linea Yin, mentre l'altra è per la linea Yang. Il caso è molto più complicata con le linee, come ci sono tre per ogni linea. Ciò avviene a causa del fatto che la linea è disegnata se c'è un altro punto che viene avvicinato al primo. In altre parole, occorre soltanto due costruzioni grafiche linea di tipo ad essere ruotati per disegnare due linee adiacenti l'uno all'altro. Tuttavia, se abbiamo bisogno di queste righe per saltare i punti necessari, abbiamo bisogno del terzo costruzione da ruotare con gli altri due. Questo è spiegato in figura 3, dove si può vedere che cosa succede se si usano solo due line-tipo costruzioni grafiche: Fig. 3. Esempio di utilizzo di due e tre grafiche line-tipo costruzioni per visualizzare le linee spalla e la vita quindi, viene creato il menu delle impostazioni. Ci sono cinque enumerazioni qui (permette loro di esaminare nei parametri di input). Il primo periodo parametro di input è un periodo, in cui viene eseguita la costruzione, è seguito da periodtoredraw - periodo di aggiornamento di costruzione grafico e l'ultimo parametro il tempo è startdata - la costruzione di tempo parte da. Questi parametri sono seguiti da costruzione grafico e quelli supplementari di etichettatura: kagitype tipo di costruzione grafico definito dall'utente, tipo pricetype standard o modificata del prezzo utilizzato per la costruzione: Primo, Open, High e Low typedoorstep tipo inversione utilizzati: punto e porta la percentuale del valore di inversione (di cui ai punti o valore percentuale in base al parametro di cui sopra) coloryin Yin colore della linea nella finestra dell'indicatore coloryang Yang colore della linea nella finestra dell'indicatore widthyin Yin spessore della linea nella finestra dell'indicatore widthyang larghezza della linea Yang nella finestra dell'indicatore levelsonoff se i livelli di prezzo dovrebbe essere disegnato in l'indicatore tipi finestra levelstype di livelli di prezzo nella finestra di indicazione. Ci sono due valori tra cui scegliere: ad ogni inversione o in modo uniforme in tutto il numero di fascia di prezzo levelsnumber del livello dei prezzi nella finestra dell'indicatore levelschangecolor permette di cambiare il colore delle linee di livello dei prezzi delle opzioni sono inversioni superiore e inferiore, linee Yin e Yang o nessuna modifica levelsfirstcolor il primo colore di un livello di prezzo levelssecondcolor il secondo colore di un label1 livello dei prezzi disegno grafico etichette di prezzo inversione del numero finestra dell'indicatore label1number di etichette visualizzate nel colore della finestra dell'indicatore label1color di etichette di prezzo nella finestra dell'indicatore label2 disegno etichette dei prezzi sul principale tabella label2color colore dell'etichetta sulle principali linee di tempo tabella timelinedraw disegno inversione sul grafico principale timeseparatewindows disegno continuazione di linee temporali inversione dal grafico principale timelinechangecolor cambiare il colore della linea del tempo a seconda etichetta di inversione in linea Yin o Yang timefirstcolor la prima il colore della linea del tempo sul grafico principale timesecondcolor il secondo colore della linea del tempo sul grafico principale kagimainchart se Kagi dovrebbe essere disegnato sul grafico principale coloryinmain Yin colore della linea sul grafico principale coloryangmain Yang colore della linea sul grafico principale widthyinmain linea Yin larghezza sul grafico principale widthyangmain linea Yang larghezza sul numero magico principale grafico magicnumb utilizzato per costruire oggetti e la loro cancellazione, nonché nel nome dell'indicatore per lanciare diversi indicatori su un singolo grafico. Questi parametri sono a loro volta seguiti da dichiarazioni dell'indicatore di buffer, buffer ausiliari per la memorizzazione di prezzo e di tempo valori, variabili ausiliarie (stopdata, barscopied, barscopiedtime, copyhistory, copytime), matrici per la memorizzazione di dati su ciò che Yin o Yang linea il cambiamento il movimento grafico si è verificato, il tempo e il prezzo di questo cambiamento, prezzo centrale (se Yin è sostituito da Yang sulla barra o viceversa). Infine, una delle variabili globali più usate contenenti i dati sul numero di cambiamenti di movimento grafico è dichiarato. 3.2. Indicatore di inizializzazione Funzione Il prossimo è la funzione di indicatore di inizializzazione. tamponi indicatore e la loro indicizzazione (soprattutto come serie storiche come grafico Kagi è più breve rispetto a quello principale, è meglio disegnare all'indietro) sono specificati lì. Inoltre, i valori che non devono essere visualizzati sullo schermo sono impostate (EMPTYVALUE-1). Ora, si assegna il nome di indicatore e precisione di lettura. Come accennato in precedenza, il numero magico è aggiunto al nome. Questo viene fatto per consentire il corretto funzionamento della funzione ChartWindowFind (). In caso contrario, l'oggetto grafico disegnato nella finestra indicatore viene visualizzato solo al primo indicatore lanciato (se si utilizzano diversi indicatori su un unico grafico). Avanti, assegniamo nomi alle linee di costruzione, vietare la visualizzazione dei valori numerici corrente nella finestra dell'indicatore, impostare il colore e la larghezza delle linee Yin e Yang, impostare il numero dei livelli dei prezzi visualizzati nella finestra di indicazione. 3.3. La copia dei dati Funzione Ora, consente di esaminare le funzioni di copia dei dati. Ci sono due di loro qui. Il primo è per copiare i prezzi, mentre la seconda è per la copia di ogni bar tempo aperto. Entrambe le funzioni mantengono i loro valori nei buffer indicatori di calcolo precedentemente dichiarati. Prima di tutto, permette di prendere in considerazione i prezzi funzione di copiatura. Parametri di funzione di input: array per la memorizzazione dei dati, la copia dei dati di inizio e di fine (ora attuale). Il corpo della funzione contiene le variabili per rispondere alla funzione, il numero di dati (barre) copiati nella matrice intermedia, la matrice dinamica intermedia stessa e il numero di barre che devono essere copiati alla matrice intermedia. Il numero di barre viene calcolato in base al numero totale di barre in un determinato periodo di tempo e il numero di barre (variabile globale) copiato alla chiamata di funzione precedente. Se non è la prima volta i dati sono stati copiati, i dati sul ultima barra copiato devono essere aggiornati. Per fare questo, si riduce il numero di barre copiati da uno e aumentare il numero di barre appena copiati da uno. Cambiamo anche la dimensione della matrice intermedia prepararla per copiare le barre. A seconda delle impostazioni, copiamo i prezzi alla matrice intermedia. Se la copia è riuscita, i dati vengono copiati dalla matrice intermedia alla fine della matrice tampone (funzione di matrice di risposta), assegnare la risposta positiva alla funzione e aggiornare la variabile globale memorizzare i dati relativi al numero di barre copiati. Questo tipo di copia permette di copiare solo poche ultime battute riducendo i tempi di copia. La prossima funzione è quella per la copia dei dati di tempo. E 'diverso dal precedente in quanto si tratta di un altro tipo di variabile - datetime (che viene convertito a raddoppiare quando copiata Tempo funzione di matrice tampone matrice risposta). Un'altra differenza è che un'istruzione switch () non viene utilizzato, in quanto non vi è alcuna necessità nel selezionare i dati copiati. 3.4. L'inversione dei parametri di calcolo Funzione Dal momento che il parametro di inversione può essere un punto o una percentuale uno, abbiamo bisogno della funzione che calcola il parametro inversione a seconda delle impostazioni degli indicatori. La funzione ha un solo prezzo parametro per il calcolo della percentuale di inversione. La variabile per la risposta viene prima inizializzato con un doppio tipo e dopo i calcoli, è indirettamente convertito in int tipo per la risposta. Ciò avviene perché i numeri in virgola mobile sono utilizzati nei calcoli, mentre la risposta dovrebbe essere presentato come numeri interi. La selezione è implementata nella funzione da if-else istruzione condizionale. Il confronto viene eseguito direttamente con variabile di ingresso esterno (parametri indicatori). Calcolo dei punti viene eseguita utilizzando una semplice equazione. In primo luogo, il numero totale di punti prezzo è passato è definito. Quindi, la percentuale specificata è calcolata sulla base di questo numero e assegnato alla variabile restituita. 3.5. La funzione principale - Disegno Kagi Grafico Abbiamo già esaminato tutte le funzioni necessarie per il funzionamento della funzione principale - disegno grafico Kagi nella finestra di indicazione (cioè riempiendo l'indicatore buffer). I parametri di funzioni di input sono costituiti da array di dati. Due di loro sono i buffer di calcolo sopra descritte (prezzo precedentemente copiato e ora), tutto il resto sono gli array dell'indicatore buffer di costruzione grafiche. Le variabili necessarie per memorizzare i dati sulla costruzione tabella sono dichiarate all'interno della funzione. Dal momento che il grafico è costruito utilizzando per istruzione del ciclo, dovremmo avere i dati sul palco il passo precedente si è conclusa a. Ciò può essere ottenuto da sei variabili: linemove - dove il prezzo si trasferisce al passaggio precedente, linegauge - linea di calibro (larghezza della linea) - Yin o Yang, price1 e price2 - prezzo precedente e attuale al vaglio, Pricedown e priceup - prezzo precedente di una spalla e la vita. Come possiamo vedere, price1 viene immediatamente identificato al primo elemento della matrice di prezzi copiati a causa del fatto che questa variabile è coinvolto in calcoli prima del confronto fin dall'inizio del ciclo. Dal momento che matrici di memorizzazione temporanea della costruzione grafica dell'indicatore hanno ASSERIES bandiera indicizzazione, essi dovrebbero essere compilato in ordine inverso. Per raggiungere questo obiettivo, gli array di tempo con la dimensione appropriata applicazione. Le variabili globali per memorizzare dati in tempo, tipi di linea, spalla e vita, così come i prezzi di inversione vengono poi convertiti nello stesso modo. Quindi, tutti gli array devono essere riempiti con valori vuoti (-1). Questo viene fatto utilizzando due piccole anse. È possibile unire tutto in un singolo ciclo. Ma usando due più rende tutte le azioni eseguite molto più chiare, mentre il tempo di esecuzione non è cambiato molto. In altre parole, i buffer grafici e matrici tempo di calcolo sono riempiti separatamente. Ora, tutte le variabili sono dichiarate, convertiti e riempite, in modo che il ciclo principale può essere avviato. E 'abbastanza grande (anche se il calcolo viene effettuato abbastanza veloce) e include la scansione tutte le barre precedentemente copiato. Il loop passa attraverso tutte le barre copiati e riempie necessarie array precedentemente dichiarati di lavorare con loro più. Prima di tutto, permette di definire tutti gli array utilizzati nel ciclo: yinint1 - valore primario verticale prezzo linea Yin (se linea verticale Yin viene disegnata e la carta si muove verso il basso, questo è il valore massimo del prezzo se il grafico si muove verso l'alto, abbiamo avere il caso) yinint2 opposto - valore secondario di verticale dei prezzi linea Yin (se la linea verso l'alto viene disegnata, questo è il valore superiore se la linea è in discesa, abbiamo il caso opposto) yangint1 - valore primario della verticale Yang prezzo linea yangint2 - valore secondario di verticale Linyin Yang prezzo line - valore orizzontale Yin linea (prezzo di inversione in linea Yin) Linyang - value Line Yang orizzontale (prezzo di inversione in linea Yang) timeChange - momento del rigiro grafico (costruzione di una spalla o una vita ) Timeline - la linea durante l'inversione Yin 0 o Yang 1 timecentralprice - il valore del prezzo centrale, il prezzo nel momento in cui la linea Yin si trasforma in yang o viceversa timechangeprice - il valore di inversione (spalla o in vita) dei prezzi, la variabile è un comune non a seconda del tipo di linea Yin o Yang. Il valore del prezzo corrente analizzato dal buffer prezzo è assegnato alla variabile price2 prima di ogni passaggio del ciclo per un ulteriore confronto nelle istruzioni condizionali if-else. Dopo di che, la matrice di memorizzazione temporanea dei dati copiati viene analizzato passo passo e le matrici di cui sopra sono riempiti. Ogni istruzione condizionale if-else esegue determinate azioni a seconda delle condizioni: precedente direzione di linee del grafico (su o giù) e precedenti aspetto delle linee (Yin o Yang). Poi le condizioni di movimento (se il prezzo ha superato un certo numero di punti) vengono controllati in base al tipo di costruzione (standard o modificato). Se tutto va bene, le nuove variabili (elementi array) vengono riassegnati o definite. Il tipo di linea (Yin o Yang) è definito proprio all'inizio. A seconda del movimento e azioni precedenti, l'ulteriore distribuzione viene eseguita. Ci sono due possibili movimenti di prezzo: Ci sono anche quattro tipi di azioni precedenti in ogni direzione: la linea precedente era Yin e si muoveva la linea precedente era Yang e si muoveva la linea precedente era Yin e si muoveva lungo la linea precedente era Yang ed è spostato verso il basso. Così, abbiamo otto casi a parte le prime due definizioni delle classifiche movimento iniziale (prima apparizione line). Dopo di che, il ciclo principale è finita. Riassegnazione (inversione) e riempimento dei buffer vengono eseguiti per creare il grafico in un ciclo più piccolo costituito dal numero di Kagi grafico inversioni precedentemente definiti nel ciclo principale e scritti in una variabile. Per quanto riguarda la distribuzione dei valori di prezzo superiore ed inferiore e le linee verticali, è tutto abbastanza semplice: viene eseguita una semplice inversione. In altre parole, i valori primari precedentemente ottenuti (array aventi indici 0,1,2,3.) Vengono assegnati ai buffer valori (elemento con indice, cioè, -1, -2 terminare, -3. Viene utilizzato come fine valore). Per evitare di inversione righe (orizzontali) si attacchino, rotazione con un'istruzione switch viene eseguita come detto sopra. Allora il lavoro della funzione principale di costruzione grafico Kagi è completa. 3.6. Funzione per la creazione di Trend Line grafica Oggetto Ora, consente di esaminare la funzione per la creazione di linea di tendenza oggetto grafico. Questa funzione è necessaria al fine di trarre Kagi sul grafico principale. La funzione è molto semplice. Esso contiene i parametri di input necessari per la creazione di linea di tendenza grafico oggetto: nome dell'oggetto, primo e secondo prezzo e di tempo punti, così come la larghezza della linea e il colore. Il corpo della funzione contiene la funzione di creazione oggetto grafico e sei funzioni di modifica delle proprietà degli oggetti grafici. 3.7. Disegno Kagi sul grafico principale Un'altra funzione che si applica al precedente più volte è la funzione di costruzione Kagi sul grafico principale. Le variabili globali riempiti nella funzione principale precedentemente esaminato di Kagi costruzione grafico sono usati come variabili di input: la gamma di prezzi di inversione (spalle e fianchi), la matrice del cambiamento e prezzi centrali (il prezzo, al quale la linea Yin si trasforma in Yang o viceversa), matrice tempo di inversione (situati in tempo reale, indice z-1 matrice viene usato per indicare l'inizio di inversione), la matrice del tipo della linea, in cui si è verificato l'inversione (è anche un elemento in avanti, come l'array di tempo). Il corpo funzione consiste di un ciclo. Il ciclo è diviso in due parti: il disegno di linee verticali e orizzontali. Il primo è anche divisa in due: il disegno le verticali in considerazione del cambiamento di linea (variazione di prezzo centrale) e l'assenza di cambiamento. Notare i parametri trasferiti della funzione di creazione di oggetti linea di tendenza. Naming viene eseguita più volte. Il nome dell'oggetto inizia con un numero magico (necessario per eliminare gli oggetti di un certo indicatore), allora il suo tipo è fisso e, infine, l'indice è assegnato. L'indice viene aggiornato ad ogni passaggio del ciclo. 3.8. Implementazione di etichette supplementari Come ho già accennato in precedenza, l'indicatore implementa etichette supplementari. Esaminiamo la funzione che fornisce queste etichette sul grafico principale. Ci sono solo due tipi di etichette qui: prezzo inversione e tempo di inversione etichette mostrate tramite l'etichetta di prezzo e l'etichetta verticale. I seguenti parametri sono passati come quelli di ingresso: attributo del disegno prezzo etichetta inversione ed il colore etichette, attributi del disegno dell'etichetta tempo di inversione e del cambiamento etichette colore, primo e secondo colori del tempo di inversione. L'intera funzione è diviso in due parti: la prima parte è responsabile per le etichette di tempo, mentre il secondo per etichette prezzo. Entrambe le parti della funzione consistono anse limitati dal numero di grafici inversioni (variabile). if-else istruzione condizionale è impostato prima del ciclo. L'istruzione verifica la necessità del disegno secondo le impostazioni dell'indicatore. Il primo ciclo crea etichette di tempo, la definizione nome dell'oggetto viene eseguita all'inizio del ciclo (principio di generazione nome è stato sopra descritto). Then, the color is selected depending on the line from the globally declared line type array (if the parameter is set) and other parameters are applied to the line. The second loop is responsible for creating reversal price labels. First, the object name is generated. Then, time array index selection is set depending on whether Kagi is to be constructed on the main chart or not. if this is not done, the labels will be located in the air and it will not be clear enough from what place the reversal has occurred. Then, the price label type object is created and configured. Now, lets see how we can set the labels in the indicator window. All labels in the indicator window are mostly price ones, and there are only two types of them: reversal price labels and price levels. There are two types of drawing the price levels: on the chart reversals and at an equal distance of the entire chart price range. The first type can change the color of the levels in two ways: depending on the line type (Yin or Yang) and according to reversal (up or down). Thus, the function itself is divided into two loops: the first one is responsible for creating reversal price labels, the second one deals with designation of the price levels. The latter is further divided into two types: label at each reversal or labels all over the price range on an equal level. This function is different from the previous one in that it has limitations on the number of price labels and levels due to the fact that in great numbers they overload the chart complicating its understanding. Because of this feature, both loops are limited by the number of passes specified in the indicator settings (number of price labels and levels). Such an approach is dangerous as the number of reversals may turn out to be much smaller than the number of set price labels in the settings. Due to this reason, reversal presence during each loop pass is checked for drawing a price label or level. The only exception is drawing price levels along the entire price range on an equal distance. Generation of Price label type graphical objects is performed in the coordinates in reverse order, i. e. the labels are placed from the current date to the past. The same applies to price levels: the current price levels are generated first followed by earlier ones. The exceptions are price levels not dependent on the chart reversals. Price level color changes are performed by using if-else conditional statements according to the settings. 3.9. Deleting Previously Created Graphical Objects We know already that this indicator is rich in graphical objects. It is time to think how we can delete them quickly and efficiently. This task is executed by the function for deleting the graphical objects. The initial name and the number of objects are used as the function parameters. Like during creation, the object name should contain the magic number and the name of an object type. The function call in the program is limited by the number of objects exceeding their possible existence. However, this does not affect the indicators functionality. 3.10. Function for Launching the Chart Construction Now, after we have examined all functions for calculation and construction of Kagi chart, as well as for creating and deleting objects, we should consider another small function for checking the new bars arrival. The function is quite simple and has one input parameter - analyzed period. The functions answer is also very simple. It has bool type and contains the answer on whether a new bar is present or not. The basis of the function body is switch statement which passes control to its different statements depending on the period. In the example, the function covers the entire period range, though only one period can also be used. The function algorithm has been taken from IsNewBar code: the time of the last bar opening is compared with the previously defined time value. If the values are different, there is a new bar. The new value is assigned as previously defined one and the functions response is considered positive. If the last bar opening time coincides with the previously determined time value, then the new bar has not appeared yet and the functions response is negative. 3.11. OnCalculate() and OnChartEvent() Functions All the functions described above are consolidated in the function bearing the same name Func Consolidation. This function is launched each time a new bar appears in OnCalculate() function and when R key is pressed from OnChartEvent() function. Before the chart is generated or updated, the function for deleting all graphical objects is called in the consolidation function (Func Consolidation). Since there are quite a lot of objects and they are divided into main chart s and indicator windows price labels, vertical lines indicating reversal time, as well as Yin and Yang vertical and horizontal trend lines, the general number of function calls is 7. Then, the history data is copied by price and time. The main function for building Kagi chart is launched afterwards. After that, the function for placing all price labels on the main chart and the indicator window is called. Finally, Kagi is generated on the main chart and the function for redrawing the objects is launched. 3.12. OnDeinit() Function Deletion of all objects is performed in the indicator deinitialization function. Now, lets pass to using the indicator in practice. 4. Using Kagi Chart in Practice There are many trading strategies based on Kagi chart. We will examine some of them. Lets start with the most popular strategy: sell when Yang changes to Yin and buy in the opposite case. This is shown in Fig. 4: Fig. 4. Selling when Yang changes to Yin and buying in the opposite case As can be seen in Fig. 4 (EURUSD M30, 5 points), this strategy shows good results. The figure displays 8 points for 4 signals, the first one (1) shows that the long position should be opened at 1.3518, which seems to be correct as the price then reaches about 1.3560 comprising 42 points per day. This is a good result. The next point (2) recommends selling at 1.3519. As we can see, the price actually moves down crossing the level of 1.3485 (and covering 34 points) approximately for two hours. Lets move to point (3). The long position is opened at 1.3538 and the price moves up reaching 1.3695. Thus, the profit comprises 157 points already for one day and a half. Of course, these are the highest possible profits but the result is still good enough. The next trading strategy is rolling back from the trend line shown in Fig. 5 (EURUSD M30, 5 points), October 7-18: Fig. 5. Rolling back from the trend line We can move further and trade following the channels. An example of searching for a channel can be examined on Fig. 6 (EURUSD H1, 5 points), roughly the same period: Fig. 6. Trading by channels The less popular strategy based on the fact that after 7-10 successively increasing shoulders or decreasing waists, there will certainly be a reversal (fall ot rise). This is displayed in Figure 7 (GBPUSD H4, 25 points), July 10 - October 18: Fig. 7. 7-10 successively increasing shoulders or decreasing waists As can be seen in the image, seven ascending shoulders are followed by quite a considerable fall roughly equal to the half of the previous rise (about 300 points). Lets examine Trading through a price label strategy to show the necessity of using additional indicator parameters. The idea is to enter the market when the price exceeds (buy) or moves below (sell) the previous price label. The strategy is shown in Fig. 8 (GBPUSD H4, 30 points, modified construction): Fig. 8. Trading through a price label Red arrows on Fig. 8 display when to buy or to sell. The arrows are moving from the previous price label displaying the locations the previous price labels were broken through. Time labels serve mainly as trend direction pointers. Since the color of time labels can be changed relative to the line type, and Yin or Yang line type shows trend direction or reversal, the color may help us define the current market mood. For example, lets take IBM stock chart (H4, 1, standard construction) shown in Fig. 9: Fig. 9. Defining trend direction using time labels The chart shows that blue lines are mainly located on the charts tops, while red ones - at the bottoms. Conclusion The Kagi chart can be successfully used for market trading as a strategy basis or as an auxiliary tool for more precise analysis. In this article, I have examined the code itself and some specificities of constructing the indicator. The main objective has been creation of the multi-functional indicator containing all necessary elements with some extra features that can be disabled. I will be glad to consider new ideas and improvements for the indicator and, perhaps, implement them in the future. Also, please provide me with your feedback. I will be happy to answer your questions concerning the indicator. This article continues the series devoted to developing indicators for constructing the charts from the past. The previous article can be found here. The series is to be continued and I hope to meet you again soon. Thank you for your interest I wish you successful trading, as well as optimized and stable codes.

No comments:

Post a Comment