Skip to content

Commit

Permalink
Merge e6debbf into 5a5c165
Browse files Browse the repository at this point in the history
  • Loading branch information
Connie-Wild committed Mar 12, 2018
2 parents 5a5c165 + e6debbf commit 7b26a1d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/PairTrader.ts
Expand Up @@ -100,14 +100,21 @@ export default class PairTrader extends EventEmitter {
private async sendOrder(quote: Quote, targetVolume: number, orderType: OrderType): Promise<OrderImpl> {
this.log.info(t`SendingOrderTargettingQuote`, formatQuote(quote));
const brokerConfig = findBrokerConfig(this.configStore.config, quote.broker);
const { config } = this.configStore;
const { cashMarginType, leverageLevel } = brokerConfig;
const orderSide = quote.side === QuoteSide.Ask ? OrderSide.Buy : OrderSide.Sell;
const orderPrice =
(quote.side == QuoteSide.Ask && config.AcceptablePriceRange != undefined)
? _.round(quote.price * (1 + config.AcceptablePriceRange/100)) as number
: (quote.side == QuoteSide.Bid && config.AcceptablePriceRange != undefined)
? _.round(quote.price * (1 - config.AcceptablePriceRange/100)) as number
: quote.price;
const order = new OrderImpl({
symbol: this.configStore.config.symbol,
broker: quote.broker,
side: orderSide,
size: targetVolume,
price: quote.price,
price: orderPrice,
cashMarginType,
type: orderType,
leverageLevel
Expand Down
1 change: 1 addition & 0 deletions src/types/config.ts
Expand Up @@ -101,6 +101,7 @@ export class ConfigRoot extends Castable {
@cast maxTargetProfit: number;
@cast maxTargetProfitPercent: number;
@cast maxTargetVolumePercent: number;
@cast AcceptablePriceRange: number;
@cast iterationInterval: number;
@cast positionRefreshInterval: number;
@cast sleepAfterSend: number;
Expand Down
1 change: 1 addition & 0 deletions webui/src/app/types/config.ts
Expand Up @@ -101,6 +101,7 @@ export class ConfigRoot extends Castable {
@cast maxTargetProfit: number;
@cast maxTargetProfitPercent: number;
@cast maxTargetVolumePercent: number;
@cast AcceptablePriceRange: number;
@cast iterationInterval: number;
@cast positionRefreshInterval: number;
@cast sleepAfterSend: number;
Expand Down

0 comments on commit 7b26a1d

Please sign in to comment.