Merhaba,
Eğer Bist tarafında işlem yapıyorsanız GetPriceStepForBistViop() fonksiyonunu aşağıdaki gibi kullanabilirsiniz.
var fiyatYuvarla=GetPriceStepForBistViop(Symbol,ema.CurrentValue);
Her iki piyasada da işlem yapacaksanız aşağıdaki yapıyı kullanabilirsiniz.
decimal priceStep, quantityStep = 1;
int exchangeID;
public override void OnInitComplated()
{
var priceStep = 0.0m;
var symbolDetail = GetSymbolDetail(Symbol);
exchangeID = symbolDetail.ExchangeDetail.ExchangeID;
var close = GetSelectedValueFromBarData(GetBarData(), OHLCType.Close);
if (exchangeID != (int) ExchangeType.Ise && exchangeID != (int) ExchangeType.Viop)
{
priceStep = 1 / (decimal) Math.Pow(10, symbolDetail.DecimalCount);
quantityStep = 1 / (decimal) Math.Pow(10, symbolDetail.TradeFraction);
}else
{
priceStep = GetPriceStepForBistViop(Symbol, close);
}
Debug("exchangeID: " + exchangeID + " priceStep: " + priceStep + " quantityStep: " + quantityStep);
}
public decimal FX_LotAyarla(decimal quantity)
{
return Math.Floor(quantity / quantityStep) * quantityStep;
}
public decimal FX_FiyatAyarla(decimal price)
{
return Math.Floor(price / priceStep) * priceStep;
}
Kullanımı:
var fiyatYuvarla=FX_FiyatAyarla(ema.CurrentValue);
var lotYuvarla=FX_LotAyarla(oncekiLotMiktari*1.1m);