Package pl.com.external.essw.office
Class Trader
- java.lang.Object
-
- pl.com.external.essw.office.Trader
-
- All Implemented Interfaces:
java.lang.Runnable
public class Trader extends java.lang.Object implements java.lang.Runnable
-
-
Field Summary
Fields Modifier and Type Field Description protected Console
console
protected DatabaseFacade
databaseFacade
protected Manager
manager
protected Period[]
periodArray
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buySomething(Investment investment)
protected void
calculateIndicators(Period period)
protected void
checkCommandments()
protected Period
createFirstPeriod(Transaction transaction)
protected Period
createNewPeriod(java.time.LocalDateTime startDime, Transaction transaction)
protected void
evaluateBuyPriceDropRatio(java.util.List<Session> dataSessionList, java.lang.Double buyPriceDropRatio)
protected void
evaluateBuyVolumeSpike(java.util.List<Session> dataSessionList, java.lang.Integer buyVolumeSpike, java.lang.Double buyPriceDropRatio)
protected void
evaluateWiggle(java.util.List<Session> dataSessionList, java.lang.Double wiggle, java.lang.Integer buyVolumeSpike, java.lang.Double buyPriceDropRatio)
Investment
getInvestment()
Period
getLastFullPeriod()
Period
getLastPeriod()
protected void
logTestSessions(java.lang.String tradedStockTicker, java.util.List<Session> dataSessionList)
protected boolean
moneyAwailable(Transaction transaction)
void
run()
protected boolean
sellIfLastTransactionData(int transactionNumber, int transactionCount)
static boolean
skipProcessing(Stock stock)
protected void
spikePrice(Investment investment, java.lang.Double price)
protected void
startPeriodsArray(Transaction transaction, int periodIntervalMinutes)
protected void
updateHighPrice(Period period, Transaction transaction)
protected void
updateLowPrice(Period period, Transaction transaction)
protected Period
updatePeriodsList(Transaction transaction, int periodIntervalMinutes, boolean newSesion)
protected void
updatePrice(Investment investment, Transaction transaction)
protected void
updateVolume(Period period, Transaction transaction)
protected void
updateVolumeChunkCounter(Period period, java.lang.Long volume)
-
-
-
Field Detail
-
manager
protected Manager manager
-
databaseFacade
protected DatabaseFacade databaseFacade
-
periodArray
protected Period[] periodArray
-
console
protected Console console
-
-
Method Detail
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
evaluateWiggle
protected void evaluateWiggle(java.util.List<Session> dataSessionList, java.lang.Double wiggle, java.lang.Integer buyVolumeSpike, java.lang.Double buyPriceDropRatio)
-
skipProcessing
public static boolean skipProcessing(Stock stock)
-
getInvestment
public Investment getInvestment()
- Returns:
- the investment
-
buySomething
public void buySomething(Investment investment)
-
calculateIndicators
protected void calculateIndicators(Period period)
-
sellIfLastTransactionData
protected boolean sellIfLastTransactionData(int transactionNumber, int transactionCount)
-
spikePrice
protected void spikePrice(Investment investment, java.lang.Double price)
-
startPeriodsArray
protected void startPeriodsArray(Transaction transaction, int periodIntervalMinutes)
-
updateHighPrice
protected void updateHighPrice(Period period, Transaction transaction)
-
updateLowPrice
protected void updateLowPrice(Period period, Transaction transaction)
-
updatePeriodsList
protected Period updatePeriodsList(Transaction transaction, int periodIntervalMinutes, boolean newSesion)
-
updatePrice
protected void updatePrice(Investment investment, Transaction transaction)
-
updateVolume
protected void updateVolume(Period period, Transaction transaction)
-
updateVolumeChunkCounter
protected void updateVolumeChunkCounter(Period period, java.lang.Long volume)
-
createNewPeriod
protected Period createNewPeriod(java.time.LocalDateTime startDime, Transaction transaction)
-
createFirstPeriod
protected Period createFirstPeriod(Transaction transaction)
-
getLastFullPeriod
public Period getLastFullPeriod()
- Returns:
-
getLastPeriod
public Period getLastPeriod()
- Returns:
-
logTestSessions
protected void logTestSessions(java.lang.String tradedStockTicker, java.util.List<Session> dataSessionList)
-
evaluateBuyPriceDropRatio
protected void evaluateBuyPriceDropRatio(java.util.List<Session> dataSessionList, java.lang.Double buyPriceDropRatio)
-
evaluateBuyVolumeSpike
protected void evaluateBuyVolumeSpike(java.util.List<Session> dataSessionList, java.lang.Integer buyVolumeSpike, java.lang.Double buyPriceDropRatio)
-
moneyAwailable
protected boolean moneyAwailable(Transaction transaction)
-
checkCommandments
protected void checkCommandments()
-
-