Wednesday, October 12, 2016

Moving Average Aanwyser Afsonderlike Venster

Aanwysers vir Tegniese Analise A tegniese aanwyser is 'n wiskundige manipulasie van 'n sekuriteit prys en / of volumes wat gemik is op die voorspelling van toekomstige prysveranderinge. Besluite oor hoe en wanneer om oop te maak of naby posisies kan gedoen word op die basis van seine van tegniese aanwysers. Volgens hul funksionele eienskappe, kan aanwysers word in twee groepe verdeel: tendens aanwysers en ossillators. Tendens aanwysers help om die prys rigting te bepaal en op te spoor die beurt oomblikke sinkronies of met 'n vertraging. Ossillators toelaat om die draaipunte in advance of sinkronies te vind. Die Meta Trader 5 vir die iPhone / iPad bied 30 aanwysers. Hulle is verdeel in die volgende groepe: 'n tegniese aanwyser kan in 'n aparte aanwyser venster getrek met sy eie vertikale skaal (byvoorbeeld, MACD) of direk toegepas word op 'n prys grafiek (soos bewegende gemiddelde). Elke aanwyser het 'n spesifieke stel van parameters. Die bestuur aanwysers aan te gaan om die aanwysers bestuur bladsy, tik wanneer jy 'n grafiek of gebruik die quotIndicatorsquot bevel van die konteks kieslys. Toevoeging van aanwysers aan 'n aanduiding te voeg, tik op die kop van die grafiek venster, byvoorbeeld, quotMain chartquot. As die aanwysers is slegs van toepassing op die hoof grafiek of nie toegepas op alle, die venster bied opsies vir die toevoeging van / die verwydering van aanwysers slegs vir die eerste grafiek. As 'n aanduiding is opgestel in 'n aparte venster (byvoorbeeld, MACD), is die venster outomaties geskep. Na 'n bykomende venster geskep is, kan jy aanwysers voeg reg om dit te. 'N kraan op die grafiek venster kop maak 'n venster, waaruit 'n aanduiding kan gekies Nadat jy 'n aanwysers kies, sy eienskappe venster oop. Instellings van Indicators Elke aanwyser het 'n spesifieke stel van parameters. Een van die algemeenste parameters is quotApply toquot. Aanwysers kan geplot gebaseer op prys data en afgeleide daarvan (mediaanprys, Tipiese Price, Geweegde Close), asook op grond van ander aanwysers. Byvoorbeeld, kan 'n bewegende gemiddelde gebou wat gebaseer is op die MACD waardes. Om dit te doen, in die eerste plot die MACD aanwyser, en dan in sy venster voeg MA, kies in die quotApply toquot veld van sy instellings die quotPrevious indicator39s dataquot opsie. As jy quotFirst indicator39s dataquot kies, sal MA gebou op die basis van die heel eerste aanwyser, wat nie noodwendig die MACD. Daar is nege variante van aanwyser tekening: Close 150 gebaseer op noue pryse. Maak 150 gebaseer op oop pryse. Hoë 150 gebaseer op 'n hoë pryse. Lae 150 gebaseer op 'n lae pryse. Mediaanprys (HT / 2) 150 gebaseer op die mediaanprys: (High Low) / 2. Tipiese Prys (HLC / 3) 150 gebaseer op die tipiese prys: (High Low Close) / 3. Geweegde Close (HLCC / 4) 150 gebaseer op die gemiddelde geweegde naby prys: (High Low 2Close) / 4. Eerste indicator39s data 150 gebaseer op die waardes van die eerste Toegepaste aanwyser. Die opsie van die gebruik van die data van die eerste aanduiding is slegs beskikbaar vir aanwysers in 'n aparte venster, want in die hoof grafiek venster die eerste aanduiding is die prys. Vorige indicator39s data 150 gebaseer op die waardes van die vorige aanwyser. Benewens hierdie parameter, kan jy die periode, Metode, Shift en baie ander parameters van aanwysers te stel. Die verwydering van Indicators Jy kan aanwysers verwyder soos volg: Tik die knoppie verander in die boonste regterkantste hoek. Om 'n aanduiding of 'n addisionele venster kraan te verwyder. Gebruik jou vinger van links na regs op die aanwyser lyn. Om 'n aanduiding te verwyder, gebruik die knoppie quotDeletequot wat verskyn. Wysiging aanwysers aan die parameters van 'n aanduiding te verander, tik op dit in die quotIndicatorsquot window. MetaTrader 4 - Indicators Multi bewegende gemiddelde - aanwyser vir Meta Trader 4 Beskrywing: Multi bewegende gemiddelde - is 'n aanduiding wat die inligting toon sowat 4 Bewegende Gemiddeldes in 'n aparte venster. Jy kan die invoer parameters in die venster aanwyser Properties vir enige van die bewegende gemiddeldes te verander: Berekening van gemiddelde periode (tyd). Gemiddeld Metode (mamethod). Die tipe prys gebruik vir berekening (appliedprice). en baie opsies vir die teks etikette: Dit is geskep om die prys grafiek (veral van die bewegende gemiddeldes) quotunloadquot, maar slaan jy die nuttige inligting. 1. Dit toon die huidige stand van die bewegende gemiddeldes - styging of daling (met behulp van die verskillende kleure vir bokse / pyl) 2. Dit wys die currrent toestand van die bewegende gemiddeldes met betrekking tot die prys (of bewegende gemiddelde met tydperk 1) - is dit bo of onder (met behulp van die verskillende kleure vir teks etikette) So, die instel van die Moving gemiddeldes periodes, is dit moontlik om die mark neiging verstaan ​​sonder die gebruik van die bewegende gemiddeldes op die prys grafiek Image: As jy vrae het om die aanwyser te verbeter, kan jy stuur vir my die privaat boodskap. Redakteurs opmerking: As jy enige vrae aan die skrywer, voorstelle of kommentaar, sy beter om hulle daar te plaas. As jy hierdie kode nuttig vir handels - of opvoedkundige doeleindes gevind, Moenie vergeet om dankie author. MetaTrader 4 - Voorbeelde Secrets van die Meta Trader 4 kliënt Terminal: Aanwysers 'n Mens kan die ontleding van finansiële markte nie indink sonder tegniese aanwysers op die oomblik. Jy kan jou eie aanwysers te skep of gebruik die ingeboude kinders. Die ingeboude aanwysers werk vinniger as die persoonlike kinders en het 'n aantal funksies wat nie in persoonlike aanwysers geïmplementeer kan word. Byvoorbeeld, daar is aanduidings dat 'n grafiek beide in die hoof venster en in 'n subwindow kan aangeheg word. Naas, kan aanwyser bereken nie op prys en / of volume waardes, maar op die waardes van 'n ander aanwyser. Slim gebruik van die ingeboude aanwysers sal help om ver te gaan sonder duik in die programmering van die eie kinders. Daar is dertig ingesluit aanwysers in die Meta Trader 4 kliënt Terminal. Voorwaardelik, kan al aanwysers word in vier groepe verdeel: ossillators tendens aanwysers Bill Williams aanwysers volumes. Tendens aanwysers help om die prys beweging toe te ken in een rigting en op te spoor, synchroniously of vertraag, die oomblikke wanneer tendense draai. Ossillators toelaat om sulke draaie synchroniously of vooruit te spoor. Bill Williams aanwysers het eienskappe van beide ossillators en tendens aanwysers. Volumes analiseer nie die prysbewegings soos hulle is, maar die bedrag van bosluise wat inkomste gedurende die kroeg het. Opsomming Table of Embedded Indicators Eienskappe Gebruik die skakels in die tabel, kan jy die kode bron van 'n persoonlike aanwyser wat correponds met die ingeboude een besigtig. Table veld beskrywings o ossillator t tendens aanwyser b Bill Williams aanwyser v volume. s aanwyser is aangeheg in 'n subwindow by verstek m aanwyser in die hoof venster by verstek is aangeheg. Assosiasie met s / m. Of die aanwyser kan of nie verband hou met die aanwyser reeds in 'n subwindow (s) of in die hoof venster (m) aangeheg. Bykomende lyne. Bykomende lyne, Vorige Indicators Data en eerste aanduidings Data, verskyn in die Pas aan akker in die venster aanwysers eienskappe wanneer die aanwyser is gesleep. Vorige Indicators Data - data van die jongste aanwyser verbonde aan die hoof venster of 'n subwindow. As daar is geen aangeheg aanwysers, die vorige Indicators Data is die term data. En die aanwyser moet aangeheg word gebou op grond van die Beslote prys van die grafiek. Eerste Indicators Data - data van die aanwyser wat aangeheg as die eerste na die hoof venster of 'n subwindow. As daar is geen aangeheg aanwysers, die eerste aanduidings Data is die term data. En die aanwyser moet aangeheg word gebou op grond van die Beslote prys van die grafiek. Tydperk / verskuiwing. Beskikbaarheid van velde met ooreenstemmende name in die blad Parameters van die venster aanwysers eienskappe. Van toepassing op. Beskikbaarheid van die Pas aan akker voeg in op die blad Parameters van die venster aanwysers eienskappe. Metode. Beskikbaarheid van die veld met dieselfde naam in die blad Parameters (keuse van bewegende gemiddelde boumetode). Vlakke. Beskikbaarheid van die blad vlakke. Hoe om Indicators Heg 'n Grafiek 'n aanwyser kan in ses maniere om 'n grafiek aangeheg: gebruik van die hoof spyskaart opdrag: dubbel kliek op die naam aanwyser in die venster Navigator kies die Navigator venster konteks kieslys opdrag: die gebruik van die voorafbepaalde warm sleutels te sleep die wyser met die muis in die hoof venster of in die ander aanwysers subwindow (drag-and-drop).Die eerste vyf maniere nie fundamenteel verskil van mekaar. Kom ons noem hulle standaard vorme van aanwyser heg. Op hierdie, sal die aanwyser óf in die grafiek of in 'n aparte subwindow getrek, soos deur default. The vyfde metode, die sleep is meer interessant. Sommige aanwysers, toe gesleep in die grafiek, kan bereken word uit waardes van 'n ander aanwyser reeds verbonde aan die grafiek. Daar is sewe spesiale aanwysers: Bollinger Bands Commodity Channel Index Koeverte Momentum bewegende gemiddelde relatiewe sterkte-indeks standaardafwyking. Embedded aanwysers kan gekombineer word met ander aanwysers of bereken op waardes van ander aanwysers. Op die kombinasie, die aanwyser moet aangeheg word net vertoon oor die aanwyser reeds aangeheg, maar het sy eie skaal en grense. In hierdie geval, die waardes van die aanwyser moet aangeheg word bereken vanaf die grafiek prys waardes. 'N geïntegreerde aanduiding dat in 'n subwindow vertoon by verstek kan gekombineer word met die aanwyser reeds aangeheg in die subwindow. An ingesluit aanduiding dat in die hoof venster vertoon by verstek kan gekombineer word met die aanwyser reeds in die hoof venster aangeheg. Die meeste ingebed aanwysers kan slegs aangeheg as in die verstek. Diegene sewe spesiale aanwysers kan beide aan die hoof venster en 'n subwindow aangeheg word. Hoe om te heg aan die hoof venster Indicators wat in 'n Subwindow oopgemaak deur verstek Indicators hieronder in 'n subwindow geopen by verstek: Bedryfs Channel Index Momentum relatiewe sterkte-indeks standaardafwyking Kom ons eienskappe van hierdie aanwysers te bestudeer deur die voorbeeld van Commodity Channel Index. Soos dit reeds hierbo genoem is, sal hierdie aanwyser in 'n aparte venster oopgemaak word by verstek: Om CCI heg aan die hoof venster, 'n mens moet dit te sleep na die grafiek. Die aanwysers eiendomme sal kyk as gegee onder: Eintlik is die grafiek is terselfdertyd die aanwyser. So, as daar geen ander aanwysers is beskikbaar, eerste aanduidings Data en Vorige Indicators Data - is data van die grafiek self, en die tekening metode op die vorige aanwysers waardes nie verskil van dié op die eerste aanwysers waardes op enige manier. So, om aanwyser heg in die grafiek venster, 'n mens moet sleep-en-drop dit na die grafiek en kies eerste aanduidings Data of Vorige Indicators Data. Die verkry gevolg: Aanwysers Momentum, relatiewe sterkte-indeks en standaardafwyking is verbonde aan die grafiek venster op dieselfde manier. Hoe om te heg aan 'n Subwindow Aanwysers wat in die hoof venster oopgemaak deur verstek Aanduiders van hierdie groep word hieronder gelys: Kom ons kyk na bewegende gemiddelde as 'n voorbeeld. By verstek, hierdie aanwyser lyk soos volg: Beslaglegging op die MA om 'n aparte subwindow, is dit nodig om 'n paar meer aksies te maak as vir die vorige voorbeeld. In die eerste plek, moet 'n aparte venster geskep word. Vir hierdie, laat ons heg aan die grafiek 'n aanduiding dat oopgemaak kan word in 'n subwindow. Byvoorbeeld, MACD. Nou kan ons die bewegende gemiddelde sleep in die venster MACD en kies Vorige Indicators Data of Eerste Indicators Data in die venster eienskappe (want daar is net een aanwyser in die subwindow, die MACD, dit sal beide die eerste en die laaste aanwyser wees) . Wanneer 'n aantal aanwysers is aan een subwindow, dit is altyd moontlik om op te spoor, wat hulle op wat gebou is. Seleksie van Vorige Indicators data vertoon word as - gt, dié van Eerste Indicators Data - as GT. Ons het MACD verkry met bewegende gemiddelde bo-op dit. Ons kan stop by hierdie, maar ons kan ook so dat slegs bewegende gemiddelde sal in die venster bly. Om dit te doen, is dit nodig om die MACD verwyder. Maar, as ons net verwyder dit, die bewegende gemiddelde, as aanwyser gebou op die MACD waardes, sal verwyder word, sowel. So, laat ons los bewegende gemiddelde van MACD eerste. Kom ons bereken op, byvoorbeeld, in die buurt waardes. Nou, die MACD verwyder kan word, sal die bewegende gemiddelde in die aparte venster bly. So, 'n kombinasie eienskappe van verskillende aanwysers, kan 'n mens 'n ingewikkelde stelsel te bou. 'N paar algemene eienskappe van Indicators Heg As die aanwyser moet aangeheg word bereken op waardes van die aanduiding dat 'n hele paar lyne (meer as een) het, sal dit bereken word op waardes van nul lyn of die hooflyn. In die kode word hierdie lyn opgespoor met behulp van waardes van die eerste parameter van die SetIndexStyle funksie. So, byvoorbeeld, as die aanwyser moet aangeheg word bereken op die MACD, die histogram waardes sal geneem word as die waardes vir berekeninge aangesien dit bepaal in die MACD kode: SetIndexStyle (0, DRAWHISTOGRAM). Baie aanwysers het, by verstek, vaste maksimum en minimum, byvoorbeeld, RSI het. In hierdie geval, nadat dit aan 'n ander aanwyser is aangeheg, byvoorbeeld, MACD, hul grense kan misalign, maw RSI sal net nie ooreen met die venster MACD. Om dit reg te stel, is dit nodig om die velde van maksimum en minimum aktiveer, en die aanwysers skale sal onafhanklik wees op mekaar. Wanneer 'n aantal aanwysers is aan een subwindow, dit is altyd moontlik om op te spoor, wat hulle op wat gebou is. Seleksie van Vorige Indicators data vertoon word as - gt, dié van Eerste Indicators Data - as gt. In die voorbeeld hierbo, die aanwysers is gebou op die volgende wyse: aangeheg MACD bereken MA op die eerste aanduidings Data, dit wil sê op waardes van die MACD bereken RSI op die eerste aanduidings Data, dws weer op waardes van die MACD gekombineer CCI met MACD bereken Momentum op die vorige Indicators Data, dit wil sê op waardes van die CCI. Embedded aanwysers kan gesuperponeer op nie net ander ingebed aanwysers, maar ook op persoonlike aanwysers. Die bevestiging van beginsels is dieselfde. Byvoorbeeld: Hoe om Vlakke Bou Sommige aanwysers toelaat bou van vlakke. Vir MA, kan 'n mens 'n kanaal te bou met behulp van vlakke. Om dit te doen, is dit nodig om te gaan na die blad vlakke en 'n paar waardes met behulp van die knoppie Voeg. Nou, as ons die MA lyn gekleurde dieselfde as die agtergrond, sal ons kanaal gebou op die bewegende gemiddelde te verkry. Visualisering Tab Op die ou end, laat ons kyk na nog 'n eiendom van aanwysers in die Meta Trader 4 kliënt Terminal. Alle aanwysers, beide ingesluit en persoonlike kinders, het hierdie eiendom. Daarbenewens kan dit van toepassing is op voorwerpe, asook, dit wil sê om grafiese en tegniese analitiese gereedskap. Daar is geen geheim dat data geanaliseer op verskillende tydsraamwerke van dieselfde simbool kan verskil. Verskillende tegniese gereedskap kan gebruik word, insluitende verskillende aanwysers met verskillende instellings. Die volgende kan gedoen word ten einde nie weer aan te pas aanwysers weer en weer wanneer jy tussen tydsraamwerke: Spesifiseer in die aanwyser eienskappe venster wat tydraamwerk, waartoe die gekose aanwyser sal geanker. En so aan vir alle aanwysers en op al tydsraamwerke. In die toekoms, wanneer skakel tussen hulle, sal ons in staat wees om verskillende aanwysers sien op verskillende tydsraamwerke. Dit bly net om die sjabloon te gebruik in die toekoms vir ander simbole te red. Voorbeeld. Op tydsraamwerke van H1 en M15, dieselfde aanwysers, MACD en MA, is aangeheg, maar met verskillende tydperke. Op H1: MACD met waardes van 12, 26, 9 MA met die tydperk van 7 word bereken op die MACD MA met die tydperk van 5 word bereken op die MA (7). Op M15: MACD met waardes van 24, 52, 18 MA met die tydperk van 28 word bereken op die MACD MA met die tydperk van 20 word bereken op die MA (28).Creation van Custom Indicators Wanneer die skep van 'n handel strategie n ontwikkelaar dikwels gesigte die noodsaaklikheid om grafies te trek in 'n sekuriteits venster 'n sekere afhanklikheid bereken deur 'n gebruiker (programmeerder). Vir hierdie doel MQL4 bied die moontlikheid van die skep van persoonlike aanwysers. Custom aanwyser is 'n aansoek program gekodeer in MQL4 Dit is basies bedoel vir grafiese vertoon van voorlopig bereken dependences. Custom aanwyser Struktuur Noodsaaklikheid van Buffers Die belangrikste beginsel onderliggend aan persoonlike aanwysers is verby waardes van aanwyser skikkings aan 'n kliënt terminale (vir die opstel aanwyser lyne) via ruil buffers. Buffer is 'n geheue gebied met numeriese waardes van 'n aanwyser skikking. MQL4 standaard impliseer die moontlikheid van die opstel van tot agt aanwyser lyne met behulp van 'n persoonlike wyser. Een aanwyser verskeidenheid en een buffer is in ooreenstemming met elke aanwyser lyn gebring. Elke buffer het sy eie indeks. Die indeks van die eerste buffer is 0, van die tweede een - 1, en so aan, die laaste een het die indeks 7. Fig. 115 toon hoe die inligting uit 'n persoonlike wyser via buffers is geslaag om 'n kliënt terminale vir die opstel aanwyser lyne. Fig. 115. slaag waardes van aanwyser skikkings via 'n buffer aan 'n kliënt terminale. Die algemene orde van die bou aanwyser lyne is die volgende: 1. Berekenings word gedoen in 'n persoonlike wyser as gevolg numeriese waardes word om aanwyser verskeidenheid elemente wat. 2. Waardes van aanwyser verskeidenheid elemente via buffers aan 'n kliënt terminale gestuur. 3. Op die basis van waarde skikkings ontvang van buffer 'n kliënt terminale uitstallings aanwyser lyne. Komponente van 'n Custom aanwyser Kom ontleed 'n eenvoudige persoonlike aanwyser wat twee lyne toon - 'n reël is te bou wat gebaseer is op maksimale bar pryse, die tweede een gebruik minimale pryse. Voorbeeld van 'n eenvoudige persoonlike aanwyser userindicator. mq4 Kom ontleed besonderhede die aanwyser dele. In 'n aansoek program wat geskryf is in MQL4 kan jy die opstel van parameters wat die korrekte program diens verskaf deur 'n kliënt terminale aandui. In hierdie voorbeeld is die hoof program deel (sien programstruktuur) bevat verskeie lyne met voorskrifte eiendom. Die eerste richtlijn dui in watter venster van die kliënt terminale die aanwyser lyne moet teken: In MQL4 daar twee variante van die tekens aanwyser lyne: in die hoof sekuriteit venster en in 'n aparte venster. Hoof venster is die venster met 'n sekuriteit grafiek. In hierdie voorbeeld parameter indicatorchartwindow in eiendom gids dui aan dat 'n kliënt terminale aanwyser lyne in die hoof venster moet trek. Die volgende lyn toon die aantal buffers gebruik in die aanwyser: In die ontleed byvoorbeeld twee aanwyser lyne getrek word. Een buffer aan elke buffer, sodat die totale aantal buffers is twee. Die volgende reëls beskryf kleure van die aanwyser lyne. Parameters indicatorcolor1 en indicatorcolor2 kleur omgewing te definieer vir ooreenstemmende buffers - in hierdie geval vir buffers met indekse 0 (Blou) en 1 (Red). Let daarop dat syfers in parameter name indicatorcolor1 en indicatorcolor2 nie indekse buffer. Hierdie syfers is dele van konstante name wat gestel word in ooreenstemming met buffers. Vir elke konstante kleur kan ingestel word volgens die diskresie van 'n gebruiker. In die volgende lyn aanwyser skikkings verklaar: Die aanwyser is bedoel vir die opstel twee aanwyser lyne, sodat ons nodig het om twee globale een-dimensie skikkings, een vir elke lyn verklaar. Name van aanwyser skikkings is tot die gebruiker. In hierdie geval verskeidenheid name Buf0 en Buf1 gebruik word, in ander gevalle ander name gebruik kan word, byvoorbeeld, Regel1, Alfa, Integrale ens Dit is nodig om skikkings te verklaar op 'n globale vlak, omdat verskeidenheid elemente waardes moet bewaar tussen oproepe van die spesiale funksie begin (). Die beskryf persoonlike aanwyser is gebou op die basis van twee spesiale funksies - init () en begin (). Die funksie init () bevat die deel van die kode wat op die program net een keer (sien Vir Spesiale funksies). 'N Baie belangrike aksie uitgevoer in die lyn: Die gebruik van die funksie SetIndexBuffer () 'n noodsaaklike buffer (in hierdie geval met die indeks 0) is met 'n verskeidenheid in korrespondensie sit (in hierdie geval Buf0). Dit beteken vir die bou van die eerste aanwyser lyn 'n kliënt terminale sal data wat in die skikking Buf0 met behulp van die nul buffer daarvoor te aanvaar. Verdere die lyn styl gedefinieer: Vir die nul buffer (0) 'n kliënt terminale moet die volgende teken style gebruik: eenvoudige lyn (DRAWLINE), soliede lyn (STYLESOLID), lyn breedte 2. Die volgende twee reëls bevat instellings vir die tweede reël : So, volgens die kode van die spesiale funksie init () sowel aanwyser lyne sal in die belangrikste sekuriteit venster getrek. Die eerste een sal 'n stewige blou lyn met die breedte 2 wees, die tweede een is 'n rooi stippellyn (STYLEDOT) van 'n gewone breedte. Aanwyser lyne getrek kan word deur ander style asook (sien Styles van aanwyser Lines). Berekening Waardes van aanwyser Skikkings elemente (luister) Waardes van aanwyser skikkings elemente word bereken in die spesiale funksie begin (). Om reg te kan verstaan ​​die inhoud van begin () kode aandag te gee aan die orde van kruip bars. Die artikel Skikkings beskryf in besonderhede die metode van kruip skikkings-tijdreeksen. Volgens hierdie metode bar kruip begin van nul. Die nul bar is 'n huidige nog ongevormde bar. Die naaste bars indeks is 1. Die volgende kinders is 2 en so aan. Soos nuwe bars verskyn in 'n sekuriteit venster, word indekse van reeds gevorm (geskiedenis) bars verander. Die nuwe (huidige, net gevorm, regterkantste) bar kry die nul-indeks, die een aan die linkerkant van hom (wat net ten volle gevorm) kry die indeks 1 en waardes van indekse van alle geskiedenis bars is ook verhoog deur een. Die beskryf metode van kruip bars is die enigste een moontlike vir die hele on-line handel stelsel Meta Trader, en dit word in ag geneem wanneer lyne gebruik van beide tegniese en persoonlike aanwysers. Dit is vroeër gesê dat aanwyser lyne is gebou op die basis van numeriese inligting vervat in aanwyser skikkings. 'N aanduiding verskeidenheid bevat inligting oor die kolletjies koördineer waarop 'n aanduiding lyn getrek word. En die Y koördineer van elke dot is die waarde van 'n aanwyser verskeidenheid element. en X koördineer is die waarde van 'n aanwyser verskeidenheid element indeks. In die ontleed byvoorbeeld die eerste aanwyser lyn getrek word met behulp van maksimum waardes van bars. Fig, 116 shows hierdie aanwyser lyn (blou kleur) in 'n sekuriteits venster, dit is gebou op die basis van die aanwyser verskeidenheid Buf0. Fig. 116. Korrespondensie van koördinate van 'n aanwyser lyn waardes van 'n aanwyser skikking. Indeks waarde van 'n aanwyser skikking is deur 'n kliënt terminale in korrespondensie met 'n bar-indeks - hierdie indekswaardes is gelyk. Dit moet ook in ag neem dat die proses van die bou van aanwyser lyne gaan aan in reële tyd af onder toestande wanneer 'n sekuriteit venster nuwe bars verskyn van tyd tot tyd geneem word. En die hele geskiedenis bars verskuif na links. Om die aanwyser lyn korrek geteken (elke lyn dot bo sy bar) dit moet ook saam geskuif met bars het. Daar is dus behoefte (tegniese behoefte) weer kruip 'n aanduiding skikking. Die fundamentele verskil van 'n aanwyser verskeidenheid van 'n gewone skikking is die volgende: Op die oomblik wanneer 'n nuwe bar is geskep, word indekswaardes van aanwyser verskeidenheid elemente outomaties verander word deur die kliënt terminale, naamlik - waarde van elke aanwyser verskeidenheid indeks het met een en die aanwyser verskeidenheid grootte verhoog deur een element (met 'n nul-indeks). Byvoorbeeld, die nul bar in Fig. 116 (tydraamwerk H1) het die opening tyd 06:00. Op 07:00 sal 'n nuwe bar verskyn in die venster sekuriteit. Die bar oopgemaak by 06:00 sal outomaties die indeks 1. Om die aanwyser lyn korrek op hierdie bar getrek het, sal die kliënt terminale die indeks van die aanwyser verskeidenheid element wat ooreenstem met die bar oopgemaak by 06:00 verander. In die tabel in Fig. 116 hierdie element is geskryf in die eerste reël. Saam met dié indekse van alle verskeidenheid elemente sal verhoog word deur die kliënt terminale vir een. 'N indeks van die skikking element wat ooreenstem met die bar op 06:00 oop sal die waarde 1 te kry (voor dat dit gelyk is aan 0 is). Die aanwyser skikking groter een element geword. Die indeks van 'n nuwe bygevoeg element sal gelyk wees aan 0 wees, sal die waarde van hierdie element 'n nuwe waarde weerspieël koördineer van die aanwyser lyn op 'n nul bar wees. Hierdie waarde word bereken in die spesiale funksie begin () op elke blok. Berekeninge in die spesiale funksie begin () moet gedoen word sodat geen ekstra aksies is uitgevoer. Voordat die aanwyser op 'n grafiek aangebring word, beteken dit nie enige aanduiding lyne reflekteer (omdat waardes van aanwyser skikkings nog gedefinieer). Dis hoekom die eerste begin van die spesiale funksie begin () aanwyser verskeidenheid waardes moet bereken word vir alle bars, waarop die aanwyser lyn getrek moet word. In die ontleed voorbeeld hiervan is almal teenwoordig op 'n grafiek bars (die aanvanklike berekeninge kan nie vir alle beskikbare bars gedoen, maar vir 'n paar laaste deel van die geskiedenis dit word beskryf in verdere voorbeelde). Ar al verder begin van die spesiale funksie begin () is daar geen behoefte om waardes van aanwyser verskeidenheid weer bereken vir alle bars. Hierdie waardes is reeds bereken en is vervat in die aanwyser skikking. Dit is nodig om die huidige waarde van die aanwyser te bereken net op elke nuwe blok van die bar nul. Vir die implementering van die beskryf tegnologie is daar 'n baie nuttige standaard funksie in MQL4 - IndicatorCounted (). Funksioneer IndicatorCounted () Hierdie funksie gee terug Die nommer van kolomme wat nie verander het sedert die laaste aanwyser oproep. As die aanwyser het nooit 'n grafiek is aangeheg, by die eerste begin () uitvoering van die waarde van Countedbars sal gelyk wees aan nul: Dit beteken die aanwyser verskeidenheid geen element met vroeër gedefinieerde waarde bevat, wat is die rede waarom die hele aanwyser verskeidenheid moet bereken word van begin tot einde. Die aanwyser verskeidenheid word bereken uit die oudste kroeg aan die een nul. Indeks van die oudste kroeg, vanaf wat berekeninge moet begin, word bereken deur die volgende manier: Veronderstel op die oomblik van die bevestiging van die aanwyser daar 300 bars in 'n grafiek venster. Dit is die waarde van die gedefinieerde veranderlike Drinkplekke. Soos vroeër gedefinieer, Countedbars is gelyk aan 0. Dus, as 'n resultaat wat ons kry dat ek indeks van die eerste ontelbare bar (die jongste een, vanaf wat berekeninge gedoen moet word) is gelyk aan 299. Alle waardes van aanwyser verskeidenheid elemente bereken in die lus, terwyl (): terwyl ek is binne die omvang van die eerste ontelbare bar (299) om die huidige een (0) inklusief, is waardes van aanwyser verskeidenheid elemente bereken vir beide aanwyser lyne. Let ontbrekende waardes van aanwyser verskeidenheid elemente word bereken tydens een (die eerste) begin van die spesiale funksie begin (). Tydens berekeninge onthou die kliënt terminale elemente, waarvoor waardes is bereken. Die laaste iterasie in terwyl () uitgevoer word wanneer ek gelyk is aan 0, is maw waardes van aanwyser skikkings bereken vir die bar nul. Wanneer die lus verby is, die spesiale funksie begin () eindig die uitvoering daarvan en beheer word geslaag om die kliënt terminale. Die kliënt terminale op sy beurt sal gelykop (in hierdie geval twee) aanwyser lyne in ooreenstemming met die berekende waardes van verskeidenheid elemente. Op die volgende blok begin () sal begin deur die kliënt terminale weer. Verdere optrede sal afhang van die situasie (sal ons voortgaan ontleding van die voorbeeld vir 300 bars). Variant 1. 'n nuwe blok kom tydens die vorming van die huidige nul bar (die mees algemene situasie). Fig. 117 toon twee bosluise deur die terminaal by oomblikke van tyd t 1 en t 2. ontvang Die ontleed situasie sal dieselfde vir beide bosluise wees. Kom ons trek die uitvoering van begin () wat van stapel gestuur is op die oomblik t 2. Tydens die uitvoering van die funksie begin () die volgende reël sal uitgevoer word: IndicatorCounted () sal die waarde 299, dit wil sê terugkeer sedert die laaste begin () oproep 299 vorige bars is nie verander nie. As gevolg hiervan het ek indekswaarde gelyk aan 0 (300-299-1) sal wees: Dit beteken in die volgende terwyl () lus om die waardes van verskeidenheid elemente met die nul-indeks word bereken. Met ander woorde, sal die nuwe posisie van 'n aanwyser lyn op die bar nul bereken. Wanneer die siklus klaar is, begin () sal ophou uitvoering en sal beheer relevant tot die kliënt terminale slaag. Variant 2. 'n nuwe blok is die eerste blok van 'n nul bar (gebeur van tyd tot tyd). In hierdie geval is die feit van die voorkoms van 'n nuwe bar is belangrik. Voordat beheer relevant tot die spesiale funksie begin is verby (), kliënt terminale sal weer trek al bars teenwoordig is in die venster sekuriteit en weer kruip al verklaar aanwyser skikkings (stel in ooreenstemming met buffers). Naas, sal die kliënt terminale onthou dat daar reeds 301 bars, nie 300 in 'n grafiek venster. Fig. 118 bevat situasie wanneer die laaste blok van die vorige bar (op die oomblik t 2) die funksie begin () is suksesvol begin en uitgevoer. Dis hoekom, al word julle nou die eerste bar (met indeks 1) klaar op die oomblik t 2 is bereken deur die aanwyser, funksioneer IndicatorCounted () sal waarde wat op die vorige bar terugkeer. dws 299: In die volgende lyn indeks Ek sal bereken word, in hierdie geval vir die eerste blok van 'n nuwe bar dit gelyk wees om 1 (301-299-1): Dit beteken berekening van aanwyser verskeidenheid waardes in terwyl () lus by die verskyning van 'n nuwe bar sal uitgevoer word vir beide die laaste bar en vir die nuwe nul bar. 'N bietjie vroeër tydens die re-indexatie van aanwyser skikkings die kliënt terminale verhoog groottes van hierdie skikkings. Waardes van verskeidenheid elemente met 'n nul indekse is nie gedefinieer voor die berekeninge in die lus. Tydens berekeninge in die lus kry hierdie elemente 'n paar waardes. Wanneer berekeninge in aanvang () is verby, is beheer terug na die kliënt terminale. Daarna het die kliënt terminale aanwyser lyne op die nul bar gebaseer op net berekende waardes van verskeidenheid elemente met 'n nul indekse sal trek. Variant 3. 'n nuwe blok is die eerste blok van 'n nuwe nul bar, maar die laaste maar een regmerkie nie verwerk (seldsame geval). Fig. 119 toon die situasie wanneer begin () is van stapel gestuur op die eerste blok van 'n nuwe bar op die oomblik t 5. Vorige keer funksie begin op die oomblik t 2. Merk dat die terminale op die oomblik t 3 kom (rooi pyl ) is nie verwerk deur die aanwyser. Dit het gebeur as gevolg begin () uitvoering tyd t 2 - t 4 is groter as die interval tussen bosluise t 2 - t 3. Hierdie feit sal deur die kliënt terminale opgespoor tydens die uitvoering van die begin () van stapel gestuur op die oomblik t 5. Gedurende berekeninge in die lyn: IndicatorCounted () sal die waarde 299 terug te keer (). Hierdie waarde is waar - vanaf die oomblik van die laaste aanwyser oproep is 299 bars nie verander na (nou reeds) 301. Dit is die rede waarom die berekende indeks van die eerste (linker) bar, waaruit berekeninge van verskeidenheid element waardes moet begin, sal gelyk wees aan 1 (301-299-1) wees: dit beteken tydens terwyl () uitvoering twee iterasies sal uitgevoer word. Gedurende die eerste een waardes van verskeidenheid elemente met die indeks i 1 sal bereken word, dit wil sê Buf01 en Buf11. Nie, deur die oomblik berekeninge begin, bars en aanwyser skikkings is reeds weer kruip deur die kliënt terminale (omdat 'n nuwe bar begin, tussen begin van die spesiale funksie begin ()). Dit is waarom berekeninge vir elemente van skikkings met indeks 1 sal bereken word op grond van verskeidenheid-tijdreeksen (maksimum en minimum waardes van 'n bar prys) ook met die indeks 1: Gedurende die tweede iterasie van terwyl () waardes vir elemente met 'n nul indekse, dit wil sê vir die bar nul, word bereken op die basis van die vorige bekende waardes van skikkings-tijdreeksen. Die gebruik van die beskryf tegnologie vir die berekening van persoonlike aanwysers toelaat, eerste, berekening van waardes van alle aanwyser verskeidenheid elemente, ongeag die spesifieke aard van bosluis geskiedenis waarborg, en tweedens, om berekeninge uit te voer net vir ontelbare bars, dws gebruik ekonomies berekening hulpbronne . Nie, is 'n kroeg beskou ontelbare as berekening van element waardes van 'n aanwyser skikkings ten minste vir 'n laaste blok van die kroeg nie uitgevoer word. n dik blou lyn gebou op bar maksimums en 'n stippellyn rooi lyn gebou op sy minimums (Fig 120.) - Begin die gewoonte aanwyser userindicator. mq4 in 'n grafiek venster sal jy twee lyne sien. Daar moet kennis geneem, dat 'n mens het 'n persoonlike wyser, wyser lyne waarvan saamval met die lyne van 'n analoog tegniese aanwyser. Dit kan maklik gedoen word as as berekening formules in die persoonlike aanwyser, dieselfde formules soos in die tegniese aanwyser gebruik. Om dit te illustreer kan verbeter die program kode in die vorige voorbeeld ontleed. Laat die aanwyser lyne op gemiddelde waardes van maksimums en minimums van verskeie laaste bars trek. Dit is maklik om te nodige berekeninge te doen: ons moet net gemiddelde waardes van skikkings-tijdreeksen elemente vind. Byvoorbeeld, waarde van 'n aanwyser verskeidenheid met die indeks 3 (dws aanwyser lyn te koördineer vir die derde bar) aan die hand van die afgelope vyf maksimums bereken die volgende manier: Buf03 (High3 High4 High5 High6 High7) / 5 Analogiese berekeninge kan wees uitgevoer word vir 'n aanduiding lyne gebou op minimums. Voorbeeld van 'n eenvoudige persoonlike aanwyser averagevalue. mq4. Aanwyser lyne gebou op gemiddelde minimale en maksimum waardes van N bars. In hierdie voorbeeld is daar 'n eksterne veranderlike AverBars. Die gebruik van hierdie veranderlike 'n gebruiker kan die aantal bars, waarvoor 'n gemiddelde waarde word bereken aan te dui. In die begin () hierdie waarde word gebruik vir die berekening van 'n gemiddelde waarde. In die loop van die som van maksimale en minimale waardes is bereken vir die aantal bars wat ooreenstem met die waarde van die veranderlike AverBars. In die volgende twee programme lyne waardes van aanwyser verskeidenheid elemente word bereken vir aanwyser lyne wat ooreenstem met 'n minimale en maksimum waardes. Die gemiddelde metode wat hier gebruik word ook aansoek gedoen om berekeninge in die tegniese aanwyser bewegende gemiddelde. As ons heg die ontleed persoonlike aanwyser averagevalue. mq4 en die tegniese aanwyser bewegende gemiddelde, sal ons sien drie aanwyser lyne. As dieselfde tydperk van gemiddelde opgestel vir beide aanwysers, sal bewegende gemiddelde lyn saamval met een van die persoonlike aanwyser lyne (vir hierdie doel parameters in Fig beskryf. 121 moet gespesifiseer in die tegniese aanwyser instellings). Fig. 121. Samevallende lyne van 'n tegniese aanwyser en 'n persoonlike wyser (rooi lyn). Dus, met behulp van tegniese aanwyser n gebruiker kan die weerspieëling van enige reëlmatighede nodige praktiese werk op te rig. Custom aanwyser Options Drawing aanwyser Lines in Afsonderlike Windows MQL4 bied 'n groot diens vir die bou van persoonlike aanwysers wat maak gebruik van hulle baie gerieflik. In die besonder, kan aanwyser lyne in 'n aparte venster getrek. Dit is handig wanneer absolute waardes van die aanwyser lyn amplitude is aansienlik kleiner (of groter) as sekuriteit pryse. Byvoorbeeld, as ons belangstel in die verskil tussen gemiddelde waardes van bar maksimums en minimums in 'n sekere historiese interval is, na gelang van tydraamwerk hierdie waarde sal gelyk wees aan ongeveer 0-50 punte (byvoorbeeld, vir M15). Dit is nie moeilik om 'n aanduiding lyn te bou, maar in 'n sekuriteits venster hierdie lyn in die reeks 0 getrek - 50 punte van 'n sekuriteit prys, maw aansienlik laer as die grafiek area wat op die skerm. Dit is baie ongerieflik. Om aanwyser lyne in 'n aparte venster (wat in die onderste deel van 'n sekuriteit venster) trek, in die richtlijn eiendom (op die program begin) parameter indicatorseparatewindow moet gespesifiseer: Op die oomblik wanneer so 'n aanduiding van 'n sekuriteit venster is aangeheg , kliënt terminale skep 'n aparte venster onder 'n grafiek, waarin aanwyser lyne bereken in die aanwyser sal getrek word. Afhangende van kleur instellings en vorme van aanwyser lyne sal hulle in die een of ander styl getrek. Beperking Berekening Geskiedenis In die meeste gevalle aanwyser reëls bevat nuttige inligting net in die mees onlangse geskiedenis. Die deel van aanwyser lyne gebou op ou bars (byvoorbeeld 1 maand oud minuut tydraamwerk) kan skaars nuttig vir die maak van handel besluite beskou. Behalwe, indien daar is 'n baie bars in 'n grafiek venster, tyd belê in die berekening en tekening van aanwyser lyne is onredelik groot. Dit kan van kritieke belang in program debugging wees, wanneer 'n program dikwels word saamgestel en dan begin. Dit is waarom dit nodig is om berekeninge nie uit te voer vir die hele geskiedenis, maar vir die beperkte deel van die mees onlangse bar geskiedenis. Vir hierdie doel 'n eksterne veranderlike geskiedenis word in die volgende program. Waarde van hierdie veranderlike in ag geneem word by die berekening van die indeks van die eerste (linker) bar, vanaf watter elemente van aanwyser skikkings moet bereken word. Verdere berekeninge in terwyl () lus sal gedoen word vir die aantal onlangse geskiedenis bars nie groter as Geskiedenis waarde. Let die ontleed metode van die beperking van 'n berekening geskiedenis kommer net die deel van berekeninge wat uitgevoer word in die eerste begin van die spesiale funksie begin (). Verdere, wanneer nuwe bars verskyn, nuwe dele van aanwyser lyne sal bygevoeg word in die regte deel, terwyl die beeld in die linker deel sal bewaar word. So het die aanwyser lyn lengte sal verhoog word gedurende die hele aanwyser werking tyd. Gemeenskaplike waarde van Geskiedenis parameter word beskou as ongeveer 5000 bars. Voorbeeld van 'n eenvoudige persoonlike aanwyser separatewindow. mq4. Aanwyser lyne getrek word in 'n aparte venster. Soortgelyke berekening van 'n aanwyser lyn is uitgevoer in die tegniese aanwyser AverageTrue Range. Fig. 122 toon 'n aanduiding lyn gebou deur die persoonlike aanwyser separatewindow. mq4 in 'n aparte venster en 'n aanduiding lyn gebou deur ATR in 'n ander venster. In hierdie geval lyne is ten volle identies omdat tydperk van gemiddelde is dieselfde vir beide aanwysers - 5. As hierdie parameter is verander in enige van die aanwysers, sal die ooreenstemmende aanwyser lyn ook verander. Fig. 122. tekens van 'n persoonlike wyser lyn in 'n aparte venster. Identiese lyne van 'n tegniese aanwyser (ATR) en 'n persoonlike wyser (separatewindow. mq4). Dit is ook duidelik dat persoonlike aanwyser lyn nie gebou vir die hele skerm breedte, maar vir 50 jongste bars soos in die eksterne veranderlike Geskiedenis. As 'n handelaar moet groter geskiedenis interval gebruik, kan waarde van die eksterne veranderlike maklik verander via die venster persoonlike aanwyser instellings. Fig. 123 toon 'n sekuriteit venster, waarin die aanwyser lyn ons in 'n ander styl getrek - as 'n histogram. Vir kry so 'n resultaat 'n reël verander in die program kode separatewindow. mq4 - is ander lyn style aangedui: Alle ander kode dele is onveranderd. Fig. 123. Tekening persoonlike aanwyser lyn in 'n aparte venster (histogram). Gelykvormigheid van tekeninge van 'n tegniese aanwyser (ATR) en 'n persoonlike wyser (separatewindow. mq4). Verskuiwing aanwyser Lines vertikaal en horisontaal In sommige gevalle is dit nodig om 'n aanduiding lyn verskuif. Dit kan maklik gedoen word deur MQL4 middel. Kom ons ontleed 'n voorbeeld, in watter posisie van aanwyser lyne in 'n sekuriteits venster word bereken in ooreenstemming met waardes wat deur 'n gebruiker. Voorbeeld van 'n persoonlike wyser displacement. mq4. Verskuiwing aanwyser lyne horisontaal en vertikaal. Vir die aanpassing van lyne skuif in 'n grafiek, is daar twee eksterne veranderlikes - LeftRight vir horisontale verskuiwing van al die lyne en UpDown vir die verskuiwing twee stippellyne vertikaal. Die algoritme wat gebruik word vir die berekening van waardes van ooreenstemmende verskeidenheid elemente is gebaseer op 'n baie eenvoudige reëls: vir die verskuiwing van 'n lyn horisontaal, die berekende waarde toeken aan 'n verskeidenheid element, die indeks van wat groter deur LeftRight (vir die verskuiwing na regs en minder vir die verskuiwing na regs) as die indeks van 'n kroeg, waarvoor berekeninge uitgevoer word vir die verskuiwing van 'n lyn vertikaal, moet UpDownPoint bygevoeg (vir die verskuiwing opwaarts of afbreuk vir afwaarts verskuif) aan elke waarde van 'n aanwyser verskeidenheid wat kenmerkend aanvanklike lyn posisie in die ontleed byvoorbeeld indekse bereken word in die lyn: Hier is ek is die indeks van 'n kroeg, waarvoor berekeninge uitgevoer word, k is 'n indeks van 'n aanwyser verskeidenheid element. Rooi aanwyser lyn vertoon deur die kliënt terminale gebaseer op die aanwyser verskeidenheid Line0 is verskuif na die linker 5 bars (volgens persoonlike voorkeure, sien Fig. 124) van die aanvanklike lyn. In hierdie geval is die aanvanklike lyn is 'n bewegende gemiddelde met die tydperk van gelyke gemiddeld tot 5 die formule van MA berekening is (HighiLowi) / 2. In hierdie voorbeeld is die posisie van die rooi lyn is die basis vir die berekening van aanwyser verskeidenheid waardes vir twee ander lyne, dit wil sê hul posisie op die kaart. Stippellyne word bereken op hierdie manier: Gebruik van indeks k elemente van al aanwyser skikkings toelaat om berekeninge te doen vir elemente van skikkings Regel1, Regel2 op dieselfde bar as wat gebruik word vir die berekening van waardes van die ooreenstemmende basiese verskeidenheid Line0. As gevolg hiervan stippellyne verskuif met betrekking tot die rooi lyn van die geld in die venster aanwyser instellings waarde, in hierdie geval met 30 punte (Fig 124.). Fig. 124. Rooi aanwyser lyn na links geskuif met 5 tralies. Stippellyn aanwyser lyne relatief tot die rooi lyn verskuif met 30 punte. Beperkings van Custom Indicators Daar is 'n paar beperkinge in MQL4 wat in ag geneem in die ontwikkeling van persoonlike aanwysers geneem moet word. Daar is 'n groep van funksies wat gebruik kan word net in persoonlike aanwysers en kan nie gebruik word in Expert Adviseurs en skrifte: IndicatorBuffers (), IndicatorCounted (), IndicatorDigits (), IndicatorShortName (), SetIndexArrow (), SetIndexBuffer (), SetIndexDrawBegin ( ), SetIndexEmptyValue (), SetIndexLabel (), SetIndexShift (), SetIndexStyle (), SetLevelStyle (), SetLevelValue (). Aan die ander kant, kan handel funksies nie gebruik word in aanwysers: OrderSend (), OrderClose (), OrderCloseBy (), OrderDelete () en OrderModify (). Dit is omdat aanwysers bedryf in die koppelvlak vloei (in teenstelling met Expert Adviseurs en skrifte wat werk in hul eie vloei).


No comments:

Post a Comment