diff --git a/.github/build.main.yml b/.github/build.main.yml index d7d5a2c4..15e774b4 100644 --- a/.github/build.main.yml +++ b/.github/build.main.yml @@ -1,11 +1,9 @@ # MAIN BUILD trigger: - main - - V0.8 pr: - main - - V0.8 jobs: - job: Build @@ -27,7 +25,7 @@ jobs: - task: UsePythonVersion@0 inputs: versionSpec: "$(PythonVersion)" - + - task: gitversion/setup@0 displayName: Use GitVersion inputs: @@ -38,7 +36,7 @@ jobs: inputs: useConfigFile: true configFilePath: 'gitversion.yml' - + - powershell: | echo "Current version: $(GitVersion.SemVer)" displayName: Shows GitVersion diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d5c7bb4e..c2125e56 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,8 +4,8 @@ updates: - package-ecosystem: "pip" directory: "/" schedule: - interval: "weekly" + interval: "monthly" - package-ecosystem: "bundler" directory: "/" schedule: - interval: "weekly" + interval: "monthly" diff --git a/.github/workflows/a11y.yml b/.github/workflows/a11y.yml new file mode 100644 index 00000000..dadbb0d0 --- /dev/null +++ b/.github/workflows/a11y.yml @@ -0,0 +1,50 @@ +name: test docs +on: + pull_request: + branches: [main] + +jobs: + testing: + name: a11y + runs-on: ubuntu-latest + + steps: + - name: Checkout source + uses: actions/checkout@v2 + + - name: Install Node + uses: actions/setup-node@v2 + with: + node-version: '16' + + - name: Install Ruby + uses: ruby/setup-ruby@v1 + with: + working-directory: docs + ruby-version: 2.7.0 + bundler-cache: true + + - name: Install GEMs + working-directory: docs + run: | + pwd + BUNDLE_GEMFILE="${{github.workspace}}/docs/GemFile" bundle install + + - name: Build site + working-directory: docs + run: BUNDLE_GEMFILE="${{github.workspace}}/docs/GemFile" bundle exec jekyll build + + - name: Serve site + working-directory: docs + run: BUNDLE_GEMFILE="${{github.workspace}}/docs/GemFile" bundle exec jekyll serve --detach + + - name: Show environment + working-directory: docs + run: npx pa11y --environment + + - name: Test accessibility + working-directory: docs + run: | + npx pa11y-ci \ + --sitemap http://127.0.0.1:4000/sitemap.xml \ + --sitemap-exclude "/*.pdf" diff --git a/.github/workflows/issues.yml b/.github/workflows/issues.yml deleted file mode 100644 index 54e43da3..00000000 --- a/.github/workflows/issues.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: project -on: [issues] -jobs: - github-actions-automate-projects: - runs-on: ubuntu-latest - steps: - - name: add Issue - uses: docker://takanabe/github-actions-automate-projects:v0.0.1 - if: github.event_name == 'issues' && github.event.action == 'opened' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_PROJECT_URL: https://github.com/DaveSkender/Stock.Indicators.Python/projects/1 - GITHUB_PROJECT_COLUMN_NAME: To do diff --git a/.github/workflows/test.yml b/.github/workflows/links.yml similarity index 72% rename from .github/workflows/test.yml rename to .github/workflows/links.yml index d249e0d6..64e0f649 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/links.yml @@ -1,11 +1,11 @@ -name: test doc site +name: test docs on: pull_request: branches: [main] jobs: testing: - name: a11y and URLs + name: URLs runs-on: ubuntu-latest steps: @@ -15,7 +15,7 @@ jobs: - name: Install Node uses: actions/setup-node@v2 with: - node-version: "16" + node-version: '16' - name: Install Ruby uses: ruby/setup-ruby@v1 @@ -41,15 +41,8 @@ jobs: - name: Test for broken URLs working-directory: docs run: | - BUNDLE_GEMFILE="${{github.workspace}}/docs/GemFile" bundle exec htmlproofer \ + BUNDLE_GEMFILE="${{github.workspace}}/docs/GemFile" bundle exec htmlproofer _site \ --assume-extension \ --http-status-ignore "403,406,429,503,999" \ - --url-swap "https\://daveskender.github.io/Stock.Indicators.Python:http\://127.0.0.1:4000" \ - _site - - - name: Test accessibility - working-directory: docs - run: | - npx pa11y-ci \ - --sitemap http://127.0.0.1:4000/sitemap.xml \ - --sitemap-exclude "/*.pdf" + --url-swap "https\://dotnet.stockindicators.dev:http\://127.0.0.1:4000" \ + --url-ignore "/fonts.gstatic.com/" diff --git a/README.md b/README.md index 6ac1f772..fb5b6758 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ [![PyPI](https://img.shields.io/pypi/v/stock-indicators?color=blue&label=PyPI)](https://badge.fury.io/py/stock-indicators) [![code coverage](https://img.shields.io/azure-devops/coverage/skender/stock.indicators/26/main?logo=AzureDevOps&label=Test%20Coverage)](https://dev.azure.com/skender/Stock.Indicators/_build/latest?definitionId=26&branchName=main&view=codecoverage-tab) -[![Language grade](https://img.shields.io/lgtm/grade/python/g/DaveSkender/Stock.Indicators.Python.svg?logo=lgtm&logoWidth=18&label=code%20quality)](https://lgtm.com/projects/g/DaveSkender/Stock.Indicators.Python) # Stock Indicators for Python diff --git a/docs/GemFile b/docs/GemFile index 096bfe41..45499911 100644 --- a/docs/GemFile +++ b/docs/GemFile @@ -1,7 +1,8 @@ source 'https://rubygems.org' -# windows compatibilty pack -gem 'wdm', '>= 0.1.1' if Gem.win_platform? +gem 'eventmachine', '1.2.7', git: 'https://github.com/eventmachine/eventmachine', tag: 'v1.2.7' +gem 'wdm', '>= 0.1.1' if Gem.win_platform? # windows compatibilty pack +gem 'faraday-retry' # jekyll plugins # local dev: bundle exec jekyll serve @@ -16,4 +17,4 @@ end # validate URLs with: # bundle exec htmlproofer --http-status-ignore '999' _site; -gem "html-proofer", "~> 3.19" +gem "html-proofer", "~> 3.19.3" diff --git a/docs/GemFile.lock b/docs/GemFile.lock index 952a5cad..8d4eaac9 100644 --- a/docs/GemFile.lock +++ b/docs/GemFile.lock @@ -1,3 +1,10 @@ +GIT + remote: https://github.com/eventmachine/eventmachine + revision: 9cb13a8a62363df5ebcc414169a3deb2c1608528 + tag: v1.2.7 + specs: + eventmachine (1.2.7) + GEM remote: https://rubygems.org/ specs: @@ -23,14 +30,13 @@ GEM http_parser.rb (~> 0) ethon (0.16.0) ffi (>= 1.15.0) - eventmachine (1.2.7) - eventmachine (1.2.7-x64-mingw32) execjs (2.8.1) - faraday (2.6.0) + faraday (2.7.2) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) - ffi (1.15.5) + faraday-retry (2.0.0) + faraday (~> 2.0) ffi (1.15.5-x64-mingw32) forwardable-extended (2.6.0) gemoji (3.0.1) @@ -224,11 +230,7 @@ GEM jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) minitest (5.16.3) - nokogiri (1.13.9-arm64-darwin) - racc (~> 1.4) - nokogiri (1.13.9-x64-mingw32) - racc (~> 1.4) - nokogiri (1.13.9-x86_64-darwin) + nokogiri (1.13.10-x64-mingw32) racc (~> 1.4) octokit (4.25.1) faraday (>= 1, < 3) @@ -238,7 +240,7 @@ GEM forwardable-extended (~> 2.6) posix-spawn (0.3.15) public_suffix (4.0.7) - racc (1.6.0) + racc (1.6.2) rainbow (3.1.1) rb-fsevent (0.11.2) rb-inotify (0.10.1) @@ -267,7 +269,6 @@ GEM thread_safe (~> 0.1) unf (0.1.4) unf_ext - unf_ext (0.0.8.2) unf_ext (0.0.8.2-x64-mingw32) unicode-display_width (1.8.0) wdm (0.1.1) @@ -275,12 +276,13 @@ GEM zeitwerk (2.6.6) PLATFORMS - universal-darwin-21 x64-mingw32 DEPENDENCIES + eventmachine (= 1.2.7)! + faraday-retry github-pages - html-proofer (~> 3.19) + html-proofer (~> 3.19.3) jekyll-last-modified-at jekyll-redirect-from jekyll-remote-theme @@ -289,4 +291,4 @@ DEPENDENCIES wdm (>= 0.1.1) BUNDLED WITH - 2.3.22 + 2.2.32 diff --git a/docs/README.md b/docs/README.md index 744686fd..55907f06 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,7 +2,6 @@ [![PyPI](https://img.shields.io/pypi/v/stock-indicators?color=blue&label=PyPI)](https://badge.fury.io/py/stock-indicators) [![code coverage](https://img.shields.io/azure-devops/coverage/skender/stock.indicators/26/main?logo=AzureDevOps&label=Test%20Coverage)](https://dev.azure.com/skender/Stock.Indicators/_build/latest?definitionId=26&branchName=main&view=codecoverage-tab) -[![Language grade](https://img.shields.io/lgtm/grade/python/g/DaveSkender/Stock.Indicators.Python.svg?logo=lgtm&logoWidth=18&label=code%20quality)](https://lgtm.com/projects/g/DaveSkender/Stock.Indicators.Python) **Stock Indicators for Python** is a library that produces financial market technical indicators. Send in historical price quotes and get back desired indicators such as moving averages, Relative Strength Index, Stochastic Oscillator, Parabolic SAR, etc. Nothing more. diff --git a/docs/_indicators/Adl.md b/docs/_indicators/Adl.md index 47a69422..60d7f10a 100644 --- a/docs/_indicators/Adl.md +++ b/docs/_indicators/Adl.md @@ -76,5 +76,5 @@ Created by Marc Chaikin, the [Accumulation/Distribution Line/Index](https://en.w ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Adl/Adl.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Adl/Adl.Series.cs) - [Python wrapper]({{site.sourceurl}}/adl.py) diff --git a/docs/_indicators/Adx.md b/docs/_indicators/Adx.md index 6ae45c5f..6a4b11f1 100644 --- a/docs/_indicators/Adx.md +++ b/docs/_indicators/Adx.md @@ -77,5 +77,5 @@ Created by J. Welles Wilder, the [Average Directional Movement Index](https://en ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Adx/Adx.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Adx/Adx.Series.cs) - [Python wrapper]({{site.sourceurl}}/adx.py) diff --git a/docs/_indicators/Alligator.md b/docs/_indicators/Alligator.md index 9eb4b299..9f50db7d 100644 --- a/docs/_indicators/Alligator.md +++ b/docs/_indicators/Alligator.md @@ -81,5 +81,5 @@ Created by Bill Williams, Alligator is a depiction of three smoothed moving aver ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Alligator/Alligator.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Alligator/Alligator.Series.cs) - [Python wrapper]({{site.sourceurl}}/alligator.py) diff --git a/docs/_indicators/Alma.md b/docs/_indicators/Alma.md index 9d30f5c9..d421558d 100644 --- a/docs/_indicators/Alma.md +++ b/docs/_indicators/Alma.md @@ -74,5 +74,5 @@ Created by Arnaud Legoux and Dimitrios Kouzis-Loukas, [ALMA]({{site.github.base_ #### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Alma/Alma.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Alma/Alma.Series.cs) - [Python wrapper]({{site.sourceurl}}/alma.py) diff --git a/docs/_indicators/Aroon.md b/docs/_indicators/Aroon.md index 3e5a90b3..9e9c9296 100644 --- a/docs/_indicators/Aroon.md +++ b/docs/_indicators/Aroon.md @@ -73,5 +73,5 @@ Created by Tushar Chande, [Aroon](https://school.stockcharts.com/doku.php?id=tec ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Aroon/Aroon.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Aroon/Aroon.Series.cs) - [Python wrapper]({{site.sourceurl}}/aroon.py) diff --git a/docs/_indicators/Atr.md b/docs/_indicators/Atr.md index c17bfd3a..8d10ef9e 100644 --- a/docs/_indicators/Atr.md +++ b/docs/_indicators/Atr.md @@ -76,5 +76,5 @@ Created by J. Welles Wilder, [Average True Range](https://en.wikipedia.org/wiki/ ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Atr/Atr.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Atr/Atr.Series.cs) - [Python wrapper]({{site.sourceurl}}/atr.py) diff --git a/docs/_indicators/Awesome.md b/docs/_indicators/Awesome.md index 8efa0783..61aa9442 100644 --- a/docs/_indicators/Awesome.md +++ b/docs/_indicators/Awesome.md @@ -75,5 +75,5 @@ Created by Bill Williams, the Awesome Oscillator (aka Super AO) is a measure of ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Awesome/Awesome.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Awesome/Awesome.Series.cs) - [Python wrapper]({{site.sourceurl}}/awesome.py) diff --git a/docs/_indicators/Beta.md b/docs/_indicators/Beta.md index 4743fda8..714e5e04 100644 --- a/docs/_indicators/Beta.md +++ b/docs/_indicators/Beta.md @@ -96,5 +96,5 @@ results = indicators.get_beta(history_SPX, history_TSLA, 20, BetaType.STANDARD) ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Beta/Beta.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Beta/Beta.Series.cs) - [Python wrapper]({{site.sourceurl}}/beta.py) diff --git a/docs/_indicators/BollingerBands.md b/docs/_indicators/BollingerBands.md index 803986d1..4ac407e2 100644 --- a/docs/_indicators/BollingerBands.md +++ b/docs/_indicators/BollingerBands.md @@ -78,5 +78,5 @@ Created by John Bollinger, [Bollinger Bands](https://en.wikipedia.org/wiki/Bolli ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/BollingerBands/BollingerBands.cs) +- [C# core]({{site.base_sourceurl}}/a-d/BollingerBands/BollingerBands.Series.cs) - [Python wrapper]({{site.sourceurl}}/bollinger_bands.py) diff --git a/docs/_indicators/Bop.md b/docs/_indicators/Bop.md index cc2771b4..6e1912c7 100644 --- a/docs/_indicators/Bop.md +++ b/docs/_indicators/Bop.md @@ -73,5 +73,5 @@ Created by Igor Levshin, the [Balance of Power](https://school.stockcharts.com/d ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Bop/Bop.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Bop/Bop.Series.cs) - [Python wrapper]({{site.sourceurl}}/bop.py) diff --git a/docs/_indicators/Cci.md b/docs/_indicators/Cci.md index ca9a08f7..766521a9 100644 --- a/docs/_indicators/Cci.md +++ b/docs/_indicators/Cci.md @@ -72,5 +72,5 @@ Created by Donald Lambert, the [Commodity Channel Index](https://en.wikipedia.or ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Cci/Cci.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Cci/Cci.Series.cs) - [Python wrapper]({{site.sourceurl}}/cci.py) diff --git a/docs/_indicators/ChaikinOsc.md b/docs/_indicators/ChaikinOsc.md index 2634d02a..c03d929c 100644 --- a/docs/_indicators/ChaikinOsc.md +++ b/docs/_indicators/ChaikinOsc.md @@ -80,5 +80,5 @@ Created by Marc Chaikin, the [Chaikin Oscillator](https://en.wikipedia.org/wiki/ ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/ChaikinOsc/ChaikinOsc.cs) +- [C# core]({{site.base_sourceurl}}/a-d/ChaikinOsc/ChaikinOsc.Series.cs) - [Python wrapper]({{site.sourceurl}}/chaikin_oscillator.py) diff --git a/docs/_indicators/Chandelier.md b/docs/_indicators/Chandelier.md index 48277f58..0039d962 100644 --- a/docs/_indicators/Chandelier.md +++ b/docs/_indicators/Chandelier.md @@ -86,5 +86,5 @@ Created by Charles Le Beau, the [Chandelier Exit](https://school.stockcharts.com ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Chandelier/Chandelier.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Chandelier/Chandelier.Series.cs) - [Python wrapper]({{site.sourceurl}}/chandelier.py) diff --git a/docs/_indicators/Chop.md b/docs/_indicators/Chop.md index 069c4958..a3853df1 100644 --- a/docs/_indicators/Chop.md +++ b/docs/_indicators/Chop.md @@ -71,5 +71,5 @@ Created by E.W. Dreiss, the Choppiness Index measures the trendiness or choppine ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Chop/Chop.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Chop/Chop.Series.cs) - [Python wrapper]({{site.sourceurl}}/chop.py) diff --git a/docs/_indicators/Cmf.md b/docs/_indicators/Cmf.md index aa0a25d3..e300a4da 100644 --- a/docs/_indicators/Cmf.md +++ b/docs/_indicators/Cmf.md @@ -76,5 +76,5 @@ Created by Marc Chaikin, [Chaikin Money Flow](https://en.wikipedia.org/wiki/Chai ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Cmf/Cmf.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Cmf/Cmf.Series.cs) - [Python wrapper]({{site.sourceurl}}/cmf.py) diff --git a/docs/_indicators/ConnorsRsi.md b/docs/_indicators/ConnorsRsi.md index 970d7f8f..14a45539 100644 --- a/docs/_indicators/ConnorsRsi.md +++ b/docs/_indicators/ConnorsRsi.md @@ -79,5 +79,5 @@ Created by Laurence Connors, the [ConnorsRSI](https://alvarezquanttrading.com/wp ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/ConnorsRsi/ConnorsRsi.cs) +- [C# core]({{site.base_sourceurl}}/a-d/ConnorsRsi/ConnorsRsi.Series.cs) - [Python wrapper]({{site.sourceurl}}/connors_rsi.py) diff --git a/docs/_indicators/Correlation.md b/docs/_indicators/Correlation.md index ee367139..4e7f83e7 100644 --- a/docs/_indicators/Correlation.md +++ b/docs/_indicators/Correlation.md @@ -79,5 +79,5 @@ results = indicators.get_correlation(quotes_spx, quotes_tsla, 20) ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Correlation/Correlation.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Correlation/Correlation.Series.cs) - [Python wrapper]({{site.sourceurl}}/correlation.py) diff --git a/docs/_indicators/Dema.md b/docs/_indicators/Dema.md index 8134e399..40d116a5 100644 --- a/docs/_indicators/Dema.md +++ b/docs/_indicators/Dema.md @@ -76,5 +76,5 @@ See related [EMA](../Ema#content) and [Triple EMA](../Tema#content). ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Dema/Dema.cs) -- [Python wrapper]({{site.sourceurl}}/double_ema.py) +- [C# core]({{site.base_sourceurl}}/a-d/Dema/Dema.Series.cs) +- [Python wrapper]({{site.sourceurl}}/dema.py) diff --git a/docs/_indicators/Doji.md b/docs/_indicators/Doji.md index 47b11807..270d432e 100644 --- a/docs/_indicators/Doji.md +++ b/docs/_indicators/Doji.md @@ -69,5 +69,5 @@ results = indicators.get_doji(quotes); ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Doji/Doji.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Doji/Doji.Series.cs) - [Python wrapper]({{site.sourceurl}}/doji.py) diff --git a/docs/_indicators/Donchian.md b/docs/_indicators/Donchian.md index c2fbd4d2..aa0d6847 100644 --- a/docs/_indicators/Donchian.md +++ b/docs/_indicators/Donchian.md @@ -76,5 +76,5 @@ Created by Richard Donchian, [Donchian Channels](https://en.wikipedia.org/wiki/D ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Donchian/Donchian.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Donchian/Donchian.Series.cs) - [Python wrapper]({{site.sourceurl}}/donchian.py) diff --git a/docs/_indicators/Dpo.md b/docs/_indicators/Dpo.md index 182581c5..a62f53ce 100644 --- a/docs/_indicators/Dpo.md +++ b/docs/_indicators/Dpo.md @@ -73,5 +73,5 @@ results = indicators.get_dpo(quotes, 14) ### Sources -- [C# core]({{site.base_sourceurl}}/a-d/Dpo/Dpo.cs) +- [C# core]({{site.base_sourceurl}}/a-d/Dpo/Dpo.Series.cs) - [Python wrapper]({{site.sourceurl}}/dpo.py) diff --git a/docs/_indicators/ElderRay.md b/docs/_indicators/ElderRay.md index e59f8618..b39a8bb4 100644 --- a/docs/_indicators/ElderRay.md +++ b/docs/_indicators/ElderRay.md @@ -77,5 +77,5 @@ Created by Alexander Elder, the [Elder-ray Index](https://www.investopedia.com/t ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/ElderRay/ElderRay.cs) +- [C# core]({{site.base_sourceurl}}/e-k/ElderRay/ElderRay.Series.cs) - [Python wrapper]({{site.sourceurl}}/elder_ray.py) diff --git a/docs/_indicators/Ema.md b/docs/_indicators/Ema.md index 53feecd7..89d8dfb0 100644 --- a/docs/_indicators/Ema.md +++ b/docs/_indicators/Ema.md @@ -80,5 +80,5 @@ See also related [Double EMA](../Dema#content) and [Triple EMA](../Tema#content) #### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Ema/Ema.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Ema/Ema.Series.cs) - [Python wrapper]({{site.sourceurl}}/ema.py) diff --git a/docs/_indicators/Epma.md b/docs/_indicators/Epma.md index 99dac51f..a06529fe 100644 --- a/docs/_indicators/Epma.md +++ b/docs/_indicators/Epma.md @@ -73,5 +73,5 @@ Endpoint Moving Average (EPMA), also known as Least Squares Moving Average (LSMA ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Epma/Epma.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Epma/Epma.Series.cs) - [Python wrapper]({{site.sourceurl}}/epma.py) diff --git a/docs/_indicators/Fcb.md b/docs/_indicators/Fcb.md index d4627262..e653bd20 100644 --- a/docs/_indicators/Fcb.md +++ b/docs/_indicators/Fcb.md @@ -75,5 +75,5 @@ Created by Edward William Dreiss, Fractal Chaos Bands outline high and low price ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Fcb/Fcb.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Fcb/Fcb.Series.cs) - [Python wrapper]({{site.sourceurl}}/fcb.py) diff --git a/docs/_indicators/FisherTransform.md b/docs/_indicators/FisherTransform.md index 36140150..155e182f 100644 --- a/docs/_indicators/FisherTransform.md +++ b/docs/_indicators/FisherTransform.md @@ -80,5 +80,5 @@ Created by John Ehlers, the [Fisher Transform](https://www.investopedia.com/term ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/FisherTransform/FisherTransform.cs) +- [C# core]({{site.base_sourceurl}}/e-k/FisherTransform/FisherTransform.Series.cs) - [Python wrapper]({{site.sourceurl}}/fisher_transform.py) diff --git a/docs/_indicators/ForceIndex.md b/docs/_indicators/ForceIndex.md index 34a678d0..4150fefd 100644 --- a/docs/_indicators/ForceIndex.md +++ b/docs/_indicators/ForceIndex.md @@ -74,5 +74,5 @@ Created by Alexander Elder, the [Force Index](https://en.wikipedia.org/wiki/Forc ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/ForceIndex/ForceIndex.cs) +- [C# core]({{site.base_sourceurl}}/e-k/ForceIndex/ForceIndex.Series.cs) - [Python wrapper]({{site.sourceurl}}/force_index.py) diff --git a/docs/_indicators/Fractal.md b/docs/_indicators/Fractal.md index 5659b425..63d2a029 100644 --- a/docs/_indicators/Fractal.md +++ b/docs/_indicators/Fractal.md @@ -92,5 +92,5 @@ Created by Larry Williams, [Fractal](https://www.investopedia.com/terms/f/fracta ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Fractal/Fractal.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Fractal/Fractal.Series.cs) - [Python wrapper]({{site.sourceurl}}/fractal.py) diff --git a/docs/_indicators/Gator.md b/docs/_indicators/Gator.md index 1b559b56..6dc05d5b 100644 --- a/docs/_indicators/Gator.md +++ b/docs/_indicators/Gator.md @@ -78,5 +78,5 @@ Created by Bill Williams, the Gator Oscillator is an expanded view of [Williams ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Gator/Gator.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Gator/Gator.Series.cs) - [Python wrapper]({{site.sourceurl}}/gator.py) diff --git a/docs/_indicators/HeikinAshi.md b/docs/_indicators/HeikinAshi.md index d006fc02..94ffefd3 100644 --- a/docs/_indicators/HeikinAshi.md +++ b/docs/_indicators/HeikinAshi.md @@ -75,5 +75,5 @@ Created by Munehisa Homma, [Heikin-Ashi](https://en.wikipedia.org/wiki/Candlesti ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/HeikinAshi/HeikinAshi.cs) +- [C# core]({{site.base_sourceurl}}/e-k/HeikinAshi/HeikinAshi.Series.cs) - [Python wrapper]({{site.sourceurl}}/heikin_ashi.py) diff --git a/docs/_indicators/Hma.md b/docs/_indicators/Hma.md index 74f6d391..77882605 100644 --- a/docs/_indicators/Hma.md +++ b/docs/_indicators/Hma.md @@ -72,5 +72,5 @@ Created by Alan Hull, the [Hull Moving Average](https://alanhull.com/hull-moving ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Hma/Hma.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Hma/Hma.Series.cs) - [Python wrapper]({{site.sourceurl}}/hma.py) diff --git a/docs/_indicators/HtTrendline.md b/docs/_indicators/HtTrendline.md index cba54f23..83074d84 100644 --- a/docs/_indicators/HtTrendline.md +++ b/docs/_indicators/HtTrendline.md @@ -74,5 +74,5 @@ Created by John Ehlers, the Hilbert Transform Instantaneous Trendline is a 5-per ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/HtTrendline/HtTrendline.cs) +- [C# core]({{site.base_sourceurl}}/e-k/HtTrendline/HtTrendline.Series.cs) - [Python wrapper]({{site.sourceurl}}/ht_trendline.py) diff --git a/docs/_indicators/Hurst.md b/docs/_indicators/Hurst.md index ace56222..48e3c1e8 100644 --- a/docs/_indicators/Hurst.md +++ b/docs/_indicators/Hurst.md @@ -74,5 +74,5 @@ The [Hurst Exponent](https://en.wikipedia.org/wiki/Hurst_exponent) is a [random- ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Hurst/Hurst.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Hurst/Hurst.Series.cs) - [Python wrapper]({{site.sourceurl}}/hurst.py) diff --git a/docs/_indicators/Ichimoku.md b/docs/_indicators/Ichimoku.md index e9a84136..bbb1a6b6 100644 --- a/docs/_indicators/Ichimoku.md +++ b/docs/_indicators/Ichimoku.md @@ -90,5 +90,5 @@ Created by Goichi Hosoda (細田悟一, Hosoda Goichi), [Ichimoku Cloud](https:/ ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Ichimoku/Ichimoku.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Ichimoku/Ichimoku.Series.cs) - [Python wrapper]({{site.sourceurl}}/ichimoku.py) diff --git a/docs/_indicators/Kama.md b/docs/_indicators/Kama.md index 9e7f8865..a339a19e 100644 --- a/docs/_indicators/Kama.md +++ b/docs/_indicators/Kama.md @@ -79,5 +79,5 @@ Created by Perry Kaufman, [KAMA](https://school.stockcharts.com/doku.php?id=tech ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Kama/Kama.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Kama/Kama.Series.cs) - [Python wrapper]({{site.sourceurl}}/kama.py) diff --git a/docs/_indicators/Keltner.md b/docs/_indicators/Keltner.md index 8dfa1e44..f2e1562c 100644 --- a/docs/_indicators/Keltner.md +++ b/docs/_indicators/Keltner.md @@ -79,5 +79,5 @@ Created by Chester W. Keltner, [Keltner Channels](https://en.wikipedia.org/wiki/ ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Keltner/Keltner.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Keltner/Keltner.Series.cs) - [Python wrapper]({{site.sourceurl}}/keltner.py) diff --git a/docs/_indicators/Kvo.md b/docs/_indicators/Kvo.md index 526c3b78..dacfc2bb 100644 --- a/docs/_indicators/Kvo.md +++ b/docs/_indicators/Kvo.md @@ -77,5 +77,5 @@ Created by Stephen Klinger, the [Klinger Volume Oscillator](https://www.investop ### Sources -- [C# core]({{site.base_sourceurl}}/e-k/Kvo/Kvo.cs) +- [C# core]({{site.base_sourceurl}}/e-k/Kvo/Kvo.Series.cs) - [Python wrapper]({{site.sourceurl}}/kvo.py) diff --git a/docs/_indicators/MaEnvelopes.md b/docs/_indicators/MaEnvelopes.md index c6d799ac..1ef2cd5d 100644 --- a/docs/_indicators/MaEnvelopes.md +++ b/docs/_indicators/MaEnvelopes.md @@ -100,5 +100,5 @@ results = indicators.get_ma_envelopes(quotes, 20, 2.5, MAType.SMA); ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/MaEnvelopes/MaEnvelopes.cs) +- [C# core]({{site.base_sourceurl}}/m-r/MaEnvelopes/MaEnvelopes.Series.cs) - [Python wrapper]({{site.sourceurl}}/ma_envelopes.py) diff --git a/docs/_indicators/Macd.md b/docs/_indicators/Macd.md index 36c683ca..b8551224 100644 --- a/docs/_indicators/Macd.md +++ b/docs/_indicators/Macd.md @@ -83,5 +83,5 @@ Created by Gerald Appel, [MACD](https://en.wikipedia.org/wiki/MACD) is a simple ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Macd/Macd.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Macd/Macd.Series.cs) - [Python wrapper]({{site.sourceurl}}/macd.py) diff --git a/docs/_indicators/Mama.md b/docs/_indicators/Mama.md index c43aab89..f35de32d 100644 --- a/docs/_indicators/Mama.md +++ b/docs/_indicators/Mama.md @@ -76,5 +76,5 @@ Created by John Ehlers, the [MAMA](http://mesasoftware.com/papers/MAMA.pdf) indi ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Mama/Mama.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Mama/Mama.Series.cs) - [Python wrapper]({{site.sourceurl}}/mama.py) diff --git a/docs/_indicators/Marubozu.md b/docs/_indicators/Marubozu.md index 5d3d88d8..2aa5b13c 100644 --- a/docs/_indicators/Marubozu.md +++ b/docs/_indicators/Marubozu.md @@ -69,5 +69,5 @@ results = indicators.get_marubozu(quotes); ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Marubozu/Marubozu.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Marubozu/Marubozu.Series.cs) - [Python wrapper]({{site.sourceurl}}/marubozu.py) diff --git a/docs/_indicators/Mfi.md b/docs/_indicators/Mfi.md index 17a22635..abb1f133 100644 --- a/docs/_indicators/Mfi.md +++ b/docs/_indicators/Mfi.md @@ -72,5 +72,5 @@ Created by Quong and Soudack, the [Money Flow Index](https://en.wikipedia.org/wi ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Mfi/Mfi.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Mfi/Mfi.Series.cs) - [Python wrapper]({{site.sourceurl}}/mfi.py) diff --git a/docs/_indicators/Obv.md b/docs/_indicators/Obv.md index 9cde6a39..093ec52d 100644 --- a/docs/_indicators/Obv.md +++ b/docs/_indicators/Obv.md @@ -75,5 +75,5 @@ Popularized by Joseph Granville, [On-balance Volume](https://en.wikipedia.org/wi ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Obv/Obv.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Obv/Obv.Series.cs) - [Python wrapper]({{site.sourceurl}}/obv.py) diff --git a/docs/_indicators/ParabolicSar.md b/docs/_indicators/ParabolicSar.md index 040b4df1..621addf7 100644 --- a/docs/_indicators/ParabolicSar.md +++ b/docs/_indicators/ParabolicSar.md @@ -79,5 +79,5 @@ Created by J. Welles Wilder, [Parabolic SAR](https://en.wikipedia.org/wiki/Parab ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/ParabolicSar/ParabolicSar.cs) +- [C# core]({{site.base_sourceurl}}/m-r/ParabolicSar/ParabolicSar.Series.cs) - [Python wrapper]({{site.sourceurl}}/parabolic_sar.py) diff --git a/docs/_indicators/PivotPoints.md b/docs/_indicators/PivotPoints.md index d6d88308..aa18fe79 100644 --- a/docs/_indicators/PivotPoints.md +++ b/docs/_indicators/PivotPoints.md @@ -112,5 +112,5 @@ See also the alternative [Rolling Pivot Points](../RollingPivots#content) varian ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/PivotPoints/PivotPoints.cs) +- [C# core]({{site.base_sourceurl}}/m-r/PivotPoints/PivotPoints.Series.cs) - [Python wrapper]({{site.sourceurl}}/pivot_points.py) diff --git a/docs/_indicators/Pivots.md b/docs/_indicators/Pivots.md index bf84c147..596ecbe6 100644 --- a/docs/_indicators/Pivots.md +++ b/docs/_indicators/Pivots.md @@ -108,5 +108,5 @@ Pivots is an extended version of [Williams Fractal](../Fractal#content) that inc ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Pivots/Pivots.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Pivots/Pivots.Series.cs) - [Python wrapper]({{site.sourceurl}}/pivots.py) diff --git a/docs/_indicators/Pmo.md b/docs/_indicators/Pmo.md index d09466c5..cf9559d2 100644 --- a/docs/_indicators/Pmo.md +++ b/docs/_indicators/Pmo.md @@ -75,5 +75,5 @@ Created by Carl Swenlin, the DecisionPoint [Price Momentum Oscillator](https://s ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Pmo/Pmo.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Pmo/Pmo.Series.cs) - [Python wrapper]({{site.sourceurl}}/pmo.py) diff --git a/docs/_indicators/Prs.md b/docs/_indicators/Prs.md index 5d954998..60494f56 100644 --- a/docs/_indicators/Prs.md +++ b/docs/_indicators/Prs.md @@ -78,5 +78,5 @@ results = indicators.get_prs(history_SPX, history_TSLA, 14) ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Prs/Prs.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Prs/Prs.Series.cs) - [Python wrapper]({{site.sourceurl}}/prs.py) diff --git a/docs/_indicators/Pvo.md b/docs/_indicators/Pvo.md index 72c7f75d..95236940 100644 --- a/docs/_indicators/Pvo.md +++ b/docs/_indicators/Pvo.md @@ -78,5 +78,5 @@ The [Percentage Volume Oscillator](https://school.stockcharts.com/doku.php?id=te ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Pvo/Pvo.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Pvo/Pvo.Series.cs) - [Python wrapper]({{site.sourceurl}}/pvo.py) diff --git a/docs/_indicators/Renko.md b/docs/_indicators/Renko.md index 790f7201..4442d015 100644 --- a/docs/_indicators/Renko.md +++ b/docs/_indicators/Renko.md @@ -136,5 +136,5 @@ The [Renko Chart](https://en.m.wikipedia.org/wiki/Renko_chart) is a Japanese pri ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Renko/Renko.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Renko/Renko.Series.cs) - [Python wrapper]({{site.sourceurl}}/renko.py) diff --git a/docs/_indicators/Roc.md b/docs/_indicators/Roc.md index c0e8d3f7..873f277a 100644 --- a/docs/_indicators/Roc.md +++ b/docs/_indicators/Roc.md @@ -110,5 +110,5 @@ ROCWBResults[ROCWBResult] ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Roc/Roc.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Roc/Roc.Series.cs) - [Python wrapper]({{site.sourceurl}}/roc.py) diff --git a/docs/_indicators/RollingPivots.md b/docs/_indicators/RollingPivots.md index 226fb093..6162cfd5 100644 --- a/docs/_indicators/RollingPivots.md +++ b/docs/_indicators/RollingPivots.md @@ -97,5 +97,5 @@ Created by Dave Skender, Rolling Pivot Points is a modern update to traditional ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/RollingPivots/RollingPivots.cs) +- [C# core]({{site.base_sourceurl}}/m-r/RollingPivots/RollingPivots.Series.cs) - [Python wrapper]({{site.sourceurl}}/rolling_pivots.py) diff --git a/docs/_indicators/Rsi.md b/docs/_indicators/Rsi.md index 4f81cb67..e20f5cb2 100644 --- a/docs/_indicators/Rsi.md +++ b/docs/_indicators/Rsi.md @@ -75,5 +75,5 @@ Created by J. Welles Wilder, the [Relative Strength Index](https://en.wikipedia. ### Sources -- [C# core]({{site.base_sourceurl}}/m-r/Rsi/Rsi.cs) +- [C# core]({{site.base_sourceurl}}/m-r/Rsi/Rsi.Series.cs) - [Python wrapper]({{site.sourceurl}}/rsi.py) diff --git a/docs/_indicators/Slope.md b/docs/_indicators/Slope.md index 9d1a6097..fcf9a6e9 100644 --- a/docs/_indicators/Slope.md +++ b/docs/_indicators/Slope.md @@ -78,5 +78,5 @@ results = indicators.get_slope(quotes, 20) ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Slope/Slope.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Slope/Slope.Series.cs) - [Python wrapper]({{site.sourceurl}}/slope.py) diff --git a/docs/_indicators/Sma.md b/docs/_indicators/Sma.md index 157bc888..659e3c67 100644 --- a/docs/_indicators/Sma.md +++ b/docs/_indicators/Sma.md @@ -106,5 +106,5 @@ results = indicators.get_sma_analysis(quotes, lookback_periods) ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Sma/Sma.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Sma/Sma.Series.cs) - [Python wrapper]({{site.sourceurl}}/sma.py) diff --git a/docs/_indicators/Smi.md b/docs/_indicators/Smi.md index 4933f3b0..a0c43f3d 100644 --- a/docs/_indicators/Smi.md +++ b/docs/_indicators/Smi.md @@ -78,5 +78,5 @@ Created by William Blau, the Stochastic Momentum Index (SMI) is a double-smoothe ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Smi/Smi.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Smi/Smi.Series.cs) - [Python wrapper]({{site.sourceurl}}/smi.py) diff --git a/docs/_indicators/Smma.md b/docs/_indicators/Smma.md index 5df4ef88..a7554fe2 100644 --- a/docs/_indicators/Smma.md +++ b/docs/_indicators/Smma.md @@ -75,5 +75,5 @@ results = indicators.get_smma(quotes, 20) ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Smma/Smma.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Smma/Smma.Series.cs) - [Python wrapper]({{site.sourceurl}}/smma.py) diff --git a/docs/_indicators/StarcBands.md b/docs/_indicators/StarcBands.md index e6038b99..edb7accb 100644 --- a/docs/_indicators/StarcBands.md +++ b/docs/_indicators/StarcBands.md @@ -78,5 +78,5 @@ Created by Manning Stoller, [Stoller Average Range Channel (STARC) Bands](https: ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/StarcBands/StarcBands.cs) +- [C# core]({{site.base_sourceurl}}/s-z/StarcBands/StarcBands.Series.cs) - [Python wrapper]({{site.sourceurl}}/starc_bands.py) diff --git a/docs/_indicators/Stc.md b/docs/_indicators/Stc.md index 24dd6a0e..25c80b25 100644 --- a/docs/_indicators/Stc.md +++ b/docs/_indicators/Stc.md @@ -76,5 +76,5 @@ Created by Doug Schaff, [Schaff Trend Cycle](https://www.investopedia.com/articl ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Stc/Stc.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Stc/Stc.Series.cs) - [Python wrapper]({{site.sourceurl}}/stc.py) diff --git a/docs/_indicators/StdDev.md b/docs/_indicators/StdDev.md index 61954507..0a0fa26f 100644 --- a/docs/_indicators/StdDev.md +++ b/docs/_indicators/StdDev.md @@ -77,5 +77,5 @@ results = indicators.get_stdev(quotes, 10) ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/StdDev/StdDev.cs) +- [C# core]({{site.base_sourceurl}}/s-z/StdDev/StdDev.Series.cs) - [Python wrapper]({{site.sourceurl}}/stdev.py) diff --git a/docs/_indicators/StdDevChannels.md b/docs/_indicators/StdDevChannels.md index ad80f765..0edea65e 100644 --- a/docs/_indicators/StdDevChannels.md +++ b/docs/_indicators/StdDevChannels.md @@ -84,5 +84,5 @@ Standard Deviation Channels are based on an linear regression centerline and sta ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/StdDevChannels/StdDevChannels.cs) +- [C# core]({{site.base_sourceurl}}/s-z/StdDevChannels/StdDevChannels.Series.cs) - [Python wrapper]({{site.sourceurl}}/stdev_channels.py) diff --git a/docs/_indicators/Stoch.md b/docs/_indicators/Stoch.md index 91b52fcc..cd82bebb 100644 --- a/docs/_indicators/Stoch.md +++ b/docs/_indicators/Stoch.md @@ -94,5 +94,5 @@ Created by George Lane, the [Stochastic Oscillator](https://en.wikipedia.org/wik ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Stoch/Stoch.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Stoch/Stoch.Series.cs) - [Python wrapper]({{site.sourceurl}}/stoch.py) diff --git a/docs/_indicators/StochRsi.md b/docs/_indicators/StochRsi.md index 24888e3b..cbe43af5 100644 --- a/docs/_indicators/StochRsi.md +++ b/docs/_indicators/StochRsi.md @@ -80,5 +80,5 @@ Created by by Tushar Chande and Stanley Kroll, [Stochastic RSI](https://school.s ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/StochRsi/StochRsi.cs) +- [C# core]({{site.base_sourceurl}}/s-z/StochRsi/StochRsi.Series.cs) - [Python wrapper]({{site.sourceurl}}/stoch_rsi.py) diff --git a/docs/_indicators/SuperTrend.md b/docs/_indicators/SuperTrend.md index 82ba4258..3d6db67e 100644 --- a/docs/_indicators/SuperTrend.md +++ b/docs/_indicators/SuperTrend.md @@ -80,5 +80,5 @@ It can indicate a buy/sell signal or a trailing stop when the trend changes. ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/SuperTrend/SuperTrend.cs) +- [C# core]({{site.base_sourceurl}}/s-z/SuperTrend/SuperTrend.Series.cs) - [Python wrapper]({{site.sourceurl}}/super_trend.py) diff --git a/docs/_indicators/T3.md b/docs/_indicators/T3.md index 622ae203..6c973442 100644 --- a/docs/_indicators/T3.md +++ b/docs/_indicators/T3.md @@ -75,5 +75,5 @@ Created by Tim Tillson, the [T3](https://www.forexfactory.com/attachment.php/845 ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/T3/T3.cs) +- [C# core]({{site.base_sourceurl}}/s-z/T3/T3.Series.cs) - [Python wrapper]({{site.sourceurl}}/t3.py) diff --git a/docs/_indicators/Tema.md b/docs/_indicators/Tema.md index 353b6a06..d30a1d92 100644 --- a/docs/_indicators/Tema.md +++ b/docs/_indicators/Tema.md @@ -77,5 +77,5 @@ See related [EMA](../Ema#content) and [Double EMA](../Dema#content). ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Tema/Tema.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Tema/Tema.Series.cs) - [Python wrapper]({{site.sourceurl}}/tema.py) diff --git a/docs/_indicators/Trix.md b/docs/_indicators/Trix.md index f01c643b..237bb576 100644 --- a/docs/_indicators/Trix.md +++ b/docs/_indicators/Trix.md @@ -77,5 +77,5 @@ Created by Jack Hutson, [TRIX](https://en.wikipedia.org/wiki/Trix_(technical_ana ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Trix/Trix.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Trix/Trix.Series.cs) - [Python wrapper]({{site.sourceurl}}/trix.py) diff --git a/docs/_indicators/Tsi.md b/docs/_indicators/Tsi.md index 28fe27f7..98701102 100644 --- a/docs/_indicators/Tsi.md +++ b/docs/_indicators/Tsi.md @@ -78,5 +78,5 @@ Created by William Blau, the [True Strength Index](https://en.wikipedia.org/wiki ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Tsi/Tsi.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Tsi/Tsi.Series.cs) - [Python wrapper]({{site.sourceurl}}/tsi.py) diff --git a/docs/_indicators/UlcerIndex.md b/docs/_indicators/UlcerIndex.md index 708332a7..f8a2f285 100644 --- a/docs/_indicators/UlcerIndex.md +++ b/docs/_indicators/UlcerIndex.md @@ -72,5 +72,5 @@ Created by Peter Martin, the [Ulcer Index](https://en.wikipedia.org/wiki/Ulcer_i ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/UlcerIndex/UlcerIndex.cs) +- [C# core]({{site.base_sourceurl}}/s-z/UlcerIndex/UlcerIndex.Series.cs) - [Python wrapper]({{site.sourceurl}}/ulcer_index.py) diff --git a/docs/_indicators/Ultimate.md b/docs/_indicators/Ultimate.md index 1b02a70c..c5557bf7 100644 --- a/docs/_indicators/Ultimate.md +++ b/docs/_indicators/Ultimate.md @@ -74,5 +74,5 @@ Created by Larry Williams, the [Ultimate Oscillator](https://en.wikipedia.org/wi ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Ultimate/Ultimate.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Ultimate/Ultimate.Series.cs) - [Python wrapper]({{site.sourceurl}}/ultimate.py) diff --git a/docs/_indicators/VolatilityStop.md b/docs/_indicators/VolatilityStop.md index c7e8982f..b2980e1b 100644 --- a/docs/_indicators/VolatilityStop.md +++ b/docs/_indicators/VolatilityStop.md @@ -80,5 +80,5 @@ Created by J. Welles Wilder, [Volatility Stop](https://archive.org/details/newco ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/VolatilityStop/VolatilityStop.cs) +- [C# core]({{site.base_sourceurl}}/s-z/VolatilityStop/VolatilityStop.Series.cs) - [Python wrapper]({{site.sourceurl}}/volatility_stop.py) diff --git a/docs/_indicators/Vortex.md b/docs/_indicators/Vortex.md index d54e343d..47510b75 100644 --- a/docs/_indicators/Vortex.md +++ b/docs/_indicators/Vortex.md @@ -73,5 +73,5 @@ Created by Etienne Botes and Douglas Siepman, the [Vortex Indicator](https://en. ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Vortex/Vortex.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Vortex/Vortex.Series.cs) - [Python wrapper]({{site.sourceurl}}/vortex.py) diff --git a/docs/_indicators/Vwap.md b/docs/_indicators/Vwap.md index a798bd90..ada33650 100644 --- a/docs/_indicators/Vwap.md +++ b/docs/_indicators/Vwap.md @@ -76,5 +76,5 @@ The [Volume Weighted Average Price](https://en.wikipedia.org/wiki/Volume-weighte ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Vwap/Vwap.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Vwap/Vwap.Series.cs) - [Python wrapper]({{site.sourceurl}}/vwap.py) diff --git a/docs/_indicators/Vwma.md b/docs/_indicators/Vwma.md index d7fa7ec3..9fe42298 100644 --- a/docs/_indicators/Vwma.md +++ b/docs/_indicators/Vwma.md @@ -72,5 +72,5 @@ Volume Weighted Moving Average is the volume adjusted average price over a lookb ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Vwma/Vwma.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Vwma/Vwma.Series.cs) - [Python wrapper]({{site.sourceurl}}/vwma.py) diff --git a/docs/_indicators/WilliamsR.md b/docs/_indicators/WilliamsR.md index c6b79312..c1639ff5 100644 --- a/docs/_indicators/WilliamsR.md +++ b/docs/_indicators/WilliamsR.md @@ -72,5 +72,5 @@ Created by Larry Williams, the [Williams %R](https://en.wikipedia.org/wiki/Willi ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/WilliamsR/WilliamsR.cs) +- [C# core]({{site.base_sourceurl}}/s-z/WilliamsR/WilliamsR.Series.cs) - [Python wrapper]({{site.sourceurl}}/williams_r.py) diff --git a/docs/_indicators/Wma.md b/docs/_indicators/Wma.md index 225020e4..603bf0b8 100644 --- a/docs/_indicators/Wma.md +++ b/docs/_indicators/Wma.md @@ -76,5 +76,5 @@ results = indicators.get_wma(quotes, 20, CandlePart.CLOSE) ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/Wma/Wma.cs) +- [C# core]({{site.base_sourceurl}}/s-z/Wma/Wma.Series.cs) - [Python wrapper]({{site.sourceurl}}/wma.py) diff --git a/docs/_indicators/ZigZag.md b/docs/_indicators/ZigZag.md index 75c87aab..b57134be 100644 --- a/docs/_indicators/ZigZag.md +++ b/docs/_indicators/ZigZag.md @@ -93,5 +93,5 @@ results = indicators.get_zig_zag(quotes, EndType.CLOSE, 3); ### Sources -- [C# core]({{site.base_sourceurl}}/s-z/ZigZag/ZigZag.cs) +- [C# core]({{site.base_sourceurl}}/s-z/ZigZag/ZigZag.Series.cs) - [Python wrapper]({{site.sourceurl}}/zig_zag.py) diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html index 4fe4650e..59944e2e 100644 --- a/docs/_layouts/base.html +++ b/docs/_layouts/base.html @@ -4,6 +4,11 @@
+ + + + + {% if site.github.source.branch != "main" or page.noindex == true %} diff --git a/docs/contributing.md b/docs/contributing.md index 99cf21e5..de1f5c71 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -65,7 +65,10 @@ For new features, submit an issue with the `enhancement` label. - Failed builds or unit testing will block acceptance of your Pull Request when submitting changes. ```bash -# install pytest and other dependencies. +# install core dependencies +pip install -r requirements.txt + +# install test dependencies pip install -r requirements-test.txt # run all tests. diff --git a/docs/guide.md b/docs/guide.md index 925241ba..842e053b 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -23,9 +23,10 @@ layout: page ### Installation and setup -Stock Indicators for Python has dependency on [PythonNet](https://github.com/pythonnet/pythonnet), which uses CLR. -Check that you have CLR installed. We are currently using **.NET 6**. You can download via the link below. - - [download .NET](https://dotnet.microsoft.com/en-us/download/dotnet) +Stock Indicators for Python has dependency on [PythonNet](https://github.com/pythonnet/pythonnet), which uses CLR. +Check that you have CLR installed. We are currently using **.NET 6**. + +- [download and install .NET 6.0](https://dotnet.microsoft.com/en-us/download/dotnet) Find and install the **stock-indicators** Python package into your environment. See [more help](https://packaging.python.org/en/latest/tutorials/installing-packages/) for installing packages. @@ -40,7 +41,7 @@ Most indicators require that you provide historical quote data and additional co You must get historical quotes from your own market data provider. For clarification, the `get_history_from_feed()` method shown in the example below and throughout our documentation **is not part of this library**, but rather an example to represent your own acquisition of historical quotes. -Historical price data can be provided as an `Iterable`(such as `List` or an object having `__iter__()`) of the `Quote` class or its sub-class ([see below](#historical-quotes)); Be aware that you **have to** inherit `Quote` class when you [make custom quote class](#using-custom-quote-classes). +Historical price data can be provided as an `Iterable`(such as `List` or an object having `__iter__()`) of the `Quote` class or its sub-class ([see below](#historical-quotes)); Be aware that you **have to** inherit `Quote` class when you [make custom quote class](#using-custom-quote-classes). @@ -102,7 +103,8 @@ from stock_indicators.indicators.common.quote import Quote | close | [`decimal.Decimal`](https://docs.python.org/3.8/library/decimal.html?highlight=decimal#decimal.Decimal), Optional | Close price | volume | [`decimal.Decimal`](https://docs.python.org/3.8/library/decimal.html?highlight=decimal#decimal.Decimal), Optional | Volume -**Note that** +**Note that** + 1. `date` is always required, while each ohlcv values are optional. 2. ohlcv can be provided by `float`, `Decimal` and `str` representing number, but these are always stored as `Decimal`. @@ -123,6 +125,7 @@ For example, if you are using daily data and want one year of precise EMA(250) d If you are using `Pandas.Dataframe` to hold quote data, you have to convert it into our `Quote` instance. That means you must iterate them row by row. There's [an awesome article](https://towardsdatascience.com/efficiently-iterating-over-rows-in-a-pandas-dataframe-7dd5f9992c01) that introduces the best-efficiency way to iterate `Dataframe`. Here's an example we'd like to suggest: **Use list comprehension** + ```python # Suppose that you have dataframe like the below. # date open high low close volume @@ -142,7 +145,6 @@ quotes_list = [ You can also use `numpy.vectorize()`, its gain is too slight and hard to apply in this case. - ### Using custom quote classes If you would like to use your own custom `MyCustomQuote` _quote_ class, you **have to** inherit `Quote` class. The `Quote` class is a special class which converts OHLCV properties existing as Python objects to C# objects and which is concrete class of `IQuote` of C# implementation. It enables Pythonnet to work with our C# implementation using generics. @@ -168,7 +170,7 @@ results = indicators.get_sma(quotes, 20); #### Using custom quote property names -If you have a model that has different properties names, but the same meaning, you only need to map them. Each properties is `property` object, so you can just reference them. +If you have a model that has different properties names, but the same meaning, you only need to map them. Each properties is `property` object, so you can just reference them. Suppose your class has a property called `close_date` instead of `date`, it could be represented like this: @@ -182,7 +184,6 @@ class MyCustomQuote(Quote): Note that the property `date` now can be accessed by both `close_date` and `date`. - ## Using derived results classes The indicator result (e.g. `EMAResult`) classes can be extended in your code. @@ -208,6 +209,7 @@ for r in extended_results: ``` **Be aware that** If you want to use [helper functions]({{site.baseurl}}/utilities/#utilities-for-indicator-results), use wrapper class(e.g. `EMAResults`).