Aşağıdaki koda
// Gerekli başla - Açığa satış
[Parameter(true)]
public bool AcigaSatisYapilsin;
[Parameter(false)]
public bool AksamSeansiniDahilEt;
[Parameter(Side.All)]
public Side HangiIslemleBaslasin;
public bool FX_Alis(string sembol, decimal quantity)
{
bool sonuc = false;
if (LastOrderSide.Obj != Side.Buy)
{
var _quantity = (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin) ? quantity:(LastOrderSideForShort.Obj == Side.All) ? quantity:quantity * 2;
SendMarketOrder(sembol, _quantity, OrderSide.Buy, includeAfterSession:AksamSeansiniDahilEt);
Debug("Alış emri gönderildi.[ " + _quantity + " adet ]");
LastOrderSideForShort = LastOrderSide;
sonuc = true;
}
return sonuc;
}
public bool FX_Satis(string sembol, decimal quantity)
{
bool sonuc = false;
if (LastOrderSide.Obj != Side.Sell)
{
var _quantity = (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin) ? quantity:(LastOrderSideForShort.Obj == Side.All) ? quantity:quantity * 2;
SendMarketOrder(sembol, _quantity, OrderSide.Sell, includeAfterSession:AksamSeansiniDahilEt);
Debug("Satış emri gönderildi.[ " + _quantity + " adet ]");
LastOrderSideForShort = LastOrderSide;
sonuc = true;
}
return sonuc;
}
public override void OnSyntheticOrderTriggered(SyntheticAlgoOrder sOrder)
{
if (sOrder.EnableOrderSending)
{
Debug("Sentetik emir tetiklendi");
if (AcigaSatisYapilsin)
LastOrderSide.Obj = Side.All;
}
}
// #Gerekli bitti - Açığa satış
aşağıdaki şekilde bir blok ekledim ama işe yaramadı. Ne yaparsam beceremedim. Bu konuda yardımcı olabilecek var mı?
public bool FX_Stop(string sembol, decimal quantity)
{
bool sonuc = false;
if (LastOrderSide.Obj == Side.Sell && AcigaSatisYapilsin)
{
SendMarketOrder(sembol, quantity, OrderSide.Buy, includeAfterSession:AksamSeansiniDahilEt);
Debug("Kısa pozisyon kapatıldı.[ " + quantity + " adet ]");
LastOrderSideForShort = LastOrderSide;
sonuc = true;
}else if (LastOrderSide.Obj == Side.Buy)
{
SendMarketOrder(sembol, quantity, OrderSide.Sell, includeAfterSession:AksamSeansiniDahilEt);
Debug("Uzun pozisyon kapatıldı.[ " + quantity + " adet ]");
LastOrderSideForShort = LastOrderSide;
sonuc = true;
}
return sonuc;
}