Thursday, October 27, 2016

Eksponensiële Bewegende Gemiddelde Vba-Kode

Rolling Gemiddeld tabel sal ons kyk na 'n program in Excel VBA dat 'n rollende gemiddelde tafel skep. Plaas 'n opdrag knoppie op jou werkblad en voeg die die volgende kode reël: Range (quotB3quot).Value WorksheetFunction. RandBetween (0, 100) Hierdie kode lyn gaan 'n ewekansige getal tussen 0 en 100 in sel B3. Ons wil Excel VBA om die nuwe voorraad waarde te neem en plaas dit op die eerste posisie van die rollende gemiddelde tafel. Alle ander waardes moet afbeweeg een plek en die laaste waarde moet verwyder word. Skep 'n Werkkaart Verandering gebeurtenis. Kode by die Werkblad Verandering Event sal uitgevoer word deur Excel VBA wanneer jy 'n sel te verander op 'n werkblad. 2. Klik op Sheet1 (Sheet1) in die projek Explorer. 3. Kies Werkvel uit die drop-down list links. Kies Verandering van die reg drop-down list. Voeg die volgende kode lyne om die Werkblad Verandering Event: 4. Verklaar 'n veranderlike genoem newvalue van tipe Integer en twee reekse (firstfourvalues ​​en lastfourvalues). Dowwe newvalue As Integer. firstfourvalues ​​Soos Range, lastfourvalues ​​Soos Range 5. Die Werkkaart Verandering Event luister na al die veranderinge op Sheet1. Ons wil net Excel VBA om iets te doen as iets verander in sel B3. Om dit te bereik, voeg die volgende kode reël: As Target. Address quotB3quot Toe 6. Ons inisialiseer newvalue met die waarde van sel B3, firstfourvalues ​​met Range (quotD3: D6quot) en lastfourvalues ​​met Range (quotD4: D7quot). newvalue Range (quotB3quot).Value Stel firstfourvalues ​​Range (quotD3: D6quot) Stel lastfourvalues ​​Range (quotD4: D7quot) 7. Nou kom die eenvoudige truuk. Ons wil hê dat die rollende gemiddelde tafel te werk. Jy kan dit doen deur die vervanging van die afgelope vier waardes met die eerste vier waardes van die tafel en die plasing van die nuwe voorraad waarde by die eerste posisie. lastfourvalues. Value firstfourvalues. Value Range (quotD3quot).Value newvalue 8. Moenie vergeet om die as verklaring af te sluit. 9. Ten slotte, gee die formule GEMIDDELDE (D3: D7) in sel D8. 10. Toets die program deur te kliek op die opdrag button. How om MACD Bereken in Excel Leer hoe om te bereken en plot MACD in Excel, en begin om beter handel besluite. Die bewegende gemiddelde Konvergensie divergensie (of MACD) aanwyser is 'n kragtige momentum gebaseer handel aanwyser. Hierdie artikel is die eerste van 'n twee-deel-reeks. Hierdie deel bied 'n stap-vir-stap gids tot die berekening van en kartering MACD in Excel. Die tweede deel ondersoek hoe die mark tegnici gebruik MACD om beter handel besluite te neem. 'N MACD grafiek bestaan ​​uit drie elemente. Die eerste is die verskil tussen die 12-dag en 26-dag eksponensiële bewegende gemiddelde (EMA) van die sluitingsprys dit is die MACD lyn. Die tweede is die EMO van die verskil is dit die sein lyn. Die derde is eenvoudig die MCAD minus die sein, en staan ​​bekend as die histogram. Die grafiek hieronder, byvoorbeeld, is die MACD en sein-lyn vir Apple tussen twee datums. A koopsein gegenereer wanneer 'n stygende MACD kruisies oor die die sein lyn (dit wil sê wanneer die histogram gaan van negatief na positief). A verkoop sein egter gegenereer wanneer 'n val MACD kruisies oor die sein lyn (dit wil sê wanneer die histogram gaan van positiewe negatiewe). Ander nuanses sal ondersoek word in die volgende artikel in hierdie reeks. Ontwikkel deur Gerald Appel in die 1970's, is MACD nou algemeen gebruik word deur handelaars te voorspel prystendense genereer en te genereer koop en verkoop seine. In die volgende stap-vir-stap gids, we8217ll bereken die MACD van Apple, gee jou al die gereedskap wat jy nodig het om die grafiek hierbo te herskep. Jy kan die volledige sigblad aan die onderkant van hierdie artikel af te laai. Stap 1: Kry historiese daaglikse naby pryse vir die uitgewerkte voorbeeld hieronder, gebruik ons ​​daaglikse naby pryse vir Apple (ENKELE: AAPL) van 19de Februarie 2013 om 22 Mei 2013 datums in Kolom A en pryse in kolom C. Stap 2. 12-dag EMO van die beslote pryse die eerste waarde is bloot 'n agterstand van 12 dae gemiddeld bereken met Excel8217s gEMIDDELDE () funksie. Alle ander waardes word deur hierdie formule. waar tydperk word 12, N verwys na vandag, en N-1 verwys na gister. In wese, today8217s EMO is 'n funksie van today8217s sluiting prys en yesterday8217s EMO. Die onderstaande Screengrab illustreer wat die sigblad moet lyk, en hoe die formules ingeskryf. Stap 3. 26-dag EMO van die beslote pryse weer, die eerste waarde is eenvoudig 'n gemiddeld van die afgelope 26 day8217s sluiting pryse, met al die ander waardes wat deur die bogenoemde formule (met die tydperk gelyk aan 26) Stap 4. Bereken die MACD die MACD is eenvoudig die 12 dag EMO minus die 26 dag EMO. Dit is 'n 9-dag EMO van die MACD. Die eerste waarde is bloot 'n 9-dag sleep gemiddelde. Alle ander waardes word gegee deur die vergelyking, waar die tydperk is 9. Jy het nou al die inligting wat jy nodig het met Excel8217s kartering gereedskap, kan jy nou die 12- en 26-dag EMO, MACD en sein data te stip. Jy kan cross-check die resultate teen diegene wat deur Yahoo Finansies beide hierdie sigblad en Yahoo Finansies moet dieselfde MACD gee. 9 gedagtes oor ldquo Hoe om MACD Bereken in Excel rdquo Uitstekende soek sigblad. Ek verwys ook jou ander werk om real time prys data te kry (My aansoek is forex) voortdurend opgedateer. My vraag is, nou hoe kan jy hierdie twee idees te kombineer sodat wanneer 'n nuwe prys punt bygevoeg / verander, dit outomaties bereken die nuutste MACD (en gepaardgaande EMA8217s) Hi Samir, baie dankie vir hierdie uitstekende sigblad. Ek sou graag wou tweede John8217s versoek 8211 al vir aandeelpryse en nie forex. Ty vooruit Ek het probeer met behulp van dieselfde spreadsheet teen live sluitingsprys data. Nadat die finale waardes van MACD en sein die resultate is anders as bereken deur Yahoo Finansies of môrester (quote. morningstar / Stock / chart. aspxtAAON) Byvoorbeeld vir 'n voorraad AAON en datum 5/20/15 by die gebruik van jou spreadsheet ons kry 'n MACD -0,111 en Signal -0,144 Met webwerwe soos Yahoo / môrester MACD -0,08 eN Signal -0,11 Ek kyk na die resultate teen Yahoo vir Microsoft, en dit doesn8217t grootgeword het. Hierdie sigblad en Yahoo is anders. Iets isn8217t reg. Hallo Samir dankie vir die deel van die inligting. I8217m nuuskierig nou as die formule vir die berekening van die weeklikse MACD. Ek het twee vrae wat ek dink. Wat is die formule vir die berekening van weeklikse pryse Is die bogenoemde formule wat geskik is vir die berekening van die weeklikse MACD I8217ve nie in staat is om 'n oplossing nog te vind en het gewonder of jy in staat is om te verduidelik was. Baie dankie by voorbaat. Laat 'n antwoord Kanselleer antwoord Soos die Vrystaat Spreadsheets Meester Knowledge Base Onlangse PostsHere is 'n kode wat nuttig vir diegene wat met behulp tegniese ontleding in die handel moet wees en wil strategieë te toets in Excel. Dit bere die eenvoudige, lineêr geweeg en eksponensiële bewegende gemiddelde. Verdere sal Ek aan te bied en te verduidelik die stappe vir die skep van die vorm en die VBA-kode. Voeg 'n UserForm 8211 Naam: MAForm Voeg vier etikette van die Gereedskap Beheer 8211-onderskrifte soos per bogenoemde print screen Voeg 'n ComboBox vir die bewegende gemiddelde tipe seleksie. Dit is vernoem comboTypeMA Voeg twee RefEdit kontroles vir die insette reeks en die uitset reeks. Voeg 'n teksboks vir selecing die bewegende gemiddelde tydperk Voeg twee knoppies: Naam: buttonSubmit, Onderskrif: Stuur en Naam: buttonCancel, Onderskrif: Die styl Ten einde die drop-down list vir MA tipe seleksie genereer en laai die gebruiker vorm, 'n nuwe module sal plaas met die onderstaande kode. Die ComboBox items met bevolk deur bewegende gemiddeldes tipes en die gebruiker vorm sal gelaai word nie. Opsie Explicit Sub loadMAForm () Met MAFormboTypeMA. RowSource. AddItem Eenvoudige. AddItem Geweegde. AddItem Eksponensiële eindig met MAForm. Show End Sub Hier is die kode toegeskryf word aan die stuur knoppie. Private Sub buttonSubmitClick () Dim inputRange, outputRange Soos Range Die inputRange sal die prys reeks gebruik word vir die berekening van die MA en die outputRange sal ingevul word met die bewegende gemiddeldes waardes bevat. Dowwe inputPeriod As Integer Die bewegende gemiddelde tydperk verklaar. Dowwe inputAddress, outputAddress As String Die toevoer en afvoer reekse verklaar as string. As comboTypeMA. Value ltgt eksponensiële en comboTypeMA. Value ltgt eenvoudig en comboTypeMA. Value ltgt Geweegde Ware Dan MsgBox Kies 'n bewegende gemiddelde tipe uit die lys. RefInputRange. SetFocus afrit Sub Hierdie deel van die proses dwing die eerste beperkings met betrekking tot die voorgelê data. As die bewegende gemiddelde tipe nie vervat is in die drop-down list, sal die prosedure nie gaan na die volgende stap en die gebruiker sal gevra word om dit weer te kies. Elseif RefInputRange. Value Dan MsgBox Kies die insette reeks. RefInputRange. SetFocus afrit Sub elseif RefOutputRange. Value Dan MsgBox Kies die uitset reeks. RefOutputRange. SetFocus afrit Sub elseif RefInputPeriod. Value Dan MsgBox Kies die bewegende gemiddelde tydperk. RefInputPeriod. SetFocus afrit Sub elseif Nie IsNumeric (RefInputPeriod. Value) Dan MsgBox Moving gemiddelde tydperk moet 'n getal wees. RefInputPeriod. SetFocus afrit Sub End Indien Ander beperkings geskep. Die insette reeks, uitset reeks en insette tydperk moet nie leeg wees. Verder moet die bewegende gemiddelde tydperk 'n aantal wees. inputAddress RefInputRange. Value Stel inputRange Range (inputAddress) outputAddress RefOutputRange. Value Stel outputRange Range (outputAddress) inputPeriod RefInputPeriod. Value Die argumente vir inputRange en outputRange wissel sal wees inputAddress en outputAddress verklaar as snare. As inputRange. Columns. Count ltgt 1 Toe MsgBox kan Inset reeks net een kolom hê. RefInputRange. SetFocus afrit Sub Die inputRange moet net een kolom bevat. Elseif inputRange. Rows. Count ltgt outputRange. Rows. Count Dan MsgBox Uitgawe reeks het 'n verskillende aantal rye as die insette reeks. RefInputRange. SetFocus afrit Sub Einde As Die inputRange en outputRange moet 'n gelyke aantal rye. Dowwe RowCount As Integer RowCount inputRange. Rows. Count Dim Kraai Soos Integer ReDim inputarray (1 tot RowCount) Vir Kraai 1 Om RowCount inputarray (Kraai) inputRange. Cells (Kraai, 1).Value Volgende Kraai inputarray verklaar as skikking en it8217s elemente stem ooreen met die waardes van elke ry van die insette reeks. As inputPeriod GT RowCount Dan MsgBox aantal uitgesoekte waarnemings is amp RowCount amp en die tydperk is amp inputPeriod amp. Die insette reeks moet 'n hoër of gelyke hoeveelheid elemente as die gekose periode nie. RefInputRange. SetFocus afrit Sub Einde As 'n ander beperking bygevoeg 8211 moet die insette reeks 'n hoër of gelyke hoeveelheid elemente as die tydperk het. As inputPeriod Dit 0 Toe MsgBox Moving gemiddelde tydperk moet hoër as 0. RefInputPeriod. SetFocus afrit Sub End wees as die bewegende gemiddelde tydperk hoër as nul moet wees. ReDim outputarray (inputPeriod Om RowCount) Soos Variant Ook die skikking dimensies van outputarray bepaal. Die ondergrens van die skikking is die inputPeriod waarde en die bogrens is die waarde van RowCount (die aantal elemente in die inputRange). Onder deel van die prosedure bereken die eenvoudige bewegende gemiddelde, as die keuse vir comboTypeMA is eenvoudig. SMA ----------------------------------------- As comboTypeMA. Value Eenvoudige Dim Ek het toe , J As Integer Dim temp Soos Double want ek inputPeriod Om RowCount temp 0 Vir j (i - (inputPeriod - 1)) Om ek temp temp inputarray (J) langs j outputarray (i) temp / inputPeriod outputRange. Cells (i, 1 ).Value outputarray (i) Volgende i outputRange. Cells (0, 1).Value SMA (amp inputPeriod amp) Eintlik is die proses bere die bewegende gemiddelde van die laaste x getalle (x gelyk aan die inputPeriod), wat begin met die element van die inputarray gelyk aan die inputPeriod. Hier is 'n vereenvoudigde voorbeeld, wat elke stap van die proses toon. In hierdie voorbeeld is daar vier getalle (no01, no02, no03 en no04) van ry 1 tot Ry 4 en die bewegende gemiddelde tydperk is 3. Na elke nuwe bewegende gemiddelde bereken word, sal elke sel van die outputRange die waarde van die neem outputarray. En ná al die bewegende gemiddeldes bereken, in die sel hierbo outputRange n titel sal plaas met die bewegende gemiddelde tipe en tydperk. Dit volgende deel sal die eksponensiële bewegende gemiddelde bereken. EMO ------------------------------------------ elseif comboTypeMA. Value Eksponensiële Dim Toe Alpha Soos Double alfa 2 / (inputPeriod 1) Vir j 1 Om inputPeriod temp temp inputarray (J) langs j outputarray (inputPeriod) temp / inputPeriod eers die waarde van Alpha word bepaal. Want in die berekening, die waarde van die EMO is gebaseer op die vorige EMO, sal die eerste een die eenvoudige bewegende gemiddelde wees. Want ek inputPeriod 1 Om RowCount outputarray (i) outputarray (i - 1) alfa (inputarray (i) - outputarray (i - 1)) Volgende i Begin met die tweede bewegende gemiddelde, sal hulle bereken word op grond van die bogenoemde formule: die vorige EMO plus alfa vermenigvuldig met die verskil tussen die huidige getal van die inputarray en die vorige EMO waarde. Want ek inputPeriod Om RowCount outputRange. Cells (i, 1).Value outputarray (i) Volgende i outputRange. Cells (0, 1).Value EMO (amp inputPeriod amp) Net soos die kode vir SMA, die outputarray sal bevolk en die sel hierbo outputarray sal die tipe en tydperk van die bewegende gemiddelde verteenwoordig. Hier is die kode vir die berekening van die geweegde bewegende gemiddelde. WBG ------------------------------------------ elseif comboTypeMA. Value Geweegde Dan Dim temp2 As Integer want ek inputPeriod Om RowCount temp 0 temp2 0 Vir j (i - (inputPeriod - 1)) Om ek temp temp inputarray (j) (j - ek inputPeriod) temp2 temp2 (j - ek inputPeriod) Volgende j outputarray (i ) temp / temp2 outputRange. Cells (i, 1).Value outputarray (i) Volgende i outputRange. Cells (0, 1).Value WBG (amp inputPeriod amp) End As die tabel hieronder bevat die stappe vir die berekening van elke veranderlike wat gebruik word vir die WBG berekening. Net soos in die vorige voorbeeld, in hierdie een is daar vir getalle in die inputRange. en die insette tydperk is 3. Hier is die finale kode van die prosedure, wat die gebruiker vorm ontlaai. Los MAForm End Sub Die volgende prosedure is vir die styl knoppie. Dit sal in dieselfde module bygevoeg word. Private Sub buttonCancelClick () los MAForm End SubHow om EMO Bereken in Excel Leer hoe om die eksponensiële bewegende gemiddelde in Excel en VBA bereken, en kry 'n gratis web-verbind sigblad. Die sigblad gekry voorraad data van Yahoo Finansies, bereken EMO (oor jou gekose tyd venster) en intrige van die resultate. Die aflaai skakel is aan die onderkant. Die VBA kan besigtig word en geredigeer it8217s heeltemal gratis. Maar eers disover waarom EMO is belangrik om tegniese handelaars en markanaliste. Historiese aandele prys kaarte is dikwels besoedel met 'n baie hoë frekwensie geraas. Dit bedek dikwels groot tendense. Bewegende gemiddeldes te help gladde uit hierdie geringe fluktuasies, gee jou 'n groter insig in die algehele mark rigting. Die eksponensiële bewegende gemiddelde plekke groter belang op meer onlangse data. Hoe groter die tydperk, hoe laer is die belangrikheid van die mees onlangse data. EMO word gedefinieer deur die vergelyking. today8217s prys (vermenigvuldig met 'n gewig) en yesterday8217s EMO (vermenigvuldig met 1-gewig) Jy moet die EMO berekening met 'n aanvanklike EMO (EMO 0) kickstart. Dit is gewoonlik 'n eenvoudige bewegende gemiddelde lengte T. Die grafiek hierbo, byvoorbeeld, gee die EMO van Microsoft tussen 1 Januarie 2013 en 14 Januarie 2014 Tegniese handelaars dikwels die cross-over van twee bewegende gemiddeldes 8211 een gebruik met 'n kort tydskaal en 'n ander met 'n lang tydskaal 8211 tot koop / verkoop seine op te wek. Dikwels 12- en 26-dae - bewegende gemiddeldes gebruik. Wanneer die korter bewegende gemiddelde styg bo die meer bewegende gemiddelde, die mark is trending updwards dit is 'n koopsein. Maar wanneer die korter bewegende gemiddeldes val onder die lang bewegende gemiddelde, die mark val dit 'n sell sein. Let8217s eers leer hoe om EMO bereken met behulp van werkblad funksies. Daarna we8217ll ontdek hoe om VBA gebruik om EMO bereken (en outomaties plot kaarte) Bereken EMO in Excel met Werkkaart Funksies Stap 1. Let8217s sê dat ons wil hê dat die 12-dag EMO van Exxon Mobil8217s aandele prys te bereken. Eerstens moet ons historiese aandele pryse 8211 kry jy dat hierdie grootmaat voorraad kwotasie Downloader doen. Stap 2. Bereken die eenvoudige gemiddelde van die eerste 12 pryse met Excel8217s Gemiddeld () funksie. In die onderstaande Screengrab, in sel C16 het ons die formule GEMIDDELDE (B5: B16) waar B5: B16 bevat die eerste 12 naby pryse Stap 3. Net onder die sel wat in Stap 2, tik die EMO formule hierbo Daar het jy dit You8217ve suksesvol bereken 'n belangrike tegniese aanwyser, EMO, in 'n sigblad. Bereken EMO met VBA Nou let8217s meganiseer die berekeninge met VBA, insluitend die outomatiese skepping van erwe. Ek won8217t jou die volle VBA hier (it8217s beskikbaar in die onderstaande sigblad), maar we8217ll die mees kritieke kode bespreek. Stap 1. Aflaai historiese voorraadkwotasies vir jou ENKELE van Yahoo Finansies (met behulp van CSV lêers), en laai dit in Excel of die VBA gebruik in hierdie sigblad om historiese kwotasies te kry reguit in Excel. Stap 2: Jou data kan soos volg lyk. Dit is hier waar ons nodig het om 'n paar braincells 8211 wat ons nodig het om die EMO vergelyking in VBA implementeer oefen. Ons kan R1C1 styl gebruik om programatically betree formules in individuele selle. Ondersoek die kode hieronder snippet. EMAWindow is 'n veranderlike wat die vereiste tyd venster numRows gelyk is die totale aantal datapunte 1 (die 8220 18221 is omdat we8217re die veronderstelling dat die werklike voorraad data begin ry 2) die EMO word bereken in kolom H veronderstelling dat EMAWindow 5 en numrows 100 (dit wil sê, daar is 99 datapunte) die eerste reël plaas 'n formule in sel H6 dat die rekenkundige gemiddelde van die eerste 5 historiese data punte die tweede reël plaas formules in selle H7 bereken: H100 dat die EMO van bereken die oorblywende 95 datapunte Stap 3 Hierdie VBA funksie skep 'n plot van die beslote prys en EMO. Groot taak op kaarte en verduidelikings. Ek het 'n vraag though. As ek die begindatum tot 'n jaar later verander en kyk na onlangse EMO data, is dit opvallend anders as wanneer ek gebruik dieselfde EMO tydperk met 'n vroeëre aanvang van die datum vir dieselfde onlangse datum verwysing. Is dit wat jy verwag. Dit maak dit moeilik om te kyk na gepubliseerde kaarte met EMA getoon en dieselfde grafiek nie sien nie. Shivashish Sarkar sê: Hi, ek gebruik jou EMO sakrekenaar en ek dit baie waardeer. Ek het egter opgemerk dat die sakrekenaar is nie in staat om die grafieke te plot vir alle maatskappye (dit wys Run tyd fout 1004). Kan jy asseblief skep 'n updated weergawe van jou sakrekenaar waarin nuwe maatskappye sal ingesluit Laat 'n antwoord Kanselleer antwoord Soos die Vrystaat Spreadsheets Meester Knowledge Base Onlangse PostsIm besig met 'n funksie om 'n eksponensiële gemiddelde opbrengs en daar is 'n baie voorbeelde van eksponensiële bewegende gemiddeldes, maar hulle het almal begin met 'n bewegende gemiddelde dit is net die gemiddelde as 'n voorsprong in die berekening van die voortsetting van bewegende gemiddelde. Ek benodig net 'n eksponensiële gemiddeld van 'n waarde stel. Na Googlen my Bing af Ek havent nog gesien iets so hier is my poging om 'n basiese eksponensiële gemiddelde. Is dit korrek Is daar enige foute Ek het 'n paar teks oor die byvoeging van 'n glad waarde aan die kromme van die eksponensiële gemiddelde verander, maar nie hoe dit geïmplementeer sal word gesien. Openbare Klas Form1 Private Sub Button1Click (ByVal sender Soos System. Object, ByVal e Soos System. EventArgs) Hanteer Button1.Click Dim TestList ReturnListOfValues ​​() Dim LogAccum Soos Double 0 Dim ValueAccum Soos Double 0 Dim tel as Double 0 Dim LogValue Soos Double 0 vir elke ItemValue Soos Double In TestList LogValue 1 Math. Log10 (telling 1) ValueAccum ValueAccum (LogValue ItemValue) LogAccum LogAccum LogValue Telling 1 Volgende Dim EMO Soos Double Math. Round (ValueAccum / LogAccum, 2) Console. WriteLine (quotEMA quot amp EMO. ToString) openbare funksie verrig ReturnListOfValues ​​() Soos Lys (dubbele) Dim TestList Soos New List (dubbele) TestList. Add (10) TestList. Add (20) TestList. Add (30) TestList. Add (40) TestList. Add (50) TestList. Add (60) TestList. Add (70) TestList. Add (80) TestList. Add (90) TestList. Add (100) End Function End Klas John Anthony Oliver, kan hy verwys na 'n komiese karakter wat was gewild baie jare gelede wat soort sal uitvoer belaglik stunts. op 'n motorfiets ek glo. Hy was amper soos die komiese bose kinevel. Ek dink dis hoe jy spel kinevel. Gratis ontwikkelaar gereedskap, KODE amp projekte by www. srsoft. us databasis Kode Generator en handleiding Hi Jeff, en. wikipedia. org/wiki/ EvilKnievel lees dan die afdeling oor parodieë naby die onderkant. Super Dave Osborne genoem moes ek een van daardie EvilKnieval speelgoed toe ek 'n kind was ook. gtgt Die wind-up bietjie met die fiets en figuur van die bose KNIEVAL soos in hierdie video. gtgt ek wasnt dink van hierdie David Osborne either. gtgt of hierdie one. gtgt of die een wat jy noem. Ek het gedink van 'n mnr Osborne wat ek dink was 'n gereelde bydraer tot DRAGON GEBRUIKER tydskrif in die 1980's is dit dalk of dalk nie ADAM OSBORNE was van die uitgewer


No comments:

Post a Comment