mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-02 15:10:46 +00:00
linter: Enable gofumpt and run against codebase (#1848)
* linter: Enable gofumpt and run against codebase * Address shazbert's nits * gofumpt: Fix issues after rebase
This commit is contained in:
@@ -760,154 +760,202 @@ var movementTests = []struct {
|
||||
name string
|
||||
tests []movementTest
|
||||
}{
|
||||
{"HitTheBidsByImpactSlippage",
|
||||
{
|
||||
"HitTheBidsByImpactSlippage",
|
||||
[]movementTest{
|
||||
{[]any{0.7485029940119761, 1336.0}, Movement{Sold: 10}}, // First and second price from best bid - price level target 1326 (which should be kept)
|
||||
{[]any{1.4221556886227544, 1336.0}, Movement{Sold: 19}}, // All the way up to the last price from best bid price
|
||||
}},
|
||||
{"HitTheBidsByImpactSlippageFromMid",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsByImpactSlippageFromMid",
|
||||
[]movementTest{
|
||||
{[]any{0.7485029940119761}, Movement{Sold: 10.0}}, // First and second price from mid - price level target 1326 (which should be kept)
|
||||
{[]any{1.4221556886227544}, Movement{Sold: 19.0}}, // All the way up to the last price from best bid price
|
||||
}},
|
||||
{"HitTheBidsByNominalSlippageFromMid",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsByNominalSlippageFromMid",
|
||||
[]movementTest{
|
||||
{[]any{0.03741114852226}, Movement{Sold: 1.0}}, // First price from mid point
|
||||
{[]any{0.74822297044519}, Movement{Sold: 20.0}}, // All the way up to the last price from mid price
|
||||
}},
|
||||
{"HitTheBidsByNominalSlippageFromBest",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsByNominalSlippageFromBest",
|
||||
[]movementTest{
|
||||
{[]any{0.037425149700599}, Movement{Sold: 2.0}}, // First and second price from best bid
|
||||
{[]any{0.71107784431138}, Movement{Sold: 20.0, FullBookSideConsumed: true}}, // All the way up to the last price from best bid price
|
||||
}},
|
||||
{"LiftTheAsksByNominalSlippage",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksByNominalSlippage",
|
||||
[]movementTest{
|
||||
{[]any{0.037397157816006, 1337.0}, Movement{Sold: 2675.0}}, // First and second price
|
||||
{[]any{0.71054599850411, 1337.0}, Movement{Sold: 26930.0}}, // All the way up to the last price
|
||||
}},
|
||||
{"LiftTheAsksByNominalSlippageFromMid",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksByNominalSlippageFromMid",
|
||||
[]movementTest{
|
||||
{[]any{0.074822297044519}, Movement{Sold: 2675.0}}, // First price from mid point
|
||||
{[]any{0.74822297044519}, Movement{Sold: 26930.0}}, // All the way up to the last price from mid price
|
||||
}},
|
||||
{"LiftTheAsksByNominalSlippageFromBest",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksByNominalSlippageFromBest",
|
||||
[]movementTest{
|
||||
{[]any{0.037397157816006}, Movement{Sold: 2675.0}}, // First and second price from best bid
|
||||
{[]any{0.71054599850411}, Movement{Sold: 26930.0}}, // All the way up to the last price from best bid price
|
||||
}},
|
||||
{"HitTheBidsByImpactSlippageFromBest",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsByImpactSlippageFromBest",
|
||||
[]movementTest{
|
||||
{[]any{0.7485029940119761}, Movement{Sold: 10.0}}, // First and second price from mid - price level target 1326 (which should be kept)
|
||||
{[]any{1.4221556886227544}, Movement{Sold: 19.0}}, // All the way up to the last price from best bid price
|
||||
}},
|
||||
{"LiftTheAsksByImpactSlippage",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksByImpactSlippage",
|
||||
[]movementTest{
|
||||
{[]any{0.7479431563201197, 1337.0}, Movement{Sold: 13415.0}}, // First and second price from best bid - price level target 1326 (which should be kept)
|
||||
{[]any{1.4210919970082274, 1337.0}, Movement{Sold: 25574.0}}, // All the way up to the last price from best bid price
|
||||
}},
|
||||
{"LiftTheAsksByImpactSlippageFromMid",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksByImpactSlippageFromMid",
|
||||
[]movementTest{
|
||||
{[]any{0.7485029940119761}, Movement{Sold: 13415.0}}, // First and second price from mid - price level target 1326 (which should be kept)
|
||||
{[]any{1.4221556886227544}, Movement{Sold: 25574.0}}, // All the way up to the last price from best bid price
|
||||
}},
|
||||
{"LiftTheAsksByImpactSlippageFromBest",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksByImpactSlippageFromBest",
|
||||
[]movementTest{
|
||||
{[]any{0.7479431563201197}, Movement{Sold: 13415.0}}, // First and second price from mid - price level target 1326 (which should be kept)
|
||||
// All the way up to the last price from best bid price
|
||||
// This goes to price 1356, it will not count that tranches' volume as it is needed to sustain the slippage.
|
||||
{[]any{1.4210919970082274}, Movement{Sold: 25574.0}},
|
||||
}},
|
||||
{"HitTheBidsByNominalSlippage",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsByNominalSlippage",
|
||||
[]movementTest{
|
||||
{[]any{0.0, 1336.0}, Movement{Sold: 1.0, NominalPercentage: 0.0, StartPrice: 1336.0, EndPrice: 1336.0}}, // 1st
|
||||
{[]any{0.037425149700598806, 1336.0}, Movement{Sold: 2.0, NominalPercentage: 0.037425149700598806, StartPrice: 1336.0, EndPrice: 1335.0}}, // 2nd
|
||||
{[]any{0.02495009980039353, 1336.0}, Movement{Sold: 1.5, NominalPercentage: 0.02495009980039353, StartPrice: 1336.0, EndPrice: 1335.0}}, // 1.5ish
|
||||
{[]any{0.7110778443113772, 1336.0}, Movement{Sold: 20, NominalPercentage: 0.7110778443113772, StartPrice: 1336.0, EndPrice: 1317.0, FullBookSideConsumed: true}}, // All
|
||||
}},
|
||||
{"HitTheBids",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBids",
|
||||
[]movementTest{
|
||||
{[]any{20.1, 1336.0, false}, Movement{Sold: 20.0, FullBookSideConsumed: true}},
|
||||
{[]any{1.0, 1336.0, false}, Movement{ImpactPercentage: 0.07485029940119761, NominalPercentage: zero, SlippageCost: zero}},
|
||||
{[]any{19.5, 1336.0, false}, Movement{NominalPercentage: 0.692845079072617, ImpactPercentage: 1.4221556886227544, SlippageCost: 180.5}},
|
||||
{[]any{20.0, 1336.0, false}, Movement{NominalPercentage: 0.7110778443113772, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"HitTheBids_QuotationRequired",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBids_QuotationRequired",
|
||||
[]movementTest{
|
||||
{[]any{26531.0, 1336.0, true}, Movement{Sold: 20.0, FullBookSideConsumed: true}},
|
||||
{[]any{1336.0, 1336.0, true}, Movement{ImpactPercentage: 0.07485029940119761, NominalPercentage: zero, SlippageCost: zero}},
|
||||
{[]any{25871.5, 1336.0, true}, Movement{NominalPercentage: 0.692845079072617, ImpactPercentage: 1.4221556886227544, SlippageCost: 180.5}},
|
||||
{[]any{26530.0, 1336.0, true}, Movement{NominalPercentage: 0.7110778443113772, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"HitTheBidsFromMid",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsFromMid",
|
||||
[]movementTest{
|
||||
{[]any{20.1, false}, Movement{Sold: 20.0, FullBookSideConsumed: true}},
|
||||
{[]any{1.0, false}, Movement{ImpactPercentage: 0.11223344556677892, NominalPercentage: 0.03741114852225963, SlippageCost: zero}}, // mid price 1336.5 -> 1335
|
||||
{[]any{19.5, false}, Movement{NominalPercentage: 0.7299970262933156, ImpactPercentage: 1.4590347923681257, SlippageCost: 180.5}},
|
||||
{[]any{20.0, false}, Movement{NominalPercentage: 0.7482229704451926, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"HitTheBidsFromMid_QuotationRequired",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsFromMid_QuotationRequired",
|
||||
[]movementTest{
|
||||
{[]any{26531.0, true}, Movement{Sold: 20.0, FullBookSideConsumed: true}},
|
||||
{[]any{1336.0, true}, Movement{ImpactPercentage: 0.11223344556677892, NominalPercentage: 0.03741114852225963, SlippageCost: zero}}, // mid price 1336.5 -> 1335
|
||||
{[]any{25871.5, true}, Movement{NominalPercentage: 0.7299970262933156, ImpactPercentage: 1.4590347923681257, SlippageCost: 180.5}},
|
||||
{[]any{26530.0, true}, Movement{NominalPercentage: 0.7482229704451926, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"HitTheBidsFromBest",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsFromBest",
|
||||
[]movementTest{
|
||||
{[]any{20.1, false}, Movement{Sold: 20.0, FullBookSideConsumed: true}},
|
||||
{[]any{1.0, false}, Movement{ImpactPercentage: 0.07485029940119761, NominalPercentage: zero, SlippageCost: zero}},
|
||||
{[]any{19.5, false}, Movement{NominalPercentage: 0.692845079072617, ImpactPercentage: 1.4221556886227544, SlippageCost: 180.5}},
|
||||
{[]any{20.0, false}, Movement{NominalPercentage: 0.7110778443113772, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"HitTheBidsFromBest_QuotationRequired",
|
||||
},
|
||||
},
|
||||
{
|
||||
"HitTheBidsFromBest_QuotationRequired",
|
||||
[]movementTest{
|
||||
{[]any{26531.0, true}, Movement{Sold: 20.0, FullBookSideConsumed: true}},
|
||||
{[]any{1336.0, true}, Movement{ImpactPercentage: 0.07485029940119761, NominalPercentage: zero, SlippageCost: zero}},
|
||||
{[]any{25871.5, true}, Movement{NominalPercentage: 0.692845079072617, ImpactPercentage: 1.4221556886227544, SlippageCost: 180.5}},
|
||||
{[]any{26530.0, true}, Movement{NominalPercentage: 0.7110778443113772, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"LiftTheAsks",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsks",
|
||||
[]movementTest{
|
||||
{[]any{26931.0, 1337.0, false}, Movement{Sold: 26930.0, FullBookSideConsumed: true}},
|
||||
{[]any{1337.0, 1337.0, false}, Movement{ImpactPercentage: 0.07479431563201197, NominalPercentage: zero, SlippageCost: zero}},
|
||||
{[]any{26900.0, 1337.0, false}, Movement{NominalPercentage: 0.7097591258590459, ImpactPercentage: 1.4210919970082274, SlippageCost: 189.57964601770072}},
|
||||
{[]any{26930.0, 1336.0, false}, Movement{NominalPercentage: 0.7859281437125748, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"LiftTheAsks_BaseRequired",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsks_BaseRequired",
|
||||
[]movementTest{
|
||||
{[]any{21.0, 1337.0, true}, Movement{Sold: 26930.0, FullBookSideConsumed: true}},
|
||||
{[]any{1.0, 1337.0, true}, Movement{ImpactPercentage: 0.07479431563201197, NominalPercentage: zero, SlippageCost: zero}},
|
||||
{[]any{19.97787610619469, 1337.0, true}, Movement{NominalPercentage: 0.7097591258590459, ImpactPercentage: 1.4210919970082274, SlippageCost: 189.57964601770072}},
|
||||
{[]any{20.0, 1336.0, true}, Movement{NominalPercentage: 0.7859281437125748, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"LiftTheAsksFromMid",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksFromMid",
|
||||
[]movementTest{
|
||||
{[]any{26931.0, false}, Movement{Sold: 26930.0, FullBookSideConsumed: true}},
|
||||
{[]any{1337.0, false}, Movement{NominalPercentage: 0.03741114852225963, ImpactPercentage: 0.11223344556677892, SlippageCost: zero}},
|
||||
{[]any{26900.0, false}, Movement{NominalPercentage: 0.747435803422031, ImpactPercentage: 1.4590347923681257, SlippageCost: 189.57964601770072}},
|
||||
{[]any{26930.0, false}, Movement{NominalPercentage: 0.7482229704451926, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"LiftTheAsksFromMid_BaseRequired",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksFromMid_BaseRequired",
|
||||
[]movementTest{
|
||||
{[]any{21.0, true}, Movement{Sold: 26930.0, FullBookSideConsumed: true}},
|
||||
{[]any{1.0, true}, Movement{NominalPercentage: 0.03741114852225963, ImpactPercentage: 0.11223344556677892, SlippageCost: zero}},
|
||||
{[]any{19.97787610619469, true}, Movement{NominalPercentage: 0.7474358034220139, ImpactPercentage: 1.4590347923681257, SlippageCost: 189.5796460176971}},
|
||||
{[]any{20.0, true}, Movement{NominalPercentage: 0.7482229704451926, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"LiftTheAsksFromBest",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksFromBest",
|
||||
[]movementTest{
|
||||
{[]any{26931.0, false}, Movement{Sold: 26930.0, FullBookSideConsumed: true}},
|
||||
{[]any{1337.0, false}, Movement{NominalPercentage: zero, ImpactPercentage: 0.07479431563201197, SlippageCost: zero}},
|
||||
{[]any{26900.0, false}, Movement{NominalPercentage: 0.7097591258590459, ImpactPercentage: 1.4210919970082274, SlippageCost: 189.579646017701}},
|
||||
{[]any{26930.0, false}, Movement{NominalPercentage: 0.7105459985041137, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
{"LiftTheAsksFromBest_BaseRequired",
|
||||
},
|
||||
},
|
||||
{
|
||||
"LiftTheAsksFromBest_BaseRequired",
|
||||
[]movementTest{
|
||||
{[]any{21.0, true}, Movement{Sold: 26930.0, FullBookSideConsumed: true}},
|
||||
{[]any{1.0, true}, Movement{NominalPercentage: zero, ImpactPercentage: 0.07479431563201197, SlippageCost: zero}},
|
||||
{[]any{19.97787610619469, true}, Movement{NominalPercentage: 0.7097591258590459, ImpactPercentage: 1.4210919970082274, SlippageCost: 189.579646017701}},
|
||||
{[]any{20.0, true}, Movement{NominalPercentage: 0.7105459985041137, ImpactPercentage: FullLiquidityExhaustedPercentage, SlippageCost: 190.0, FullBookSideConsumed: true}},
|
||||
}},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func TestPair(t *testing.T) {
|
||||
|
||||
@@ -230,10 +230,10 @@ func (b *Base) Verify() error {
|
||||
|
||||
// checker defines specific functionality to determine ascending/descending
|
||||
// validation
|
||||
type checker func(current Tranche, previous Tranche) error
|
||||
type checker func(current, previous Tranche) error
|
||||
|
||||
// asc specifically defines ascending price check
|
||||
var asc = func(current Tranche, previous Tranche) error {
|
||||
var asc = func(current, previous Tranche) error {
|
||||
if current.Price < previous.Price {
|
||||
return errPriceOutOfOrder
|
||||
}
|
||||
@@ -241,7 +241,7 @@ var asc = func(current Tranche, previous Tranche) error {
|
||||
}
|
||||
|
||||
// dsc specifically defines descending price check
|
||||
var dsc = func(current Tranche, previous Tranche) error {
|
||||
var dsc = func(current, previous Tranche) error {
|
||||
if current.Price > previous.Price {
|
||||
return errPriceOutOfOrder
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user