public override void OnDataUpdate(BarDataEventArgs barData)
{
var pmaxKline = Math.Round(pmax.KLine.CurrentValue, 2);
var pmaxSTline = Math.Round(pmax.StLine.CurrentValue, 2);
var mostline = Math.Round(most.CurrentValue, 2);
var exmov = Math.Round(most.ExMOV.CurrentValue, 2);
Debug("***********************************************");
Debug("pmaxSTline = " + pmaxSTline);
Debug("pmaxKline = " + pmaxKline);
if (CrossAbove(most.ExMOV, most) && pmaxKline > pmaxSTline && realposition == 0)
{
SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Buy));
Debug("Alış emri gonderildi.");
}
if (CrossBelow(most.ExMOV, most) && pmaxKline < pmaxSTline && realposition == 0)
{
SendMarketOrder(Symbol, SellOrderQuantity, (OrderSide.Sell));
Debug("Satış emri gonderildi.");
}
if (CrossBelow(pmax.KLine, pmax.StLine) && realposition > 0)
{
SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Sell));
Debug("Long pozisyon kapatildi.");
}
if (CrossAbove(pmax.KLine, pmax.StLine) && realposition < 0)
{
SendMarketOrder(Symbol, BuyOrderQuantity, (OrderSide.Buy));
Debug("Short pozisyon kapatildi.");
}
}
public override void OnOrderUpdate(IOrder order)
{
123 . SATIR .. if (order.OrdStatus.Obj == OrdStatus.Filled && order.Side.Obj == Side.Buy)
{
var positionChange = order.OrderQty;
realposition += (int) positionChange;
Debug("[ONORDERUPDATE]: Pozisyon = " + realposition);
}
if (order.OrdStatus.Obj == OrdStatus.Filled && order.Side.Obj == Side.Sell)
{
var positionChange = order.OrderQty;
realposition -= (int) positionChange;
Debug("[ONORDERUPDATE]: Pozisyon = " + realposition);