Class: MyTradeWizard::StockTradingSystem
Constant Summary
Constants included
from WatchLists
WatchLists::DOW30, WatchLists::NAZ100, WatchLists::SP500
Constants included
from DateTime
DateTime::HR
Instance Attribute Summary collapse
Instance Method Summary
collapse
#account=, #fetch_positions, #place_market_order
#SMA
Methods included from DateTime
#friday, #wait_until
Constructor Details
Returns a new instance of StockTradingSystem.
11
12
13
14
15
16
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 11
def initialize
super
@watch_list = MyTradeWizard::WatchList.new
@position_size = 5000
@data = nil
end
|
Instance Attribute Details
#position_size=(value) ⇒ Object
Sets the attribute position_size
9
10
11
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 9
def position_size=(value)
@position_size = value
end
|
#watch_list ⇒ Object
Returns the value of attribute watch_list.
8
9
10
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 8
def watch_list
@watch_list
end
|
Instance Method Details
#buy ⇒ Object
38
39
40
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 38
def buy
place_market_order "BUY", @position_size/close(t).floor, @stock.contract
end
|
#close(day) ⇒ Object
34
35
36
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 34
def close(day)
@data.day(day).close
end
|
#days(daily_range) ⇒ Object
30
31
32
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 30
def days(daily_range)
@data.days(daily_range)
end
|
#preload(days, stock) ⇒ Object
18
19
20
21
22
23
24
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 18
def preload(days, stock)
@stock = stock
@data = MyTradeWizard::Yahoo.OHLC(stock.symbol, days)
if @data.length < days
puts "ERROR: Only #{@data.length}/#{days} days of data for #{stock.symbol}"
end
end
|
#sell(position) ⇒ Object
42
43
44
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 42
def sell(position)
place_market_order "SELL", position.size, @stock.contract
end
|
#t ⇒ Object
26
27
28
|
# File 'lib/mytradewizard/stock_trading_system.rb', line 26
def t
@data.today
end
|