為了計算當天的結(jié)算單 [開拓者 TB]
- 咨詢內(nèi)容:
Vars
Numeric nCount0;
Numeric i0;
Numeric nEntryFlag0;
Numeric nbuyFlag0;
Numeric nbuyexitlot0;
Numeric mycapital0;
Numeric yingkuiprice;
Numeric todaycapitalnun;
Begin
If(BarStatus==2)
{
nCount0 = Data0.A_GetOrderCount();
If(nCount0>=1)
{
For i0 = 0 To nCount0
{
nEntryFlag0 = A_OrderEntryOrExit(i0);
nbuyFlag0 = A_OrderBuyOrSell(i0);
If(nEntryFlag0 == Enum_Exit() && nbuyFlag0 == Enum_Buy)
{
nbuyexitlot0 = A_OrderFilledLot;
if(Data0.A_BuyPosition>Data0.A_SellPosition) mycapital0=(Data0.Q_PreSettlePrice-Data0.A_OrderFilledPrice)*Data0.ContractUnit*nbuyexitlot0+(Data0.Q_AvgPrice-Data0.Q_PreSettlePrice)*Data0.ContractUnit*(Data0.A_BuyPosition-Data0.A_SellPosition-nbuyexitlot0);
If(Data0.A_SellPosition>=Data0.A_BuyPosition) mycapital0=(Data0.Q_PreSettlePrice-Data0.A_OrderFilledPrice)*Data0.ContractUnit*nbuyexitlot0+(Data0.Q_PreSettlePrice-Data0.Q_AvgPrice)*Data0.ContractUnit*(Data0.A_SellPosition-Data0.A_BuyPosition-nbuyexitlot0);
}Else If(nEntryFlag0 == Enum_Exit() && nbuyFlag0 == Enum_sell)
{
nbuyexitlot0 = A_OrderFilledLot;
if(Data0.A_BuyPosition>Data0.A_SellPosition) mycapital0=(Data0.A_OrderFilledPrice-Data0.Q_PreSettlePrice)*Data0.ContractUnit*nbuyexitlot0+(Data0.Q_AvgPrice-Data0.Q_PreSettlePrice)*Data0.ContractUnit*(Data0.A_BuyPosition-Data0.A_SellPosition-nbuyexitlot0);
If(Data0.A_SellPosition>=Data0.A_BuyPosition) mycapital0=(Data0.A_OrderFilledPrice-Data0.Q_PreSettlePrice)*Data0.ContractUnit*nbuyexitlot0+(Data0.Q_PreSettlePrice-Data0.Q_AvgPrice)*Data0.ContractUnit*(Data0.A_SellPosition-Data0.A_BuyPosition-nbuyexitlot0);
}
}
If(Data0.A_TodayBuyPosition>0 Or Data0. A_TodaySellPosition>0)
{
if(Data0.A_BuyPosition>Data0.A_SellPosition) mycapital0=(Data0.Q_AvgPrice-Data0.A_OrderFilledPrice)*Data0.ContractUnit*Data0.A_todayBuyPosition+(Data0.Q_AvgPrice-Data0.Q_PreSettlePrice)*Data0.ContractUnit*(Data0.A_BuyPosition-Data0.A_SellPosition-Data0.A_todayBuyPosition);
If(Data0.A_SellPosition>Data0.A_BuyPosition) mycapital0=(Data0.A_OrderFilledPrice-Data0.Q_AvgPrice)*Data0.ContractUnit*Data0.A_todaySellPosition+(Data0.Q_PreSettlePrice-Data0.Q_AvgPrice)*Data0.ContractUnit*(Data0.A_SellPosition-Data0.A_BuyPosition-Data0.A_todaySellPosition);
}
}Else If(Data0.A_BuyPosition>0 Or Data0.A_SellPosition>0)
{
if(Data0.A_BuyPosition>Data0.A_SellPosition) mycapital0=(Data0.Q_AvgPrice-Data0.Q_PreSettlePrice)*Data0.ContractUnit*(Data0.A_BuyPosition-Data0.A_SellPosition);
If(Data0.A_SellPosition>Data0.A_BuyPosition) mycapital0=(Data0.Q_PreSettlePrice-Data0.Q_AvgPrice)*Data0.ContractUnit*(Data0.A_SellPosition-Data0.A_BuyPosition);
}
yingkuiprice=mycapital0;
todaycapitalnun=A_PreviousEquity+A_TodayDeposit-A_TodayDrawing+yingkuiprice;
FileDelete("E:\\興業(yè)日結(jié)單核對文檔.txt");
FileAppend("E:\\興業(yè)日結(jié)單核對文檔.txt", "商品名稱"+" "+"當日盈虧"+" "+"今開倉價"+" "+"今天結(jié)算價"+" "+"昨天結(jié)算價"+" "+"合約單位"+" "+"多倉"+" "+"空倉"+" "+"昨日結(jié)存"+" "+"當日入金"+" "+"當日出金"+" "+"當日盈虧"+" "+"當日結(jié)存"+" "+"總計");
FileAppend("E:\\興業(yè)日結(jié)單核對文檔.txt", Data0.SymbolName+" "+Text(mycapital0)+" "+Text(Data0.A_OrderFilledPrice)+" "+Text(Data0.Q_AvgPrice)+" "+Text(Data0.Q_PreSettlePrice)+" "+Text(Data0.ContractUnit)+" "+Text(Data0.A_Buyposition)+" "+Text(Data0.A_sellposition)+" "+Text(A_PreviousEquity)+" "+Text(A_TodayDeposit)+" "+Text(A_TodayDrawing)+" "+Text(yingkuiprice)+" "+Text(todaycapitalnun));
}
End
為了計算當天的結(jié)算單
為何編譯能通過,但不能輸出文檔
請管理員或高手幫忙修改一下!謝謝
- TB技術人員:
我復制公式在自己的機器上運行,就一直是無響應。貌似是一個死循環(huán)跳不出來。
- TB客服: 應該是有邏輯錯誤
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯(lián)系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內(nèi)容