Class PositionServiceCassandreImplementation
java.lang.Object
tech.cassandre.trading.bot.util.base.Base
tech.cassandre.trading.bot.util.base.service.BaseService
tech.cassandre.trading.bot.service.PositionServiceCassandreImplementation
- All Implemented Interfaces:
PositionService
Position service - Implementation of
PositionService
.-
Field Summary
Fields inherited from class tech.cassandre.trading.bot.util.base.service.BaseService
bucket
Fields inherited from class tech.cassandre.trading.bot.util.base.Base
ACCOUNT_MAPPER, CANDLE_MAPPER, CURRENCY_MAPPER, logger, ORDER_MAPPER, POSITION_MAPPER, STRATEGY_MAPPER, TICKER_MAPPER, TRADE_MAPPER, UTIL_MAPPER
-
Constructor Summary
ConstructorDescriptionPositionServiceCassandreImplementation
(PositionRepository positionRepository, TradeService tradeService, PositionFlux positionFlux) -
Method Summary
Modifier and TypeMethodDescriptionfinal OrderCreationResultDTO
closePosition
(@NonNull CassandreStrategyInterface strategy, long positionUid, @NonNull TickerDTO ticker) Close a position.createLongPosition
(@NonNull CassandreStrategy strategy, @NonNull CurrencyPairDTO currencyPair, @NonNull BigDecimal amount, @NonNull PositionRulesDTO rules) Creates a long position with its associated rules.createShortPosition
(@NonNull CassandreStrategy strategy, @NonNull CurrencyPairDTO currencyPair, @NonNull BigDecimal amount, @NonNull PositionRulesDTO rules) Creates a short position with its associated rules.final void
forcePositionClosing
(long positionUid) Force a position to close (no matter the rules).final Map<Long,
CurrencyAmountDTO> Returns the amounts locked by each position.final Map<CurrencyDTO,
GainDTO> getGains()
Return the gains made by all closed positions.final Map<CurrencyDTO,
GainDTO> getGains
(long strategyUid) Return the gains made by all closed positions of a strategy.final Optional<PositionDTO>
getPositionByUid
(long positionUid) Get position by position uid.final Set<PositionDTO>
Get positions.final void
setAutoClose
(long positionUid, boolean value) Set auto close value on a specific position.final void
updatePositionRules
(long positionUid, @NonNull PositionRulesDTO newRules) Update position rules.
-
Constructor Details
-
PositionServiceCassandreImplementation
public PositionServiceCassandreImplementation(PositionRepository positionRepository, TradeService tradeService, PositionFlux positionFlux)
-
-
Method Details
-
createLongPosition
public final PositionCreationResultDTO createLongPosition(@NonNull @NonNull CassandreStrategy strategy, @NonNull @NonNull CurrencyPairDTO currencyPair, @NonNull @NonNull BigDecimal amount, @NonNull @NonNull PositionRulesDTO rules) Description copied from interface:PositionService
Creates a long position with its associated rules. Long position is nothing but buying share. If you are bullish (means you think that price of X share will rise) at that time you buy some amount of Share is called taking Long Position in share.- Specified by:
createLongPosition
in interfacePositionService
- Parameters:
strategy
- strategycurrencyPair
- currency pairamount
- amountrules
- rules- Returns:
- position creation result
-
createShortPosition
public final PositionCreationResultDTO createShortPosition(@NonNull @NonNull CassandreStrategy strategy, @NonNull @NonNull CurrencyPairDTO currencyPair, @NonNull @NonNull BigDecimal amount, @NonNull @NonNull PositionRulesDTO rules) Description copied from interface:PositionService
Creates a short position with its associated rules. Short position is nothing but selling share. If you are bearish (means you think that price of X share are going to fall) at that time you sell some amount of share is called taking Short Position in share.- Specified by:
createShortPosition
in interfacePositionService
- Parameters:
strategy
- strategycurrencyPair
- currency pairamount
- amountrules
- rules- Returns:
- position creation result
-
updatePositionRules
public final void updatePositionRules(long positionUid, @NonNull @NonNull PositionRulesDTO newRules) Description copied from interface:PositionService
Update position rules.- Specified by:
updatePositionRules
in interfacePositionService
- Parameters:
positionUid
- position uidnewRules
- new rules
-
closePosition
public final OrderCreationResultDTO closePosition(@NonNull @NonNull CassandreStrategyInterface strategy, long positionUid, @NonNull @NonNull TickerDTO ticker) Description copied from interface:PositionService
Close a position.- Specified by:
closePosition
in interfacePositionService
- Parameters:
strategy
- strategypositionUid
- position uidticker
- ticker- Returns:
- order creation result
-
setAutoClose
public final void setAutoClose(long positionUid, boolean value) Description copied from interface:PositionService
Set auto close value on a specific position. If true, Cassandre will close the position according to rules. if false, Cassandre will never close the position itself.- Specified by:
setAutoClose
in interfacePositionService
- Parameters:
positionUid
- position uidvalue
- auto close value
-
forcePositionClosing
public final void forcePositionClosing(long positionUid) Description copied from interface:PositionService
Force a position to close (no matter the rules).- Specified by:
forcePositionClosing
in interfacePositionService
- Parameters:
positionUid
- position uid
-
getPositions
Description copied from interface:PositionService
Get positions.- Specified by:
getPositions
in interfacePositionService
- Returns:
- position list
-
getPositionByUid
Description copied from interface:PositionService
Get position by position uid.- Specified by:
getPositionByUid
in interfacePositionService
- Parameters:
positionUid
- position uid- Returns:
- position
-
getAmountsLockedByPosition
Description copied from interface:PositionService
Returns the amounts locked by each position.- Specified by:
getAmountsLockedByPosition
in interfacePositionService
- Returns:
- amounts locked by each position
-
getGains
Description copied from interface:PositionService
Return the gains made by all closed positions of a strategy. If strategyUid equals 0, returns all the gains.- Specified by:
getGains
in interfacePositionService
- Parameters:
strategyUid
- strategy uid- Returns:
- gains by currency.
-
getGains
Description copied from interface:PositionService
Return the gains made by all closed positions.- Specified by:
getGains
in interfacePositionService
- Returns:
- gains by currency.
-