Tuesday, 5 September 2017

Eenvoudige Bewegende Gemiddelde Ea Mq4


Meta Trader 4 - Kenners bewegende gemiddelde - kenner vir Meta Trader 4 Die bewegende gemiddelde deskundige vir die vorming van handel seine gebruik een bewegende gemiddelde. Opening en sluiting van posisies uitgevoer word wanneer die bewegende gemiddelde voldoen aan die prys op die onlangs gevorm bar (bar indeks gelyk aan 1). Die lot grootte sal geoptimaliseer word volgens 'n spesiale algoritme. Die deskundige adviseur ontledings instemming van die bewegende gemiddelde en die markprys grafiek. Die kontrolering word gedoen deur die funksie CheckForOpen (). As die bewegende gemiddelde voldoen aan die bar in so 'n manier dat die voormalige is hoër as Oop prys, maar laer as Close prys, sal die koop posisie oopgemaak. As die bewegende gemiddelde voldoen aan die bar in so 'n manier dat die voormalige is laer as Oop prys, maar hoër as Close prys, sal die sell posisie oopgemaak. Geldbestuur in die deskundige is baie eenvoudig, maar doeltreffend: die beheer oor elke posisie volume uitgevoer na gelang van die vorige transaksies resultate. Hierdie algoritme geïmplementeer word deur die funksie LotsOptimized (). Die basiese baie grootte word bereken op grond van die maksimum toelaatbare risiko: Die parameter MaximumRisk vertoon die basiese risiko persentasie vir elke transaksie. Dit beskik oor gewoonlik 'n waarde tussen 0,01 (1) en 1 (100). Byvoorbeeld, as gratis marge (AccountFreeMargin) gelyk aan 20.500 en reëls van kapitaal bestuur voorskryf om die risiko van 2 gebruik, sal die basiese baie grootte maak 20500 0,02 / 1000 0.41. Dit is baie belangrik om beheer oor die lot grootte akkuraatheid en om die resultaat te normaliseer met die toelaatbare waardes. Gewoonlik, fraksionele baie met stap van 0.1 word toegelaat nie. 'N Transaksie wat volume van 0.41 sal nie uitgevoer word. Om te normaliseer, is die funksie NormalizeDouble () gebruik word met akkuraatheid tot 1 karakter na die punt. Dit lei tot die basiese baie 0.4. Die basiese baie berekening op grond van gratis marge laat toeneem in volumes van die operasie, afhangende van handel uitslag, dit wil sê om handel te dryf met reinvesting. Dit is die basiese meganisme met verpligte kapitaal bestuur vir die verhoging van die saak effetiveness. DecreaseFactor is die mate waarin die lot grootte sal verminder na nuttelose handel. Normale waardes 2,3,4,5. As die voorafgaande transaksies was nutteloos, sal die daaropvolgende volumes te verminder met 'n faktor van DecreaseFactor om te wag deur die nuttelose tydperk. Dit is die belangrikste faktor in die hoofstad bestuur algoritme. Die idee is baie eenvoudig: as handel suksesvol is aan die toeneem, die deskundige werk met die basiese baie maak maksimum wins. Na afloop van die eerste nie-winsgewende transaksie, sal die deskundige die spoed verminder totdat 'n nuwe positiewe transaksie gemaak. Die algoritme toelaat om te skakel spoed verminder, want om dit te doen, moet 'n mens DecreaseFactor 0. spesifiseer die bedrag van die laaste agtereenvolgende nuttelose transaksies word bereken in die handel geskiedenis. Die basiese baie sal herbereken op hierdie basis: Dus, die algoritme kan effektief verminder die risiko voorkom as gevolg van 'n reeks van nuttelose transactions. The baie grootte Verplicht nagegaan word vir die minimum toelaatbare baie grootte aan die einde van die funksie, want die voorheen gemaak berekeninge kan lei tot baie 0: die deskundige is hoofsaaklik bedoel vir die werk met 'n daaglikse tydperk, en in die toets af - om dit te doen op 'n kort pryse. Dit sal handel net by die opening van 'n nuwe bar, wat is die rede waarom die modes van elke bosluis modellering nie nodig. Toets resultate word op die report. Moving Gemiddeld Tegniese aanwyser bewegende gemiddeldes Tegniese aanwyser toon die gemiddelde instrument prys waarde vir 'n sekere tydperk van die tyd. Wanneer 'n mens word bereken dat die bewegende gemiddelde, een gemiddeldes uit die instrument prys vir hierdie tydperk. As die prys veranderinge, sy bewegende gemiddelde óf verhoog, of verminder. Daar is vier verskillende tipes bewegende gemiddeldes: Eenvoudige (ook na verwys as Rekenkundige). Eksponensiële. Reëlmatige en Lineêre Geweegde. Bewegende gemiddeldes kan bereken word vir enige opeenvolgende datastel, insluitend die opening en sluiting pryse, hoogste en laagste pryse, handel volume of enige ander aanwysers. Dit is dikwels die geval wanneer dubbel bewegende gemiddeldes gebruik. Die enigste ding wat waar bewegende gemiddeldes van verskillende tipes divergeer aansienlik van mekaar, is wanneer gewig koëffisiënte, wat die jongste data is opgedra, is anders. In geval praat ons van 'n eenvoudige bewegende gemiddelde, alle pryse van die tydperk ter sprake, is gelyk in waarde. Eksponensiële en Lineêre Geweegde bewegende gemiddeldes heg meer waarde aan die nuutste pryse. Die mees algemene manier om die interpretasie van die prys bewegende gemiddelde is om sy dinamika vergelyk met die prys aksie. Wanneer die instrument prys bo sy bewegende gemiddelde styg, blyk 'n koopsein, indien die prys val onder sy bewegende gemiddelde, wat ons het, is 'n sell sein. Dit handel stelsel, wat gebaseer is op die bewegende gemiddelde, is nie ontwerp om toegang tot die mark te voorsien reg in sy laagste punt, en sy uitgang regs op die piek. Dit maak dit moontlik om op te tree volgens die volgende tendens: te koop kort nadat die pryse die bodem bereik, en om gou te verkoop nadat die pryse hul hoogtepunt bereik het. Bewegende gemiddeldes kan ook toegepas word op aanwysers. Dit is hier waar die interpretasie van aanwyser bewegende gemiddeldes is soortgelyk aan die interpretasie van die prys bewegende gemiddeldes: As die aanwyser styg bo sy bewegende gemiddelde, wat beteken dat die stygende aanwyser beweging is waarskynlik om voort te gaan: as die aanwyser val onder sy bewegende gemiddelde, hierdie beteken dat dit waarskynlik om voort te gaan gaan afwaarts. Hier is die tipes bewegende gemiddeldes op die grafiek: Eenvoudige bewegende gemiddelde (SMA) Eksponensiële bewegende gemiddelde (EMA) Reëlmatige bewegende gemiddelde (SMMA) Lineêre Geweegde bewegende gemiddelde (LWMA) Berekening: Eenvoudige bewegende gemiddelde (SMA) Eenvoudige, met ander woorde, rekenkundige bewegende gemiddelde word bereken deur 'n opsomming van die pryse van sluiting instrument oor 'n sekere aantal enkele periodes (byvoorbeeld 12 uur). Hierdie waarde word dan gedeel deur die getal van sodanige tydperke. Waar: N is die aantal periodes berekening. Eksponensiële bewegende gemiddelde (EMA) eksponensieel stryk bewegende gemiddelde word bereken deur die bewegende gemiddelde van 'n sekere deel van die huidige sluitingsprys op die vorige waarde. Met eksponensieel stryk bewegende gemiddeldes, die jongste pryse is meer werd. P-persent eksponensiële bewegende gemiddelde sal lyk: Waar: BESLOTE (i) die prys van die huidige tydperk sluiting EMO (i-1) eksponensieel bewegende gemiddelde van die vorige tydperk sluiting P die persentasie van die gebruik van die prys waarde. Reëlmatige bewegende gemiddelde (SMMA) Die eerste waarde van hierdie stryk bewegende gemiddelde word bereken as die eenvoudige bewegende gemiddelde (SMA): Die tweede en daaropvolgende bewegende gemiddeldes word bereken volgens die formule: Waar: sum1 is die totale bedrag van die sluiting van pryse vir N tydperke PREVSUM is die reëlmatige som van die vorige bar SMMA1 is die reëlmatige bewegende gemiddelde van die eerste bar SMMA (i) is die reëlmatige bewegende gemiddelde van die huidige bar (behalwe vir die eerste een) sluit (i) is die huidige sluitingsprys N is die smoothing tydperk. Lineêre geweegde bewegende gemiddelde (LWMA) In die geval van geweegde bewegende gemiddelde, die jongste data is meer werd as meer vroeë data. Geweegde bewegende gemiddelde bereken word deur elkeen van die sluitingstyd pryse binne die oorweeg reeks, deur 'n sekere gewig koëffisiënt. Waar: som (i, N) is die totale bedrag van die gewig koëffisiënte. Bronkode Full MQL4 bron van Moving gemiddeldes is beskikbaar in die Kode Base: Moving Gemiddeldes Waarskuwing: Alle regte op hierdie materiaal word voorbehou deur MetaQuotes Software Corp. kopiëring of herdruk van hierdie materiaal in sy geheel of gedeeltelik is prohibited. The bewegende gemiddelde Kruis Expert adviseur die bewegende gemiddelde kruis is een van die gewildste basiese handel strategieë. Dit maak gebruik van twee of meer bewegende gemiddeldes van verskillende tydperke om die rigting van die tendens te bepaal. Wanneer die vinniger bewegende gemiddelde (s) is bo die stadiger bewegende gemiddelde (s), is 'n lang posisie oop, en omgekeerd vir 'n kort posisie. Die bewegende gemiddelde kruis blink tydens lang, volgehoue ​​tendense as 'n medium / lang afstand handel strategie. Strategieë wat gebaseer is op die bewegende gemiddelde kruis was nog altyd gereeld op versoek van ons kliënte, en dis hoekom ons bied die bewegende gemiddelde kruis deskundige adviseur. Jy kan nou koop hierdie gewilde deskundige adviseur vir meer as 50 af Voorheen 45, die luukse bewegende gemiddelde Kruis deskundige adviseur is nou net 19,95 Kenmerke Tot 3 bewegende gemiddelde Lines. Gebruik twee bewegende gemiddeldes, of voeg 'n derde te filter tendense langtermyn. Bewegende gemiddelde tipes. Eenvoudig. Eksponensiële. Reëlmatige of Lineêre Geweegde. Prys Data. Kies uit Close, Open, High, Low, mediaan, Tipiese of Geweegde Close. Verskuiwing. Skuif die bewegende gemiddelde lyne vorentoe of agtertoe. Veelvuldige Tydraamwerke. Elke bewegende gemiddelde kan ingestel word om enige term tydraamwerk. Money Management - Die lot grootte word outomaties bereken sodat die maksimum risiko per handel is beperk tot 'n persentasie van jou aandele. Sleep stop / gelykbreek Stop - die stop verlies as die handel beweeg in wins outomaties aan te pas. Minimum winsvlakke, stap sleep stop in inkremente en meer Daily Handel Timer - Beperk jou intraday handel met die ure wat die mark is die meeste aktief is. Jy kan opsioneel sluit alle oop bestellings aan die einde van die dag. Handleiding Orde beheer - Plaas handleiding bestellings op jou grafiek met 'n bepaalde handel kommentaar, en die MA Kruis EA sal die stop verlies Trail en die orde te sluit outomaties op 'n teenoorgestelde kruis. Begin maal per Bar of elke tik. Kies hoe dikwels om orde opening en sluiting voorwaardes na te gaan. Jy kan handel op elke tik, of net op die einde van elke staaf. Close Op Cross - Sluit die huidige posisie op 'n bewegende gemiddelde kruis in die teenoorgestelde rigting. As afgeskakel, bestellings sal net sluit op 'n stop verlies of met die hand. Robuuste. Volle fouthantering en kennisgewing, weer probeer op requotes, en nog baie meer. Ten volle versoenbaar met ECN en 5-syfer makelaars. Alert - Kies tussen klank waarskuwings, die ingeboude waarskuwing dialoog, e-pos kennisgewings of kennisgewings gestuur na jou smartphone. Jy kan die bewegende gemiddelde Kruis EA onmiddellik aan te koop vir net 19.95I is tans studeer hoe om die kode MQL4 al is nie 'n programmeerder. My doel is om 'n eenvoudige EA bou wat gebaseer is op crossover van 5 en 8 EMO instellings. Crossover om die onderstebo open koop posisies, terwyl die negatiewe kant sluit die koop posisies en open outomaties verkoop posisies. Dit moet in staat wees om ten minste 10 poste gelyktydig oopmaak. Neem wins, stop verlies, en verskeie posisies sal verstelbare wees. As iemand ondervinding met EAS het en het die tyd om hul kennis van dit deel, voel asseblief vry om te help om hierdie EA skep deur die toevoeging van 'n pos of persoonlike boodskappe vir my. Niemand het tyd vir hand hou. Hier is die boek en 'n paar Voorbeeld. Goeie Reading. I is nuut by die skryf van 'n kundige adviseur, en ek help met my doublecrossover eenvoudige bewegende gemiddelde deskundige adviseur nodig. My kode is baie basic. It verkoop / koop wanneer die kleiner bewegende gemiddelde beweeg onder / bo thegreater bewegende gemiddelde. Wat ek wil doen, is hierdie. 'N bestelling geplaas word wanneer die smallermoving gemiddelde kruise bo die groter bewegende gemiddelde, sodat die EAbuys. Wanneer die kleiner bewegende gemiddelde dan kruisies onder die greatermoving gemiddelde Ek wil daardie volgorde te verkoop. Dit is alles goed en Tegelykertyddoen wil ek na 'n ander / nuwe orde te koop / verkoop, afhangende onthe laaste bestelling te plaas. Ek dont wil om te wag vir die volgende crossover. So whenone orde is gesluit moet 'n ander een te plaas. Kry dit asseblief kan iemand help verander my bestaande kode Siende dat ek anewbie, kan iemand asseblief kommentaar op die kode wat geskryf is ek my huidige lêer aangeheg. Ek is nuut by die skryf van 'n kundige adviseur, en ek help met my dubbel crossover eenvoudige bewegende gemiddelde deskundige adviseur nodig. My kode is baie basies. Dit verkoop / koop wanneer die kleiner bewegende gemiddelde beweeg onder / bo die groter bewegende gemiddelde. Wat ek wil doen, is hierdie. 'N bestelling geplaas word wanneer die kleiner bewegende gemiddelde kruise bo die groter bewegende gemiddelde, sodat die EA koop. Wanneer die kleiner bewegende gemiddelde dan kruisies onder die groter bewegende gemiddelde Ek wil daardie volgorde te verkoop. Dit is alles goed en terselfdertyd wil ek na 'n ander / nuwe orde te koop / verkoop, afhangende van die laaste bestelling te plaas. Ek dont wil om te wag vir die volgende crossover. So wanneer 'n mens bevel is gesluit moet 'n ander een te plaas. Kry dit asseblief kan iemand help verander my bestaande kode Siende dat ek 'n newbie, kan iemand asseblief kommentaar op die kode wat geskryf is ek my huidige lêer aangeheg. Jou lêers word nie aangeheg. Kan jy probeer heg die mq4 lêer Net 'n kant opmerking dat die kruise Mas is nie die beste tyd om te koop / verkoop. Teen die tyd dat die kruise gebeur, die verandering van rigting is reeds goed aan die gang, so die koop / verkoop kan 'n bietjie laat wees. Die MACD wat die gaping verskille spore tussen 2 MA is 'n beter aanduiding van verandering van rigting. Die histogram volg die rigting, die sein lyn dui aan of die rigting is op of af. Dis die teorie in elk geval. So jy dink ek moet die 2 MA crossover krap en skryf 'n nuwe deskundige stelsel met 'n MACD Het jy dalk het 'n werkende voorbeeld hiervan met jou tevrede te stel is my 2 SMA crossover hier: Int Gekruis (dubbel regel1, dubbel regel2) statiese int lastdirection 0 statiese int currentdirction 0 indien (regel1 GT regel2) currentdirction 1 // up as (regel1 Dit regel2) currentdirction 2 // af int tel, kaartjie, totale dubbel shortSma, longSma as (Drinkplekke Dit 100) Print (quotbars minder as 100quot) terugkeer (0) indien (TakeProfit Dit 10) Print (quotTakeProfit minder as 10quot) terugkeer (0) // kyk TakeProfit shortSma IMA (nul, 0, 5, 0, MODESMA, PRICECLOSE, 0) longSma IMA (nul, 0, 50 , 0, MODESMA, PRICECLOSE, 0) Int isCrossed Gekruis (shortSma, longSma) indien (totale Dit 1) indien (isCrossed 1) kaartjie OrderSend (simbool (), OPBUY, Baie, Vra, 3, 0, (Vra TakeProfit Point) , quotDouble SMA Crossover H1quot, 12345, 0, Blue) indien (kaartjie GT 0) indien (OrderSelect (kaartjie, SELECTBYTICKET, MODETRADES)) Print (quotBUY orde geopen. quot, OrderOpenPrice ()) anders Print (quotError opening KOOP orde. quot, GetLastError ()) terugkeer (0) indien (isCrossed 2) kaartjie OrderSend (simbool (), OPSELL, Baie, Bid, 3, 0, (bod - TakeProfit Point), quotDouble SMA Crossover H1quot, 12345, 0, Rooi) As (kaartjie GT 0) indien (OrderSelect (kaartjie, SELECTBYTICKET, MODETRADES)) Print (quotSELL orde geopen. quot, OrderOpenPrice ()) anders Print (quotError opening VERKOOP orde. quot, GetLastError ()) terugkeer (0) terugkeer (0 ) vir (tel 0 tel LT totale tel) OrderSelect (tel, SELECTBYPOS, MODETRADES) indien (OrderType () dit OPSELL ampamp OrderSymbol () simbool ()) if (OrderType () OPBUY) // lang posisie is oop // moet dit gesluit wees as (isCrossed 2) OrderClose (OrderTicket (), OrderLots (), Bid, 3, Violet) // naby posisie terugkeer (0) // uitgang // kyk vir sleep stop as (TrailingStop GT 0) indien ((Bid - OrderOpenPrice ()) GT (Point TrailingStop)) if (OrderStopLoss () LT (Bid - Punt TrailingStop)) OrderModify (OrderTicket (), OrderOpenPrice (), (bod - Punt TrailingStop), OrderTakeProfit (), 0, Green) terugkeer (0) anders // gaan na kort posisie // moet dit gesluit as (isCrossed 1) OrderClose (OrderTicket (), OrderLots (), Vra, 3, Violet) // naby posisie terugkeer (0) // uitgang // kyk vir sleep stop as (TrailingStop GT 0) indien ((OrderOpenPrice () - Vra) GT (Point TrailingStop)) if ((OrderStopLoss () gt (Vra Point TrailingStop)) (OrderStopLoss () 0)) OrderModify (OrderTicket () , OrderOpenPrice (), (Vra Point TrailingStop), OrderTakeProfit (), 0, Rooi) terugkeer (0) So jy dink ek moet die 2 MA crossover krap en skryf 'n nuwe deskundige stelsel met 'n MACD het jy dalk het 'n werkende voorbeeld van hierdie met julle hier is my 2 SMA crossover: Int Gekruis (dubbel regel1, dubbel regel2) statiese int lastdirection 0 statiese int currentdirction 0 indien (regel1 GT regel2) currentdirction 1 // up as (regel1 dit regel2) currentdirction 2 // af int tel, kaartjie, totale dubbel shortSma, longSma as (Drinkplekke Dit 100) Print (quotbars minder as 100quot) terugkeer (0) indien (TakeProfit Dit 10) Print (quotTakeProfit minder as 10quot) terugkeer (0) // kyk TakeProfit shortSma IMA (nul, 0, 5, 0, MODESMA, PRICECLOSE, 0) longSma IMA (nul, 0, 50, 0, MODESMA, PRICECLOSE, 0) Int isCrossed Gekruis (shortSma, longSma) indien (totale Dit 1) indien (isCrossed 1 ) kaartjie OrderSend (simbool (), OPBUY, Baie, Vra, 3, 0, (Vra TakeProfit Point), quotDouble SMA Crossover H1quot, 12345, 0, Blue) indien (kaartjie GT 0) indien (OrderSelect (kaartjie, SELECTBYTICKET, MODETRADES )) Print (quotBUY orde geopen. quot, OrderOpenPrice ()) anders Print (quotError opening KOOP orde quot, GetLastError (.)) terugkeer (0) indien (isCrossed 2) kaartjie OrderSend (simbool (), OPSELL, Baie, Bid, 3, 0, (bod - TakeProfit punt), quotDouble SMA Crossover H1quot, 12345, 0, Rooi) indien (kaartjie GT 0) indien (OrderSelect (kaartjie, SELECTBYTICKET, MODETRADES)) Print (quotSELL orde geopen. quot, OrderOpenPrice ()) anders Print (quotError opening VERKOOP orde . quot, GetLastError ()) terugkeer (0) terugkeer (0) vir (tel 0 tel LT totale tel) OrderSelect (tel, SELECTBYPOS, MODETRADES) indien (OrderType () Dit OPSELL ampamp OrderSymbol () simbool ()) if (OrderType () OPBUY) // lang posisie is oop // moet dit gesluit as (isCrossed 2) OrderClose (OrderTicket (), OrderLots (), Bid, 3, Violet) // naby posisie terugkeer (0) // uitgang // kyk vir sleep stop as (TrailingStop GT 0) indien ((Bid - OrderOpenPrice ()) GT (Point TrailingStop)) if (OrderStopLoss () LT (Bid - Punt TrailingStop)) OrderModify (OrderTicket (), OrderOpenPrice (), (bod - Punt TrailingStop), OrderTakeProfit (), 0, Green) terugkeer (0) anders // gaan na kort posisie // moet dit gesluit as (isCrossed 1) OrderClose (OrderTicket (), OrderLots (), Vra, 3, Violet ) // naby posisie terugkeer (0) // uitgang // kyk vir sleep stop as (TrailingStop GT 0) indien ((OrderOpenPrice () - Vra) GT (Point TrailingStop)) if ((OrderStopLoss () gt (Vra Point TrailingStop )) (OrderStopLoss () 0)) OrderModify (OrderTicket (), OrderOpenPrice (), (Vra Point TrailingStop), OrderTakeProfit (), 0, Rooi) terugkeer (0)

No comments:

Post a Comment