Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sreenivasdoosa
GitHub Repository: sreenivasdoosa/sdoosa-algo-trade-python
Path: blob/master/src/core/Algo.py
297 views
1
import logging
2
import threading
3
import time
4
5
from instruments.Instruments import Instruments
6
from trademgmt.TradeManager import TradeManager
7
8
from strategies.SampleStrategy import SampleStrategy
9
from strategies.BNFORB30Min import BNFORB30Min
10
from strategies.OptionSelling import OptionSelling
11
from strategies.ShortStraddleBNF import ShortStraddleBNF
12
13
#from Test import Test
14
15
class Algo:
16
isAlgoRunning = None
17
18
@staticmethod
19
def startAlgo():
20
if Algo.isAlgoRunning == True:
21
logging.info("Algo has already started..")
22
return
23
24
logging.info("Starting Algo...")
25
Instruments.fetchInstruments()
26
27
# start trade manager in a separate thread
28
tm = threading.Thread(target=TradeManager.run)
29
tm.start()
30
31
# sleep for 2 seconds for TradeManager to get initialized
32
time.sleep(2)
33
34
# start running strategies: Run each strategy in a separate thread
35
#threading.Thread(target=SampleStrategy.getInstance().run).start()
36
#threading.Thread(target=BNFORB30Min.getInstance().run).start()
37
#threading.Thread(target=OptionSelling.getInstance().run).start()
38
threading.Thread(target=ShortStraddleBNF.getInstance().run).start()
39
40
Algo.isAlgoRunning = True
41
logging.info("Algo started.")
42
43