@@ -30,7 +30,8 @@ public extension SwiftTrader {
30
30
logger. log ( " Offset: \( offset. toDecimalString ( ) ) " )
31
31
32
32
// E.g.: (0.0747 - 0.0073) = 0.0674 (6,74%)
33
- let targetPercentage : Double = profitPercentage - offset
33
+ // Use "abs" to filter out negative numbers.
34
+ let targetPercentage : Double = abs ( profitPercentage - offset)
34
35
logger. log ( " Target percentage: \( targetPercentage. toDecimalString ( ) ) " )
35
36
36
37
// E.g.: 42000.69 * 0.0674 = 2830.846506
@@ -55,7 +56,7 @@ public extension SwiftTrader {
55
56
// "44831.536506" becomes "44831.53".
56
57
let charactersToBeRemoved = abs ( targetPriceCount - entryPriceCount)
57
58
var targetPriceString = " \( targetPrice. toDecimalString ( ) ) " . dropLast ( charactersToBeRemoved)
58
- logger. log ( " Target price normalize : \( targetPriceString) " )
59
+ logger. log ( " Target price normalized : \( targetPriceString) " )
59
60
60
61
// Finally, avoid the following Kucoin error with minimal effort: "The parameter shall be a multiple of ..."
61
62
// First, just try replacing the last character by "1". E.g.: "0.00002347" becomes "0.00002341"
@@ -73,6 +74,7 @@ public extension SwiftTrader {
73
74
// error when you place the order. The tick size is the smallest price increment in which the prices are quoted.
74
75
if let priceDouble = Double ( targetPriceString) , priceDouble > 10 {
75
76
targetPriceString = " \( priceDouble. rounded ( . down) . toDecimalString ( ) ) "
77
+ logger. log ( " Target price string: \( targetPriceString) " )
76
78
}
77
79
78
80
return KucoinOrderParameters (
0 commit comments