Libraryless. Click here for Pure Java version (30183L/191K).
sclass TradingPosition { settable S coin; settable bool isLong; settable int leverage; // How much we originally invest in USDT settable double marginInvestment; // How much USDT margin we end up with settable double margin; // How much crypto we bet on settable double amount; // Is position still open? settable bool ongoing; settable long openingTime; settable long closingTime; settable double openingPrice; // closing or current price settable double closingPrice; settable double openingFees; settable double closingFees; settable double profit = Double.NaN; // Actual price movement during position settable TradingCandle candle; // Signal we acted on (optional) settable TradingSignal afterSignal; double openingFeePercentage() { ret doubleRatio(openingFees, margin*leverage); } double priceDifference() { ret closingPrice-openingPrice; } double leveragedPriceDifference() { ret priceDifference()*leverage; } // PNL = Profit & Loss double expectedPNL aka relativeValue() { ret !isNaN(profit) ? profit : (isLong() ? 1 : -1)*leveragedPriceDifference()*amount; } bool isWinner() { ret relativeValue() >= 0; } bool isOpen() { ret ongoing; } int direction() { ret isLong() ? 1 : -1; } static TradingPosition fromStrategy(G22TradingStrategy.Position p) { ret new TradingPosition() .profit(p.profit()) .openingTime(p.openingTime()) .closingTime(p.closingTime()) .openingPrice(p.openingPrice()) .closingPrice(p.closingPrice()) .isLong(p.direction > 0) .leverage(iround(p.leverage)); } }
download show line numbers debug dex old transpilations
Travelled to 3 computer(s): elmgxqgtpvxh, mqqgnosmbjvj, wnsclhtenguj
No comments. add comment
Snippet ID: | #1036119 |
Snippet name: | TradingPosition |
Eternal ID of this version: | #1036119/12 |
Text MD5: | 1e77967db1d6af89752a34e318727fb3 |
Transpilation MD5: | 43c9efc74c049a2ea8f8db114b530cb0 |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2023-03-12 23:26:39 |
Source code size: | 1748 bytes / 70 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 160 / 255 |
Version history: | 11 change(s) |
Referenced in: | #1003674 - Standard Classes + Interfaces (LIVE continued in #1034167) |