Skip to content

Latest commit

 

History

History
14 lines (13 loc) · 1.77 KB

CONTRIBUTING.md

File metadata and controls

14 lines (13 loc) · 1.77 KB

Although the SquidEyes.TechAnalysis library is more than adequate for the author's own purposes, it should be fairly easy to add additional indicators to the library, if desired. Just note that a few simple rules will need to be followed when submitting a pull-request:

  • Indicators must be named according to the {Code or Name}Indicator convention, with well-known codes such as "Rsi" preferred over more verbose names like "Relative Strength Index."
  • Indicators SHOULD NOT include in-built result-storage methods
    • As a rule, the storage of results should be entirely up to the consumer
    • Various collection types may be employed to store indicator results, depending upon your requirements, but for many scenarios, the included SlidingBuffer should be your most convenient and performant alternative
    • Internally, indicators should strive to persist minimal data; most conveniently through minimally-sized forward or reverse SlidingBuffers
  • Indicators may ONLY be driven by candlestick values, via an "AddAndCalc" method (required) and an "UpdateAndCalc" method (optional)
    • The AddAndCalc and UpdateAndCalc methods should return an immutable "result" class, based on ResultBase; with Kind and OpenOn values, as well as one or more custom data fields
  • Be sure to include a copy of the standard license header in each new source code file you create
    • This can be done most conveniently by using the Visual Studio LicenseHeader extension
    • Once the extension is installed, simply invoke the "License Headers" / "Add License Headers To All Files" command on the project containing new files
  • No changes to the solution-wide .editorconfig file will be accepted
  • Pull-requests will not be accepted without a full-coverage unit-test for each new or updated indicator