fix trading params comment

This commit is contained in:
Adrian Brzeziński 2023-05-25 22:06:22 +02:00
parent 249a1d7452
commit ebc0595310
2 changed files with 22 additions and 13 deletions

View File

@ -71,9 +71,14 @@ const CreateOpenbookMarketModal = ({
)
}
return {
minOrder: 0,
priceTick: 0,
baseLotSize: 0,
baseLots: 0,
quoteLots: 0,
minOrderValue: 0,
baseLotExponent: 0,
quoteLotExponent: 0,
minOrderSize: 0,
priceIncrement: 0,
priceIncrementRelative: 0,
}
}, [baseBank, quoteBank])
console.log(tradingParams)
@ -138,14 +143,14 @@ const CreateOpenbookMarketModal = ({
programId: OPENBOOK_PROGRAM_ID[CLUSTER].toBase58(),
baseMint: baseBank?.mint.toBase58() || '',
quoteMint: quoteBank?.mint.toBase58() || '',
minimumOrderSize: tradingParams.minOrder.toString(),
minimumPriceTickSize: tradingParams.priceTick.toString(),
minimumOrderSize: tradingParams.minOrderSize.toString(),
minimumPriceTickSize: tradingParams.priceIncrement.toString(),
})
}, [
baseBank?.mint,
quoteBank?.mint,
tradingParams.minOrder,
tradingParams.priceTick,
tradingParams.minOrderSize,
tradingParams.priceIncrement,
])
useEffect(() => {

View File

@ -194,12 +194,12 @@ export const getBestMarket = async ({
// if minOrderValue > 0.05:
// break;
// Derive: quoteLotExponent <= min[ priceIncrement * basePrice / quotePrice > 0.000025 ]
// Derive: quoteLotExponent <= min[ priceIncrement * quotePrice / basePrice > 0.000025 ]
// quoteLotExponent = 0
// While (quoteLotExponent < 10):
// priceIncrement = 10^(quoteLotExponent + baseDecimals - baseLotExponent - quoteDecimals)
// priceIncrementRelative = priceIncrement * quotePrice / basePrice
// if priceIncrementRelative > 0.00005:
// if priceIncrementRelative > 0.000025:
// break;
export function calculateTradingParameters(
@ -210,6 +210,7 @@ export function calculateTradingParameters(
) {
const MAX_MIN_ORDER_VALUE = 0.05
const MIN_PRICE_INCREMENT_RELATIVE = 0.000025
const EXPONENT_THRESHOLD = 10
let minOrderSize = 0
let priceIncrement = 0
@ -228,7 +229,7 @@ export function calculateTradingParameters(
}
baseLotExponent++
} while (baseLotExponent < 10)
} while (baseLotExponent < EXPONENT_THRESHOLD)
// Calculate price increment
do {
@ -242,8 +243,9 @@ export function calculateTradingParameters(
}
quoteLotExponent++
} while (quoteLotExponent < 10)
} while (quoteLotExponent < EXPONENT_THRESHOLD)
//exception override values in that case example eth/btc market
if (
quoteLotExponent === 0 &&
priceIncrementRelative > 0.001 &&
@ -260,11 +262,13 @@ export function calculateTradingParameters(
}
return {
baseLots: Math.pow(10, baseLotExponent),
quoteLots: Math.pow(10, quoteLotExponent),
minOrderValue: minOrderValue,
baseLotExponent: baseLotExponent,
quoteLotExponent: quoteLotExponent,
minOrder: minOrderSize,
priceTick: priceIncrement,
minOrderSize: minOrderSize,
priceIncrement: priceIncrement,
priceIncrementRelative: priceIncrementRelative,
}
}