/traders-tools

Insights, tools and tips as a result of losing too much money.

Primary LanguageJavaMIT LicenseMIT

Trader's Tools

Insights, tools and tips as a result of losing too much money 🐊.

  • Trading for a Living [Medium] - or what it takes to go from zero to humble hero in the markets.
  • Things You Learn After 1 Year of Day Trading for a Living [Medium] - or what not to do in the markets.

Design Patterns (Java)

Pattern Category Idea
Singleton Creational Manage multiple accounts (connections, disconnections, execution requests, orders requests, etc.) via single object and once.
Factory Method Creational Change historical data provider across all code base with a single modification.
Facade Structural Wrap complex logic with simple access point.
Adapter Structural Use standard m30 bars to create custom H4 bars in a different time zone.
Composite Structural Single option is the building block of a complex options position.
Proxy Structural Use cached data access when applicable, request and store new if none available.
Decorator Structural Extend functionality of standard request handlers.
Template Method Behavioral Use template trading flow for various asset classes.
Chain of Responsibility Behavioral Trade risk assessment via chain of validation rules.
State Behavioral Trade multiple sessions of the same market.
Command Behavioral Perform account related tasks (data, trading, risk assessment, etc.) efficiently.
Mediator Behavioral Manage portfolio exposure with different instruments.
Observer Behavioral Price alerts for various asset classes.
MVC Architectural Account management (trading controller, risk model and balance view).

Books

Micro Task Management Language (MTML)

  • Generalized task management notation.

  • Symbols:

    Symbol Meaning
    ! Important.
    + Task.
    - Metadata/elaboration on previous line.
    ~ Thought/idea.
    ~~ Thought/idea in flow.
    ~~~ Thought/idea in multi-day flow.
    % Edge/trading idea.
    ? Question.
    @ Topic, can be nested (useful in the calendar).
    $ Performance related task/idea.
    ^ Test.
    & Refactoring.
    # Bug.
    <> Think about it / sleep on it, a coda in blocks.
    . Relevant to this particular day (usually in the calendar).
  • Blocks:

    • Symbols can be combined with other symbols.
    • Small topic is either one line or condensed multiple lines.
    • Big topic is surrounded by @ symbols and contains small topics.
    • Code blocks/comments appear verbatim without any symbols.
    • When in flow, elaboration hyphens can be omitted.
  • Examples:

    !+ this is an important task
    - with some metadata here
    
    $& this is a performance related refactoring
    
    @ this is a big topic
    ~ with some ideas
    
    @ sub topic
    ~ with some ideas (related to the super topic)
    
    + tasks
    
    # bugs
    
    ? questions
    
    .^ and some tests to be performed today 
    @ this is a big topic (same text as in the first symbol)