Tuesday, September 27, 2016

Meta Trader 5 - Trading Systems

Verken Trading Strategie Klasse van die Biblioteek Standard - aanpas strategieë Verken Trading Strategie Klasse van die Biblioteek Standard - aanpas strategieë In hierdie artikel gaan ons wys hoe om die Standard Library of Trading Strategie Klasse verken en hoe om Custom strategieë en filters / seine met behulp van die Patrone-en-modelle logika van die MQL5 Wizard voeg. Op die ou end sal jy in staat wees maklik jou eie strategieë gebruik van Meta Trader 5 standaard aanwysers en MQL5 Wizard sal 'n skoon en kragtige kode en ten volle funksionele Expert adviseur te skep. Inleiding Hierdie artikel is bedoel vir die beginner / beginner gebruikers wat wil 'n soort van aanpassing benader met funksies en sonder skryf 'n EA van nuuts af. In Meta Trader 5 het ons 'n groot moontlikheid van deskundige handel met 'n minimale of geen kennis (en vaardighede) oor programmeertaal en kodering van bronne, te danke aan die een MetaEditor funksie: MQL5 Wizard. Die Wizard (ons is nie van plan om sy gedetailleerde hier besig om in hierdie artikel verduidelik) is bedoel om klaar programme (.mq5 en. ex5 lêers) te genereer, algoritmes en kode. Dit baat by die gebruik van MQL5 Standard Biblioteek en sy handel strategie Klasse (wat 'n groot hulpbronne). Daar is baie van die handel strategie klasse teenwoordig is in die Biblioteek Standard eintlik, sommige van hulle is reeds baie goed en kom uit min of minder bekende studies oor die finansiële markte en winsgewendheid analise. Daar is ten minste een strategie vir elke aanwyser van die standaard stel aanwysers wat kom met Meta Trader 5. Om handel seine van hierdie Trading Strategie Klasse vestig, MQL5 Wizard gebruik 'n meganisme wat aanwyser se gedrag gemaak-up deur 'n logika gekodeer in die vorm van "handel patrone" noem. En elke spesifieke gegenereer EA oproepe na aanwysers (via # include instruksies) en hul stelle patrone en handel besluite te neem wat dan in die EA kern vir die doel van die saak is ingevoer. MQL5 Wizard Die eerste stap is om 'n kundige adviseur te skep met behulp van MQL5 Wizard. Oop te maak MQL5 Wizard in MetaEditor kies "New" uit die menu "File" of druk "New" knoppie, kies dan "Expert Adviseur (genereer)" opsie. Kom ons noem ons kundige adviseur gegenereer in MQL5 Wizard as "MyExpert". Dan voeg ons twee aanwysers / seine om te werk met dit (kan jy soveel voorwaardes kies as jy wil uit beskikbare aanwysers). Vir ons voorbeeld kom ons voeg twee beroemde aanwysers: Relatiewe Sterkte Indeks (RSI) en bewegende gemiddelde (MA). Voeg die RSI aanwyser eerste en voeg dan die MA aanwyser. Ons kan 'n paar parameters, soos ons wil, of verlaat die verstek parameters vir ons 'n voorbeeld. Na OK te klik en aangaan met die Wizard, sal ons nie kies (vir nou) enige sleep stop in die volgende venster, maar as jy wil kan jy voeg: sal dit geen invloed op die onderwerp van hierdie artikel. In die volgende venster sal ons kies 5.0 as 'n persentasie van die saak en 0.1 baie, of enige ander parameters wat jy wil: weer, sal dit geen invloed op die argument van ons artikel. Ontleding Generated Kode Na die afronding van jou sal die "MyExpert. mq5" lêer. Kom ons ontleed die belangrikste punte van die gegenereerde kode. Eerste kennisgewing die # include lêers by die gegenereerde kode deur die Wizard. Ons kan sien: Expert. mqh SignalRSI. mq SignalMA. mqh Dan die volgende gedeelte van die kode: Soos die titel aandui, is dit die "filter" wat aangewend sal word om die marktoestande van die gegenereerde EA wat 'n grafiek vir beslaglegging of getoets word in die strategie Tester. Die filter0 is dan die eerste filter met 'n "indeks" van nul, en vir die eerste filter het ons RSI gekies in ons voorbeeld. CSignalRSI beteken Klas Signal RSI. Hierdie klas word gebruik om die RSI aanwyser noem en toe te pas om dit 'n paar voorwaardes vir die skep van koop of te verkoop seine deur die gebruik van patrone logika van die Wizard. RSI is dan is ons eerste filter (filter nommer 0). In die volgende gedeelte van die kode daar parameters paar filter, dan sleep stop Afdeling (ons het besluit geen sleep) en later - die gedeelte van die kode wat eintlik van geldbestuur. Aangaan, het ons: Hierdie afdeling behoort aan die Expert. mqh sluit lêer. Dit gaan oor die inisialisering van die vereiste vir deskundige werking aanwysers. En die laaste gedeelte van die gegenereerde EA-kode is oor deinitialization en die ander gewone Expert adviseur gebeure: Eintlik hierdie EA gebruik twee aanwysers (RSI en MA) vir handel besluite deur die standaard biblioteek van die saak klasse wat "filters" en "gewigte" logika gebruik. Jy kan meer inligting daaroor in die modules van Handel Seine afdeling van MQL5 Verwysing vind. Maar ons doel is om ons eie handel strategieë te gebruik as 'n nuwe filters. So vir die eerste stap (met behulp van ons eie handel strategieë) gaan ons ons MyExpert. mq5 effens verander. In die eerste plek, laat ons voeg 'n ander filter. Dit sal die filter2 wees en ons sal dit plaas net na die filter1 gedeelte van die kode. Kom ons gaan terug na die # include lêers wat die kern van die filters en besluit mark te maak is. Die eerste een is # include & lt; Expert \ Expert. mqh & gt; lêer. Dit sluit in lêer op sy beurt sluit ander lêers: # include "ExpertBase. mqh" # include "ExpertTrade. mqh" # include "ExpertSignal. mqh" # include "ExpertMoney. mqh" # include "ExpertTrailing. mqh" Dit sluit in lêers is die belangrikste struktuur van EA, die Trading struktuur, die Signal, Geld en sleep stop hantering, onderskeidelik. Ons is nie van plan om diep ontleed hierdie lêers of hulle verander. Ons doel is om te fokus op die toevoeging van ons eie strategieë deur die gebruik van bestaande aanwysers van die Meta Trader 5 standaard stel aanwysers en die toevoeging van hul sluit lêer. In die MyExpert. mq5 kode het ons die # include lêers van die RSI en MA aanwysers wat ons gebruik in hierdie voorbeeld as seine / filters vir die besluit mark van die saak. Op hierdie punt, laat ons voeg ons eie persoonlike sluit lêer. Vir dié doel sal ons 'n aangepaste ( "verbeterde") weergawe van seine wat aan CCI aanwyser gebruik. Die SignalCCIxx. mqh lêer moet in die \ MQL5 \ geplaas Sluit \ gids Expert \ Signal \ en dit moet ooreenstem met die integreerbaarheid van die towenaar gegenereer EA, soos die ander # include handel klasse van die Biblioteek Standard - sein lêers reeds teenwoordig in hierdie gids (SignalRSI. mqh en SignalMA. mqh). Vir hierdie voorbeeld gaan ons die oorspronklike CCI lêer kopieer, skep 'n ander een wat geroep is CCIxx met 'n paar effens aangepaste kode en gebruik dit as die # include lêer. Nou, vir eenvoud ter wille, ons gebruik net 'n gekopieer weergawe van die CCI aanwyser van die Biblioteek Standard. Wat ons moet doen is om te kopieer die "\ MQL5 \ Sluit \ Expert \ Signal \ SignalCCI. mqh" lêer om die "\ MQL5 \ Sluit \ Expert \ Signal \ SignalCCI xx. mqh" lêer. Die maklikste manier waarop jy dit kan doen, is om 'n kopie van die lêer te maak in die gids en die naam van die saak dan. Kom ons kyk na hierdie lêer nou. Integrasie van hierdie "persoonlike" manier in die towenaar gegenereer MyExpert. mq5 is net 'n voltooide werk. Ons het die filter2 kode bygevoeg, soos hierbo verduidelik, en nou sal ons later die volgende te voltooi. So ons is nie van plan om te fokus op die MyExpert. mq5 lêer nie, maar van nou af sal daar gefokus word op die SignalCCIxx. mqh lêer wat is die werklike kern van die EA as gevolg van sy filter2 handel sein van die CCI aanwyser. aanpas Strategie Ons keer terug na die toevoeging van die "semi-persoonlike" strategie filters ons CCIxx noem wat die aangepaste weergawe van die SignalCCI. mqh. Ek definieer dit semi-persoonlike, want in werklikheid is dit nie 'n totaal nuwe persoonlike Signal, maar eerder 'n herontwerp weergawe van CCI aanwyser van die standaard stel aanwysers wat saam met Meta Trader 5. kom Op hierdie manier, selfs die onervare gebruikers en programmeerders kan effens verander patrone en filters van 'n EA gegenereer deur MQL5 Wizard met behulp van die groot aantal bestaande aanwysers, so met ander woorde kan jy jou eie weergawes van filters en patrone te skep vir die opwekking van die koop en verkoop markseine. Dit is nog steeds 'n uitstekende basis vir die werk met strategieë. Kom ons kyk na hierdie voorbeeld. Dit sal nuttig wees vir diegene wat net hierdie funksie moet (om 'n paar persoonlike patrone bestaande aanwysers voeg) en vir diegene wat wil deelneem aan die outomatiese handel kampioenskap net deur die gebruik van die Wizard om vinnig te skep 'n ten volle funksionele (en geldige) EAS wat sommige soorte veranderinge. Dit kan bereik word net in 1 uur van die werk - die skep van 'n kampioenskap vriendelike EA, ten volle funksionele, met sleep stop, Geld Bestuur en alles wat nodig is vir 'n kompetisie handel. Fokus weer op dat die EA is gegenereer deur die Wizard, soos ek genoem dit Championship vriendelike, hierdie eintlik beteken dat die kode gegenereer is vry van foute, sodat die deelnemers het nie om iets of vrees vir foute of foute reg te stel! Die EA sal net handel en sal perfek vir verhandeling, ten minste vir diegene wat wil om deel te neem nie, maar weet nie van programmering en wil nie 'n EA in Jobs diens te bestel ( 'n lekker alternatief om deel te neem in die kampioenskap) . Daar is baie van die insette parameters dat ten einde jou eie handel robot naby aan die strategie wat jy in gedagte het kan toegeskryf word. Maar jy kan eintlik net gebruik maak van die standaard stel aanwysers met die standaard stel filters / patrone wat aangebied word deur MetaQuotes via die Biblioteek Wizard en Standaard van handel strategie klasse. Dit bied 'n groot aantal kombinasies en moontlikheid van 'n suksesvolle handel, as aanwysers het baie parameters (tydraamwerk, simbool) en al die parameters van die aanwysers self, byvoorbeeld periode, Toegepaste prys, ens In hierdie artikel sal jy vinnig en maklik te leer hoe om aan te pas en voeg patrone / filters vir Meta Trader 5 standaard aanwysers. Kom ons voortgaan op die lêer SignalCCIxx. mqh om aan te pas en sy gedrag te verander, om ons eie CCI sein handel model (CCIxx) maak. In die eerste plek, in die MyExpert. mq5 lêer laat ons nuwe veranderlikes voeg vir die nuwe kode in die invoer artikel, soos die volgende voorbeeld (sien uitgelig kode): Ons verander waardes van die Signal_RSI_Weight en Signal_MA_Weight veranderlikes 1,0-0,7 en 0.6 onderskeidelik, en ons het bygevoeg dat die lyne hierbo uitgelig. Ten einde reg te werk met die insette parameters vir die CCIxx aangepaste weergawe van die patroon wat deel uitmaak van CCI aanwyser in die handel strategie klasse, in werklikheid ons gekopieer hierdie 3 reëls van die kode van die SignalCCI. mqh lêer en net bygevoeg die postfix "xx" na "CCI". In die "beskerm" - afdeling van die klas verklaring daar is baie interessante elemente: Neem 'n blik op die tipes int genoem m_pattern. Hierdie veranderlikes word progressief genommer 0-3, elkeen van hulle is 'n "patroon" of, met ander woorde, 'n model van die besluit mark maak voorwaardes vir die aankoop en verkoop van 'n finansiële instrument. Ons gaan 2 persoonlike patrone voeg: m_pattern_4 en m_pattern_5. Dit is eenvoudig gedoen deur die toevoeging van twee lyne van kode, twee tipe integer veranderlikes. As jy aanhou om te kyk na die kode is, sal jy die logika van die koop en verkoop, en alles verstaan. Maar ons sal hier konsentreer net op die dele van hoe om ons eie patrone te voeg, soos ons is nie van plan om lyn te verduidelik deur lyn wat sluit lêers (vir hierdie doel, kan die leser die lêers oop te maak self en bestudeer, en daar is MQL5 Verwysing te help in begrip). Ons wil ook om dit te doen: in die CSignalCCIxx. mqh lêer druk Ctrl + H, soek vir "CCI" en vervang met "CCIxx". Klik op "Vervang alle" - 41 voorvalle moet gevind word en vervang word. Kom ons gaan hier in die top van die lêer: en verander hierdie: met hierdie soos in die oorspronklike SignalCCI. mqh: Ons doen dit omdat Cicci genoem van 'n ander in te sluit, en as ons sy naam te verander sal daar natuurlik 'n paar foute. Nou kan ons die SignalCCIxx. mqh lêer saam te stel, en daar moet wees 0 foute en 0 waarskuwings. As daar 'n paar is, wat jy moontlik het 'n paar foute en moet die prosedure herhaal. Kom ons gaan na die kern van die toevoeging van ons eie patters. Net vir pure fantasie, ons voeg 2 patrone van mark verhandel gedrag. In totaal sal ons nuwe 4 seine (patrone), 2 van 'n soort vir koop en 2 van 'n soort vir verkoop het. Die gedeelte te verander, is dit: Ons opdrag om die waarde 90 tot die m_pattern_4 en m_pattern_5, maar jy moet (moet) verander dit met jou eie: dit is die gewigte wat jy wil toewys aan jou nuwe mark modelle as hulle die hele Expert adviseur handel gedrag beïnvloed. Vir fantasie laat voeg twee nuwe mark modelle. Hulle gaan baie maklik om te wees - hulle is net vir onderwys doeleindes en is nie getoets handel seine, so moenie te handel met hulle. Die kruis sal ons help om waardes van die CCI aanwyser identifiseer in die figure hieronder vir ooreenstemmende bars. eerste Patroon Die kruising van die lyn van onder na bo nul Dit is ons eerste patroon vir: "stem dat die prys sal groei". Figuur 5 toon die CCI waarde wat ooreenstem met maat 1 (een bar voor die huidige bar). Die waarde daarvan is 45,16 sodoende & gt; 0. Figuur 6 toon die CCI waarde wat ooreenstem met 2 (twee bars voordat die huidige bar) bar. Die waarde daarvan was -53,92 dus & lt; 0. Zero lyn (waarde 0.00) van die CCI aanwyser is gekruis van onder na bo binne 2 bars. Die kruising van die lyn van bo tot onder vriespunt Dit is ons eerste patroon vir: "stem dat die prys sal daal". Figuur 7 toon die CCI waarde wat ooreenstem met maat 1 (een bar voor die huidige bar). Die waarde daarvan is -28,49 dus & lt; 0. Figuur 8 toon die CCI waarde wat ooreenstem met 2 (twee bars voordat die huidige bar) bar. Die waarde daarvan was 2,41 dus & gt; 0. Zero lyn (waarde 0.00) van die CCI aanwyser is gekruis van bo tot onder binne 2 bars. tweede Patroon Die kruising van die nul lyn van bo tot onder en weer terug bo Dit is ons tweede patroon vir: "stem dat die prys sal groei". Figuur 9 toon die CCI waarde wat ooreenstem met maat 1 (een bar voor die huidige bar). Die waarde daarvan is 119,06 dus & gt; 0. Figuur 10 toon die CCI waarde wat ooreenstem met 2 (twee bars voordat die huidige bar) bar. Die waarde daarvan was -20,38 dus & lt; 0. Figuur 11 toon die CCI waarde wat ooreenstem met 3 (drie bars voordat die huidige bar) bar. Die waarde daarvan was 116,85 dus & gt; 0 weer. Zero lyn (waarde 0.00) van die CCI aanwyser is gekruis van bo tot onder. Daarop draai CCI aanwyser lyn bo weerkaats rondom die lyn nul binne 3 bars. Die kruising van die nul lyn van onder na bo en weer terug onder Dit is ons tweede patroon vir: "stem dat die prys sal daal". Figuur 12 toon die CCI waarde wat ooreenstem met maat 1 (een bar voor die huidige bar). Die waarde daarvan is -58,72 dus & lt; 0. Figuur 13 toon die CCI waarde wat ooreenstem met 2 (twee bars voordat die huidige bar) bar. Die waarde daarvan was 57,65 sodoende & gt; 0. Figuur 14 toon die CCI waarde wat ooreenstem met 3 (drie bars voordat die huidige bar) bar. Die waarde daarvan was -85,54 dus & lt; 0 weer. Zero lyn (waarde 0.00) van die CCI aanwyser is gekruis van onder na bo. Daarop draai CCI aanwyser lyn hieronder weerkaats rondom die lyn nul binne 3 bars. Implementering Patrone Ten einde hierdie 4 toestande (twee per patroon) te implementeer, moet ons die volgende kode afdeling op hierdie manier te verander. In die onderste het ons die gemerkte reëls van die kode bygevoeg vir die "koop" toestand (sien hierbo in die kommentaar: "Stem" daardie prys sal groei). Kom ons die ooreenstemmende artikel van die kode te verander vir die "verkoop" toestand. In die onderste het ons die gemerkte reëls van die kode bygevoeg vir die "verkoop" toestand (sien hierbo in die kommentaar: "Stem" wat die prys sal daal). Die (idx + 1) of (idx + 2). (Idx + n) van die laaste lyne bygevoeg is baie eenvoudig, maar baie belangrike punt van die vraag: 1, 2, 3, ens is net die aantal bars voor die huidige een (die huidige een is die werklikheid leef "kers", die 0 bar). So, hoe meer die idx + N, hoe meer bars terug te gaan ons. Elke bar (idx + N) stem ooreen met die aanwyser waarde in dieselfde "vertikale" posisie op dieselfde tyd. In hierdie figuur 16 die nulde bar (die regterkantste eerste kers, wat ooreenstem met idx of (idx + 0) in die kode) het die ooreenstemmende CCI waarde hieronder 0.00. Ook die tweede maat (idx + 1) en die derde bar (idx + 2) het waardes onder die 0.00 lyn. Ons het nie ander bars met 'n vertikale pyl onderteken, maar as jy jou muis hover oor die 4 bar terug (idx + 3) kan jy sien dat sy ooreenstemmende CCI waarde is bo 0,00. Vir die meeste van die gebruikers van hierdie feit is voor die hand liggend, maar vir onervare gebruikers is dit beter om te weet hoe grafiese bars / kerse van die prys grafiek, grafiese vertoning van die CCI aanwyser, en onderskeidelik die (idx) veranderlike en waarde van die CCIxx aanwyser ooreenstem met mekaar. Dit is belangrik om jou geselekteerde aanwysers op 'n kaart te sien en probeer om "visualiseer" (of ontdek) ooreenkomste tussen prys bars / kerse en gedrag van geselekteerde aanwyser, probeer om 'n veronderstelling te maak vir 'n strategie, wat jy maklik-kode kan met behulp van die bar indeks (idx) en waarde van aanwyser veranderlike. In die SignalCCIxx. mqh lêer die volgende kode: geskryf deur woorde beteken: Dit is die kleinste voorbeeld van hoe om twee persoonlike patrone net gebaseer op die aanwyser waarde wat ons kies (in hierdie geval - CCI) eenvoudig te voeg. Die toestand van "prys sal groei" of "prys sal val" is geskryf moet word en bygevoeg in die Patrone in hierdie mode, en niemand belet om meer komplekse toestande te skep. Voordat die finale toets, kom ons gee 'n blik op die meganismes hoe posisies geopen en gesluit. Die meganisme en logika is baie goed verduidelik reeds in MQL5 Reference Manual in die handel strategie Klasse afdeling van die biblioteek Standard. Kortliks, in die MyExpert. mq5 lêer ons het 2 insette parameters (twee heelgetal veranderlikes): Hierdie drempels vir oop en toe is twee waardes wat gebruik word vir rekenaars, indien (volgens ons handel modelle) 'n handelsmerk is 'n lang of kort oop en dan gesluit. Die drempels aanvaar 'n tipe heelgetal van 0 tot 100. Wat beteken hierdie parameters beteken? Signal_ThresholdOpen is die waarde vir 'n lang of kort posisie oop, Signal_ThresholdClose is die waarde wat voorheen geopen posisie te sluit. Hierdie waardes word bereken in konteks van 'n eenvoudige, maar briljante meganisme, wat vasgenael voor die hele logika van Wizard gegenereer EAS. Elke sein in die Signal __.mqh lêers (__ staan ​​vir die naam van aanwyser gebruik, in ons geval - MA, RSI en CCIxx) is bestaan ​​uit patrone, soos ons voorheen in besonderhede gesien het. Kom ons kyk na dit weer in ons voorbeeld. Van die SignalMA. mqh lêer het ons 4 patrone met hul relatiewe "gewig" vir elke patroon: en vir RSI van die SignalRSI. mqh lêer op dieselfde manier: In "ons eie" SignalCCIxx. mqh (wat amper glad 'n afskrif van SignalCCI. mqh) het ons hierdie waardes: Dit is die standaard 0, 1, 2, 3 plus ons eie 4 en 5 patrone met laaste twee waardes van 80 en 90. Wanneer ons heg die MyExpert. ex5 om die grafiek of toets dit in die strategie Tester, die patrone van al die seine wat ons gekies (RSI, MA en CCIxx) word voortdurend bereken. As toestande een of meer patroon se suksesvol is, is die sein van die patroon geaktiveer vir volgende rekenaar. Byvoorbeeld, as m_pattern_4 van die SignalCCIxx. mqh lêer gebeur, aan die toestand: word dit 'n potensiële handel sein. Met ander woorde, as die CCI waarde op maat 1 is & gt; 0.0 en terselfdertyd die waarde van CCI op maat 2 was & lt; 0.0, soos in die figuur 5 en figuur 6, die toestand is om te gebeur en die m_pattern_4 (sein nommer 4) geaktiveer word. Die gewigswaarde het ons vir hierdie sein van ons CCIxx strategie is gelyk aan absolute waarde van 80, maar dit sal aanvaar -80 in die geval van 'n "stem dat die prys sal val" geval, en 80 vir die saak "te stem dat die prys sal groei ". Die "stem dat die prys sal val" net sit 'n negatiewe teken om die oorspronklike waarde van die gewig van die patroon. Gedink dat toestand van die m_pattern_4 is suksesvol, 'n handelsmerk is slegs indien geopen: Sein nommer 4 (m_pattern_4) is die enigste sein wat toestand is waar (sein geaktiveer) en raak in die doel van Signal_ThresholdOpen (sy waarde vermenigvuldig met 'n koëffisiënt, bereik en oortref die Signal_ThresholdOpen waarde) Sein nommer 4 bereik die doel van Signal_ThresholdOpen, terwyl meeding met ander seine van sy eie eweknie van CCIxx strategie (die "stem dat die prys sal val" seine / patters van CCIxx strategie) en die kompetisie met al die ander seine van ander aanwysers (RSI seine en MA seine) teenoorgestelde rigtings (in hierdie geval die teenoorgestelde rigting is kort rigting, want ons is die ontleding van die m_pattern_4 oor "stem dat die prys sal groei"). So kan ons elke patroon as 'n mededinger te oorweeg in 2 groepe: Bull seine en dra seine. Wanneer hierdie patrone / seine van dieselfde rigting ( "stem dat die prys sal groei") is suksesvol (geaktiveer), is dit opgesom met mekaar, en die som is in vergelyking met die Signal_ThresholdOpen waarde. Indien geen posisies waar oopgemaak of die som is in vergelyking met die Signal_ThresholdClose waarde in die geval van 'n voorheen teenoorgestelde posisie (in hierdie voorbeeld, 'n kort posisie), die m_pattern_4 van SignalCCIxx. mqh het die waarde van: 80 in die geval van "prys-groei" toestand -80 In die geval van "prys val" toestand Kom ons neem aan dat al die ander patrone van alle seine (SignalRSI. mqh, SignalMA. mqh en die 0,1,2,3 en 5 patrone van SignalCCIxx. mqh) kry waarde van 0. Dit is soos "sein mededingers" is uit die "spel", en die enigste mededingers is die twee van m_pattern_4 - een vir koop en een vir verkoop. Dus het ons net die m_pattern_4 werk, want dit het 'n waarde anders as 0, maw 80. En vir RSI van die SignalRSI. mqh lêer op dieselfde manier: In "ons eie" SignalCCIxx. mqh (wat amper glad 'n afskrif van SignalCCI. mqh) het ons hierdie waardes: Aan die begin van die artikel, ons hierdie lyne bygevoeg: Ons fokus op die Signal_CCIxx_Weight veranderlike wat waarde van 0.8 het. Die Signal_ThresholdOpen bereik (veroorsaak), wanneer die drempelwaarde bereik. Die waarde word bereken op hierdie manier: Dit is "stem dat die prys sal groei", omdat die algoritme gevang 'n "prys groei" sein (m_pattern_4 van SignalCCIxx), en die waarde is 80. As hipoteties dit gevang 'n "stem dat die prys sal val" (m_pattern_4 van SignalCCIxx), die waarde is -80. Vir "val-prys" die algoritme net sit 'n minusteken om die patroon waarde. Veronderstel die geval van "stem dat die prys sal val" die berekeninge is soos volg: -64 - & Gt; 64 (in absolute waarde) is die sein sterkte vir die "stem dat die prys sal daal". Die seinsterkte is altyd uitgedruk in absolute waarde, terwyl kort posisie waardes voorafgegaan word deur 'n minusteken, en lang posisie waardes - deur 'n plusteken. Kom ons keer terug na 'n voorbeeld hierbo van die lang posisie met bereik waarde van 64 en sein sterkte van 64. As daar is geen ander teenoorgestelde (met 'n negatiewe teken) seine (m_pattern_N van Signal__) wat kompeteer, die Signal_ThresholdOpen wat waarde van 40 bereik, omdat die krag van die lang sein is 64, en die vlak 40 van Signal_ThresholdOpen bereik en oortref deur 24 (40 + 24 = 64). Sedert die Signal_ThresholdOpen bereik, is 'n lang posisie geopen. Byvoorbeeld, as ons 'n waarde 0.4 op Signal_CCIxx_Weight, geen lang posisies sal oopgemaak word, want: en die vlak 40 (Signal_ThresholdOpen) is nie bereik as gevolg 32 & lt; 40, dus is daar geen lang posisies oopgemaak. Die voorbeeld stel waardes bokant (alle waardes 0, behalwe vir die 80 in m_pattern_4 van SignalCCIxx. mqh) is net gebruik word vir absurd om ons te laat verstaan ​​dat die uitstekende logika agter die Wizard en die stelsel van gewigte en drempels. In normale ontwikkeling sou jy 'n voorkeur gewig toeken aan elk van m_pattern_N van elke Signal__. As jy die waarde 0 te wys aan 'n patroon, dit beteken net dat hierdie patroon nie gebruik sal word. As ons 'n ander waarde in bogenoemde voorbeeld sal verander (met al die parameters stel om 0, behalwe vir m_pattern_4 van SignalCCIxx. mqh), sê m_pattern_1 van SignalRSI. mqh 100, die berekeninge verandering sodat nou het ons 4 mededingers: m_pattern_4 (Bull) en m_pattern_4 (Bear) van die SignalCCIxx. mqh lêer, waardes van 80 en -80 onderskeidelik. m_pattern_1 (Bull) en m_pattern_1 (Bear) van die SignalRSI. mqh lêer, waardes van onderskeidelik 100 en -100. So sal ons het 4 moontlike kombinasies: Positiewe waarde van 67. Lang posisie is geopen omdat Signal_ThresholdOpen ter waarde van 40 bereik en oortref. Lang posisie later gesluit wanneer die Signal_ThresholdClose met waarde 60 is bereik en oortref deur die absolute waarde van geval D = -67 = | 67 | (Absolute waarde) omdat die sterkte van die saak D in absolute waarde 67 & gt; 60 (dit is die drumpel van Signal_ThresholdClose). Negatiewe waarde -3. Geen kort posisies oopgemaak, want Signal_ThresholdOpen ter waarde van 40 is nie bereik en oortref deur geval B absolute waarde: -3 geword 3 wanneer ons kyk na die absolute waarde om die "seinsterkte" bereken, en 3 & lt; 40 (waarde vir 'n sein na die posisie oop). Daar is geen oop kort posisies en natuurlik is daar geen berekeninge vir die sluiting van kort posisies. Positiewe waarde 3. Geen lang posisies oopgemaak, want Signal_ThresholdOpen ter waarde van 40 is nie bereik en oortref deur die waarde van geval C sedert 3 & lt; 40 (waarde vir 'n sein na die posisie oop). Daar is geen oop lang posisies en natuurlik is daar geen berekeninge vir die sluiting van lang posisies. Negatiewe waarde -67. Kort posisie is geopen omdat Signal_ThresholdOpen ter waarde van 40 bereik en oortref deur seinsterkte wat eenvoudig word bereken met die absolute waarde van -67 dit is 67, en 67 & gt; 40. Kort posisie later gesluit wanneer Signal_ThresholdClose ter waarde van 60 bereik en oortref deur die waarde van geval A = 67 sedert 67 (die sterkte van 'n) & gt; 60 (dit is die drumpel van Signal_ThresholdClose). Met ander woorde, vir die opening van kort posisies, eerste wat ons nodig het om die rigting te identifiseer as gevolg van die negatiewe waarde van seine, dan negatiewe waarde het in sy absolute waarde ten einde die seinsterkte kan bereken word in vergelyking met die Signal_ThresholdOpen waarde om te sien of voormalige & gt; = laasgenoemde. Sluiting lang posisies uitgevoer word in 'n soortgelyke wyse: eers na ons negatiewe waarde aan lang posisie (die waarde inteendeel, vir die sluiting van kort posisie is positief) sluit, dan is hierdie negatiewe waarde het in sy absolute waarde te vergelyk met die Signal_ThresholdClose om te sien of die voormalige & gt; = laasgenoemde. Vir die opening van lang posisies en sluit kort posisies die berekeninge uitgevoer word op positiewe nommers (daar is geen seine met minusteken), sodat daar geen behoefte om die absolute waardes te oorweeg vir berekeninge. Lang posisies opening is veroorsaak deur 'n positiewe waarde van seinsterkte, en kort posisie sluiting ook veroorsaak word deur 'n positiewe waarde van seinsterkte. Eerste is van mening dat die plus teken en minusteken lank om oop te maak of te open kort posisie, en na 'n kort sluit of sluit onderskeidelik 'n lang posisie. Toe het ons hulle absolute waardes bereken vir die vergelyking met die drempelwaardes van Signal_ThresholdOpen en Signal_ThresholdClose wat altyd met 'n positiewe teken (geen negatiewe tekens vir Signal_ThresholdOpen en Signal_ThresholdClose) word bereken. posisie Besonderhede Kom ons voortgaan delf dieper in besonderhede van posisie: Normale handel. Posisie is oop en dan gesluit. Daarna word die posisie nie onmiddellik heropen. Posisie omkeer. Posisie is oop, dan gesluit en dan in die teenoorgestelde rigting weer oopgemaak. Lang posisie is geopen as:


No comments:

Post a Comment