Skip to content

Commit d3ad3f3

Browse files
committed
2 parents 26e7f04 + 275f165 commit d3ad3f3

108 files changed

Lines changed: 2050 additions & 695 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

QuantBox.XAPI/PInvokeUtility.cs

Lines changed: 0 additions & 48 deletions
This file was deleted.

QuantBox.XAPI/QuantBox.XAPI.csproj.user

Lines changed: 0 additions & 19 deletions
This file was deleted.

QuantBox_CTP_Quote/MdUserApi.cpp

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "../include/ApiStruct.h"
77

88
#include "../include/toolkit.h"
9+
#include "../include/ApiProcess.h"
910
#include "../QuantBox_CTP_Trade/TypeConvert.h"
1011

1112
#include "../QuantBox_Queue/MsgQueue.h"
@@ -492,7 +493,7 @@ void CMdUserApi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMark
492493
// // 测试平台穿越速度,用完后需要注释掉
493494
// WriteLog("CTP:OnRtnDepthMarketData:%s %f %s.%03d", pDepthMarketData->InstrumentID, pDepthMarketData->LastPrice, pDepthMarketData->UpdateTime, pDepthMarketData->UpdateMillisec);
494495

495-
DepthMarketDataField* pField = (DepthMarketDataField*)m_msgQueue->new_block(sizeof(DepthMarketDataField));
496+
DepthMarketDataNField* pField = (DepthMarketDataNField*)m_msgQueue->new_block(sizeof(DepthMarketDataNField)+sizeof(DepthField)* 10);
496497

497498
strcpy(pField->InstrumentID, pDepthMarketData->InstrumentID);
498499
pField->Exchange = TThostFtdcExchangeIDType_2_ExchangeType(pDepthMarketData->ExchangeID);
@@ -548,60 +549,52 @@ void CMdUserApi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMark
548549
pField->PreSettlementPrice = pDepthMarketData->PreSettlementPrice;
549550
pField->PreOpenInterest = pDepthMarketData->PreOpenInterest;
550551

552+
InitBidAsk(pField);
553+
551554
do
552555
{
553556
if (pDepthMarketData->BidVolume1 == 0)
554557
break;
555-
pField->BidPrice1 = pDepthMarketData->BidPrice1;
556-
pField->BidVolume1 = pDepthMarketData->BidVolume1;
558+
AddBid(pField, pDepthMarketData->BidPrice1, pDepthMarketData->BidVolume1, 0);
557559

558560
if (pDepthMarketData->BidVolume2 == 0)
559561
break;
560-
pField->BidPrice2 = pDepthMarketData->BidPrice2;
561-
pField->BidVolume2 = pDepthMarketData->BidVolume2;
562+
AddBid(pField, pDepthMarketData->BidPrice2, pDepthMarketData->BidVolume2, 0);
562563

563564
if (pDepthMarketData->BidVolume3 == 0)
564565
break;
565-
pField->BidPrice3 = pDepthMarketData->BidPrice3;
566-
pField->BidVolume3 = pDepthMarketData->BidVolume3;
566+
AddBid(pField, pDepthMarketData->BidPrice3, pDepthMarketData->BidVolume3, 0);
567567

568568
if (pDepthMarketData->BidVolume4 == 0)
569569
break;
570-
pField->BidPrice4 = pDepthMarketData->BidPrice4;
571-
pField->BidVolume4 = pDepthMarketData->BidVolume4;
570+
AddBid(pField, pDepthMarketData->BidPrice4, pDepthMarketData->BidVolume4, 0);
572571

573572
if (pDepthMarketData->BidVolume5 == 0)
574573
break;
575-
pField->BidPrice5 = pDepthMarketData->BidPrice5;
576-
pField->BidVolume5 = pDepthMarketData->BidVolume5;
574+
AddBid(pField, pDepthMarketData->BidPrice5, pDepthMarketData->BidVolume5, 0);
577575
} while (false);
578576

579577
do
580578
{
581579
if (pDepthMarketData->AskVolume1 == 0)
582580
break;
583-
pField->AskPrice1 = pDepthMarketData->AskPrice1;
584-
pField->AskVolume1 = pDepthMarketData->AskVolume1;
581+
AddAsk(pField, pDepthMarketData->AskPrice1, pDepthMarketData->AskVolume1, 0);
585582

586583
if (pDepthMarketData->AskVolume2 == 0)
587584
break;
588-
pField->AskPrice2 = pDepthMarketData->AskPrice2;
589-
pField->AskVolume2 = pDepthMarketData->AskVolume2;
585+
AddAsk(pField, pDepthMarketData->AskPrice2, pDepthMarketData->AskVolume2, 0);
590586

591587
if (pDepthMarketData->AskVolume3 == 0)
592588
break;
593-
pField->AskPrice3 = pDepthMarketData->AskPrice3;
594-
pField->AskVolume3 = pDepthMarketData->AskVolume3;
589+
AddAsk(pField, pDepthMarketData->AskPrice3, pDepthMarketData->AskVolume3, 0);
595590

596591
if (pDepthMarketData->AskVolume4 == 0)
597592
break;
598-
pField->AskPrice4 = pDepthMarketData->AskPrice4;
599-
pField->AskVolume4 = pDepthMarketData->AskVolume4;
593+
AddAsk(pField, pDepthMarketData->AskPrice4, pDepthMarketData->AskVolume4, 0);
600594

601595
if (pDepthMarketData->AskVolume5 == 0)
602596
break;
603-
pField->AskPrice5 = pDepthMarketData->AskPrice5;
604-
pField->AskVolume5 = pDepthMarketData->AskVolume5;
597+
AddAsk(pField, pDepthMarketData->AskPrice5, pDepthMarketData->AskVolume5, 0);
605598
} while (false);
606599

607600
// 这两个队列先头循序不要搞混,有删除功能的语句要放在后面
@@ -613,7 +606,7 @@ void CMdUserApi::OnRtnDepthMarketData(CThostFtdcDepthMarketDataField *pDepthMark
613606
}
614607
#endif
615608

616-
m_msgQueue->Input_NoCopy(ResponeType::OnRtnDepthMarketData, m_msgQueue, m_pClass, 0, 0, pField, sizeof(DepthMarketDataField), nullptr, 0, nullptr, 0);
609+
m_msgQueue->Input_NoCopy(ResponeType::OnRtnDepthMarketData, m_msgQueue, m_pClass, DepthLevelType::FULL, 0, pField, pField->Size, nullptr, 0, nullptr, 0);
617610
// 要关注一下其内的
618611
//}
619612
}

QuantBox_CTP_Quote/QuantBox_CTP_Quote.depend

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,3 +422,63 @@
422422

423423
1430664196 /home/mep/dev/broker/QuantBox_XAPI/include/CTP/ThostFtdcUserApiDataType.h
424424

425+
1430664196 source:/home/mep/dev/broker/QuantBox_XAPI/QuantBox_CTP_Trade/TypeConvert.cpp
426+
"TypeConvert.h"
427+
428+
1430664196 /home/mep/dev/broker/QuantBox_XAPI/QuantBox_CTP_Trade/TypeConvert.h
429+
"../include/CTP/ThostFtdcUserApiDataType.h"
430+
"../include/CTP/ThostFtdcUserApiStruct.h"
431+
"../include/ApiStruct.h"
432+
433+
1431007128 source:/home/mep/dev/broker/QuantBox_XAPI/QuantBox_CTP_Quote/MdUserApi.cpp
434+
"MdUserApi.h"
435+
"../include/QueueEnum.h"
436+
"../include/ApiHeader.h"
437+
"../include/ApiStruct.h"
438+
"../include/toolkit.h"
439+
"../QuantBox_CTP_Trade/TypeConvert.h"
440+
"../QuantBox_Queue/MsgQueue.h"
441+
"../QuantBox_Queue/RemoteQueue.h"
442+
<string.h>
443+
<cfloat>
444+
<mutex>
445+
<vector>
446+
447+
1431172315 /home/mep/dev/broker/QuantBox_XAPI/QuantBox_Queue/MsgQueue.h
448+
<thread>
449+
<mutex>
450+
<cstring>
451+
<condition_variable>
452+
<atomic>
453+
"../include/CrossPlatform.h"
454+
"../include/QueueHeader.h"
455+
"../include/QueueStruct.h"
456+
"../include/ApiStruct.h"
457+
"concurrentqueue.h"
458+
459+
1427744517 /home/mep/dev/broker/QuantBox_XAPI/include/QueueHeader.h
460+
"../include/CrossPlatform.h"
461+
462+
1427744517 /home/mep/dev/broker/QuantBox_XAPI/include/QueueStruct.h
463+
464+
1427744516 /home/mep/dev/broker/QuantBox_XAPI/QuantBox_Queue/concurrentqueue.h
465+
"relacy/relacy_std.hpp"
466+
"relacy_shims.h"
467+
<atomic>
468+
<cassert>
469+
<cstdint>
470+
<cstdlib>
471+
<type_traits>
472+
<algorithm>
473+
<utility>
474+
<limits>
475+
<climits>
476+
<array>
477+
<thread>
478+
"internal/concurrentqueue_internal_debug.h"
479+
480+
1430046462 /home/mep/dev/broker/QuantBox_XAPI/QuantBox_Queue/RemoteQueue.h
481+
"MsgQueue.h"
482+
"zmq.h"
483+
"czmq.h"
484+

QuantBox_CTP_Quote/QuantBox_CTP_Quote.vcxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@
128128
<GenerateDebugInformation>true</GenerateDebugInformation>
129129
<ModuleDefinitionFile>..\include\ApiHeader.def</ModuleDefinitionFile>
130130
</Link>
131+
<PostBuildEvent>
132+
<Command>xcopy "$(TargetPath)" "$(SolutionDir)XAPI\CTP\x86\" /Y
133+
xcopy "$(SolutionDir)include\CTP\win32\*.dll" "$(SolutionDir)XAPI\CTP\x86\" /Y</Command>
134+
</PostBuildEvent>
131135
</ItemDefinitionGroup>
132136
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
133137
<ClCompile>
@@ -211,13 +215,15 @@
211215
<Text Include="ReadMe.txt" />
212216
</ItemGroup>
213217
<ItemGroup>
218+
<ClInclude Include="..\include\ApiProcess.h" />
214219
<ClInclude Include="..\include\toolkit.h" />
215220
<ClInclude Include="..\QuantBox_CTP_Trade\TypeConvert.h" />
216221
<ClInclude Include="MdUserApi.h" />
217222
<ClInclude Include="stdafx.h" />
218223
<ClInclude Include="targetver.h" />
219224
</ItemGroup>
220225
<ItemGroup>
226+
<ClCompile Include="..\include\ApiProcess.cpp" />
221227
<ClCompile Include="..\include\toolkit.cpp">
222228
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Use</PrecompiledHeader>
223229
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Use</PrecompiledHeader>

QuantBox_CTP_Quote/QuantBox_CTP_Quote.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
<ClInclude Include="..\QuantBox_CTP_Trade\TypeConvert.h">
3434
<Filter>Header Files</Filter>
3535
</ClInclude>
36+
<ClInclude Include="..\include\ApiProcess.h">
37+
<Filter>Header Files</Filter>
38+
</ClInclude>
3639
</ItemGroup>
3740
<ItemGroup>
3841
<ClCompile Include="stdafx.cpp">
@@ -53,5 +56,8 @@
5356
<ClCompile Include="..\QuantBox_CTP_Trade\TypeConvert.cpp">
5457
<Filter>Source Files</Filter>
5558
</ClCompile>
59+
<ClCompile Include="..\include\ApiProcess.cpp">
60+
<Filter>Source Files</Filter>
61+
</ClCompile>
5662
</ItemGroup>
5763
</Project>

QuantBox_CTP_Trade/QuantBox_CTP_Trade.vcxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@
126126
<GenerateDebugInformation>true</GenerateDebugInformation>
127127
<ModuleDefinitionFile>..\include\ApiHeader.def</ModuleDefinitionFile>
128128
</Link>
129+
<PostBuildEvent>
130+
<Command>xcopy "$(TargetPath)" "$(SolutionDir)XAPI\CTP\x86\" /Y
131+
xcopy "$(SolutionDir)include\CTP\win32\*.dll" "$(SolutionDir)XAPI\CTP\x86\" /Y</Command>
132+
</PostBuildEvent>
129133
</ItemDefinitionGroup>
130134
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
131135
<ClCompile>

QuantBox_CTP_Trade/TraderApi.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1174,14 +1174,16 @@ void CTraderApi::OnRspQryInstrument(CThostFtdcInstrumentField *pInstrument, CTho
11741174
strncpy(pField->ExchangeID, pInstrument->ExchangeID, sizeof(ExchangeIDType));
11751175

11761176
strncpy(pField->Symbol, pInstrument->InstrumentID, sizeof(SymbolType));
1177+
strncpy(pField->ProductID, pInstrument->ProductID, sizeof(InstrumentIDType));
11771178

11781179
strncpy(pField->InstrumentName, pInstrument->InstrumentName, sizeof(InstrumentNameType));
11791180
pField->Type = CThostFtdcInstrumentField_2_InstrumentType(pInstrument);
11801181
pField->VolumeMultiple = pInstrument->VolumeMultiple;
11811182
pField->PriceTick = pInstrument->PriceTick;
11821183
pField->ExpireDate = GetDate(pInstrument->ExpireDate);
11831184
pField->OptionsType = TThostFtdcOptionsTypeType_2_PutCall(pInstrument->OptionsType);
1184-
pField->StrikePrice = pInstrument->StrikePrice < DBL_EPSILON ? 0 : pInstrument->StrikePrice;
1185+
pField->StrikePrice = (pInstrument->StrikePrice < DBL_EPSILON || pInstrument->StrikePrice == DBL_MAX) ? 0 : pInstrument->StrikePrice;
1186+
strcpy(pField->UnderlyingInstrID, pInstrument->UnderlyingInstrID);
11851187

11861188
m_msgQueue->Input_NoCopy(ResponeType::OnRspQryInstrument, m_msgQueue, m_pClass, bIsLast, 0, pField, sizeof(InstrumentField), nullptr, 0, nullptr, 0);
11871189
}

QuantBox_DFITC_Level2/QuantBox_DFITC_Level2.vcxproj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@
9494
<PropertyGroup Label="UserMacros" />
9595
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
9696
<LinkIncremental>true</LinkIncremental>
97-
<OutDir>C:\Program Files\SmartQuant Ltd\OpenQuant 2014\XAPI\DFITC_Level2\x86</OutDir>
9897
</PropertyGroup>
9998
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
10099
<LinkIncremental>true</LinkIncremental>
@@ -124,6 +123,10 @@
124123
<GenerateDebugInformation>true</GenerateDebugInformation>
125124
<ModuleDefinitionFile>..\include\ApiHeader.def</ModuleDefinitionFile>
126125
</Link>
126+
<PostBuildEvent>
127+
<Command>xcopy "$(TargetPath)" "$(SolutionDir)XAPI\DFITC_Level2\x86\" /Y
128+
xcopy "$(SolutionDir)include\DFITC_L2\win32\*.dll" "$(SolutionDir)XAPI\DFITC_Level2\x86\" /Y</Command>
129+
</PostBuildEvent>
127130
</ItemDefinitionGroup>
128131
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
129132
<ClCompile>

QuantBox_Esunny_HistoricalData/QuantBox_Esunny_HistoricalData.vcxproj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@
9494
<PropertyGroup Label="UserMacros" />
9595
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
9696
<LinkIncremental>true</LinkIncremental>
97-
<OutDir>C:\Program Files\SmartQuant Ltd\OpenQuant 2014\XAPI\Esunny_HistoricalData\x86</OutDir>
9897
</PropertyGroup>
9998
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
10099
<LinkIncremental>true</LinkIncremental>
@@ -125,6 +124,10 @@
125124
<GenerateDebugInformation>true</GenerateDebugInformation>
126125
<ModuleDefinitionFile>..\include\ApiHeader.def</ModuleDefinitionFile>
127126
</Link>
127+
<PostBuildEvent>
128+
<Command>xcopy "$(TargetPath)" "$(SolutionDir)XAPI\Esunny_HistoricalData\x86\" /Y
129+
xcopy "$(SolutionDir)include\Esunny_HistoricalData\win32\*.dll" "$(SolutionDir)XAPI\Esunny_HistoricalData\x86\" /Y</Command>
130+
</PostBuildEvent>
128131
</ItemDefinitionGroup>
129132
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
130133
<ClCompile>

0 commit comments

Comments
 (0)