Algo-trading-2021 Strategies
===
## General Logic for All Strategies
We need
* a data frame that keeps track of currently open trades
* a record of all trades we have made (for later analysis) -- written to a csv file for record-keeping
**Functions**
*
```python
def check_entry_conditions(signals:dict) -> boolean:
"""
determines whether or not it is time to open a new trade
"""
```
*
```python
def open_trade(**args) -> data
"""
performs the mechanical heavy lifting of opening the trade
"""
```
*
```python
def add_trade_to_df(trade):
"""
writes information about the trade to the current data frame
"""
```
---
# :black_square_for_stop: Strategy
## 1. SMA-KDJ
- Ticker: BTCUSD
- tf: 30m
- Indicators
- 21 SMA
- KDJ - period 9, signal 3
- ATR - 14
- Entry
- LONG: candle closes above 21sma and kdj indicates long
- SHORT: candle closes below 21sma and kdj indicates long
- Logic
- 80% accn value with take profit 1*ATR(trade open candle) SL:1.5*ATR
- 20% accn value, SL: 1.5*ATR
- EXIT: - Close rest 20% position when trend changes
- Notes on KDJ
- https://www.iqoptionwiki.com/kdj-indicator-on-iq-option/
- Possible Improvements
- Using ADX or ATR along with KDJ
---
## Lerning notes
**1. Post Only Order**
It only places order as maker,
https://help.ftx.com/hc/en-us/articles/360031896592-Advanced-Order-Types
---
## Future work
1) Using websockets for fetching ohlcv data
2) VPS to resolve connection error issue
3) Trading system
