增加交易策略、交易指标、量化库代码等文件夹
This commit is contained in:
BIN
1.交易策略/1.CTA策略/1.松鼠策略/3.松鼠SF10__魔改布林交易策略/使用文稿/TBQ/VIP10.fbk
Normal file
BIN
1.交易策略/1.CTA策略/1.松鼠策略/3.松鼠SF10__魔改布林交易策略/使用文稿/TBQ/VIP10.fbk
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,179 @@
|
||||
//------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD>: vip09
|
||||
// <20><><EFBFBD><EFBFBD>: vip09
|
||||
// <20><><EFBFBD><EFBFBD>: <20><>ʽӦ<CABD><D3A6>
|
||||
// <20><><EFBFBD><EFBFBD>: <20>û<EFBFBD>Ӧ<EFBFBD><D3A6>
|
||||
// <20><><EFBFBD><EFBFBD>: Void
|
||||
//------------------------------------------------------------------------
|
||||
Params
|
||||
//Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>888 1Сʱ
|
||||
Numeric Length(20); //<2F><><EFBFBD><EFBFBD>
|
||||
Numeric Offset(2); //<2F><><EFBFBD><EFBFBD><EEB1B6>
|
||||
Numeric X(0.5);
|
||||
Numeric SS(0.01);
|
||||
Numeric TRS(75);//<2F>ƶ<EFBFBD>ֹ<EFBFBD><D6B9>ֹӯ<D6B9><D3AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5-100<30><30>5
|
||||
Numeric Fund(20000); //Ͷ<>뱣֤<EBB1A3><D6A4><EFBFBD><EFBFBD>
|
||||
Vars
|
||||
Numeric Lots(0);
|
||||
Series<Numeric> ma1;
|
||||
Series<Numeric> UpLine; //<2F>Ϲ<EFBFBD>
|
||||
Series<Numeric> DownLine; //<2F>¹<EFBFBD>
|
||||
Series<Numeric> MidLine; //<2F>м<EFBFBD><D0BC><EFBFBD>
|
||||
Series<Numeric> Band;
|
||||
|
||||
Series<Numeric> cond1;
|
||||
Series<Numeric> cond2;
|
||||
Series<Numeric> cond3;
|
||||
Series<Numeric> cond4;
|
||||
|
||||
Series<Numeric> kcond1;
|
||||
Series<Numeric> kcond2;
|
||||
Series<Numeric> kcond3;
|
||||
Series<Numeric> kcond4;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Series<Numeric> MyPrice;//<2F><><EFBFBD>ּ۸<D6BC>
|
||||
Series<Numeric> MyPrice2;//<2F><><EFBFBD>ּ۸<D6BC>
|
||||
Series<Numeric> HighAfterEntry;//<2F><><EFBFBD>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
Series<Numeric> LowAfterEntry;//<2F><><EFBFBD>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ͼ<EFBFBD>
|
||||
Series<Numeric> liQKA;
|
||||
Series<Numeric> DliqPoint;
|
||||
Series<Numeric> KliqPoint;
|
||||
Series<Numeric> barcoutN;
|
||||
Series<Numeric> bar_entry_count;
|
||||
Series<Numeric> kaicang_kg;
|
||||
Series<Numeric> BB;
|
||||
Series<Numeric> WIDTH;
|
||||
Plot plt1;
|
||||
Plot plt2;
|
||||
Events
|
||||
//<2F>˴<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ䣬<DABC><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>һ<EFBFBD>Σ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵȲ<DDB5><C8B2><EFBFBD>
|
||||
OnInit()
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>й<EFBFBD>
|
||||
Range[0:DataCount-1]
|
||||
{
|
||||
//=========<3D><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>==============
|
||||
AddDataFlag(Enum_Data_RolloverBackWard()); //<2F><><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>Ȩ
|
||||
|
||||
AddDataFlag(Enum_Data_RolloverRealPrice()); //<2F><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>ʵ<EFBFBD>۸<EFBFBD>
|
||||
|
||||
AddDataFlag(Enum_Data_AutoSwapPosition()); //<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
//AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //<2F><><EFBFBD>ú<EFBFBD><C3BA>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>źż<C5BA><C5BC><EFBFBD>
|
||||
plt1.figure(0); //plt_vol<6F><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>壬û<E5A3AC><C3BB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id,ϵͳ<CFB5>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
plt2.figure(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Bar<61><72><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>indexs<78><73>ʾ<EFBFBD>仯<EFBFBD><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դͼ<D4B4><CDBC>ID<49><44><EFBFBD><EFBFBD>
|
||||
OnBar(ArrayRef<Integer> indexs)
|
||||
{
|
||||
|
||||
Lots = Max(1, Round(Fund/(O*ContractUnit*BigPointValue* MarginRatio/rollover), 0));
|
||||
MidLine = AverageFC(Close,Length);
|
||||
Band = StandardDev(Close,Length,2);
|
||||
UpLine = MidLine + Offset * Band;
|
||||
DownLine = MidLine - Offset * Band;
|
||||
|
||||
PlotNumeric("MidLine",cond1,cond1,White);
|
||||
PlotNumeric("UpLine",cond2,cond2,red);
|
||||
PlotNumeric("DownLine",cond3,cond3,Green);
|
||||
|
||||
//<2F><><EFBFBD>ּ<EFBFBD><D6BC>ޣ<EFBFBD>BB<42><42>=<3D><><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9>۸<EFBFBD><DBB8><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><CFB9>۸<EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9>۸<EFBFBD><DBB8><EFBFBD>
|
||||
BB=((C-DownLine)/(UpLine-DownLine));
|
||||
//WIDTH=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD>ֵ-<2D><><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD>ֵ<EFBFBD><D6B5>/<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ֵ
|
||||
WIDTH=((UpLine-DownLine)/MidLine);
|
||||
plt1.line("BB",BB); //<2F><><EFBFBD><EFBFBD>
|
||||
plt2.line("WIDTH",WIDTH);
|
||||
|
||||
|
||||
if(MarketPosition!=1 and H>=UpLine[1] and C[1]<UpLine[1] and BB[1]>X and WIDTH[1]>SS)
|
||||
{
|
||||
Buy(Lots,max(open,UpLine[1])); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㿪<EFBFBD><E3BFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
LowAfterEntry = EntryPrice;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ּ۸<D6BC>;
|
||||
kaicang_kg=1; // <20><><EFBFBD><EFBFBD><EFBFBD>ѿ<EFBFBD><D1BF><EFBFBD>
|
||||
bar_entry_count=0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ֵ<EFBFBD>Bar<61><72><EFBFBD><EFBFBD>
|
||||
barcoutN=0; //<2F><><EFBFBD><EFBFBD>liQKAϵ<41><CFB5><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
liQKA = 1;
|
||||
}
|
||||
|
||||
if(MarketPosition!=-1 and L<=DownLine[1] and C[1]>DownLine[1] and BB[1]<X and WIDTH[1]>SS)
|
||||
{
|
||||
SellShort(Lots,min(open,DownLine[1])); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㿪<EFBFBD><E3BFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
HighAfterEntry = EntryPrice;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ּ۸<D6BC>;
|
||||
kaicang_kg=1; // <20><><EFBFBD><EFBFBD><EFBFBD>ѿ<EFBFBD><D1BF><EFBFBD>
|
||||
bar_entry_count=0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ֵ<EFBFBD>Bar<61><72><EFBFBD><EFBFBD>
|
||||
barcoutN=0; //<2F><><EFBFBD><EFBFBD>liQKAϵ<41><CFB5><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
liQKA = 1;
|
||||
}
|
||||
|
||||
|
||||
if(kaicang_kg[1] ==1) // <20><><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF>ֲ<EFBFBD><D6B2><EFBFBD>
|
||||
{
|
||||
bar_entry_count=bar_entry_count+1; // <20><><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ
|
||||
}
|
||||
Else
|
||||
{
|
||||
bar_entry_count=0; // <20><><EFBFBD><EFBFBD>û<EFBFBD>п<EFBFBD><D0BF>֣<EFBFBD><D6A3><EFBFBD><F2BDABBF>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 0
|
||||
}
|
||||
|
||||
//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
If(MarketPosition == 0) // <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ<EFBFBD><D6B5>
|
||||
{
|
||||
liQKA = 1;
|
||||
barcoutN=0;
|
||||
}Else if(bar_entry_count>barcoutN) //<2F><><EFBFBD>гֲֵ<D6B2><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>liQKA<4B><41><EFBFBD><EFBFBD><EFBFBD>ųֲ<C5B3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ֹӯ<D6B9><D3AF><EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>١<EFBFBD>
|
||||
{
|
||||
liQKA = liQKA - 0.1;
|
||||
liQKA = Max(liQKA,0.3);
|
||||
barcoutN=bar_entry_count;
|
||||
}
|
||||
|
||||
Commentary("kaicang_kg[1]"+text(kaicang_kg[1]));
|
||||
Commentary("bar_entry_count"+text(bar_entry_count));
|
||||
Commentary("barcoutN"+text(barcoutN));
|
||||
Commentary("liQKA"+text(liQKA));
|
||||
// <20><>¼<EFBFBD><C2BC><EFBFBD>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>
|
||||
If(bar_entry_count > 0)
|
||||
{
|
||||
HighAfterEntry = Min(HighAfterEntry,High); // <20><>ͷֹ<CDB7>𣬸<EFBFBD><F0A3ACB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>
|
||||
LowAfterEntry = Max(LowAfterEntry,Low); // <20><>ͷֹ<CDB7>𣬸<EFBFBD><F0A3ACB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD>ͼ<EFBFBD>
|
||||
}
|
||||
|
||||
if(MarketPosition>0)
|
||||
{
|
||||
DliqPoint = LowAfterEntry - (Open*TRS/1000)*liQKA; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><DFBB><EFBFBD><EFBFBD>ųֲ<C5B3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>Խ<EFBFBD><D4BD>Խ<EFBFBD><D4BD><EFBFBD>У<EFBFBD>
|
||||
}
|
||||
if(MarketPosition<0)
|
||||
{
|
||||
KliqPoint = HighAfterEntry + (Open*TRS/1000)*liQKA; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><DFBB><EFBFBD><EFBFBD>ųֲ<C5B3>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>Խ<EFBFBD><D4BD>Խ<EFBFBD><D4BD><EFBFBD>У<EFBFBD>
|
||||
}
|
||||
|
||||
If(KliqPoint[1]>0 and MarketPosition<0)PlotNumeric("KliqPoint[1]",KliqPoint[1]);
|
||||
if(DliqPoint[1]>0 and MarketPosition>0)PlotNumeric("DliqPoint[1]",DliqPoint[1]);
|
||||
|
||||
// <20><><EFBFBD>жʱ
|
||||
If(MarketPosition >0 And bar_entry_count >0 And Low <= DliqPoint[1] and DliqPoint[1]>0 and DliqPoint[1]>0 and bar_entry_count>0)
|
||||
{
|
||||
|
||||
Sell(0,Min(Open,DliqPoint[1]));
|
||||
DliqPoint=0;
|
||||
kaicang_kg=0;
|
||||
}
|
||||
|
||||
// <20><><EFBFBD>пյ<D0BF>ʱ
|
||||
If(MarketPosition <0 And bar_entry_count >0 And High >= KliqPoint[1] and KliqPoint[1]>0 and KliqPoint[1]>0 and bar_entry_count>0)
|
||||
{
|
||||
|
||||
BuyToCover(0,Max(Open,KliqPoint[1]));
|
||||
KliqPoint=0;
|
||||
kaicang_kg=0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Binary file not shown.
BIN
1.交易策略/1.CTA策略/1.松鼠策略/3.松鼠SF10__魔改布林交易策略/使用文稿/TBQ/源码.doc
Normal file
BIN
1.交易策略/1.CTA策略/1.松鼠策略/3.松鼠SF10__魔改布林交易策略/使用文稿/TBQ/源码.doc
Normal file
Binary file not shown.
BIN
1.交易策略/1.CTA策略/1.松鼠策略/3.松鼠SF10__魔改布林交易策略/使用文稿/TBQ/策略讲解.doc
Normal file
BIN
1.交易策略/1.CTA策略/1.松鼠策略/3.松鼠SF10__魔改布林交易策略/使用文稿/TBQ/策略讲解.doc
Normal file
Binary file not shown.
Reference in New Issue
Block a user