增加交易策略、交易指标、量化库代码等文件夹
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 @@
|
||||
//------------------------------------------------------------------------
|
||||
// 简称: vip09
|
||||
// 名称: vip09
|
||||
// 类别: 公式应用
|
||||
// 类型: 用户应用
|
||||
// 输出: Void
|
||||
//------------------------------------------------------------------------
|
||||
Params
|
||||
//默认螺纹888 1小时
|
||||
Numeric Length(20); //周期
|
||||
Numeric Offset(2); //标准差倍数
|
||||
Numeric X(0.5);
|
||||
Numeric SS(0.01);
|
||||
Numeric TRS(75);//移动止损止盈幅度 参数范围及步长: 5-100,5
|
||||
Numeric Fund(20000); //投入保证金;
|
||||
Vars
|
||||
Numeric Lots(0);
|
||||
Series<Numeric> ma1;
|
||||
Series<Numeric> UpLine; //上轨
|
||||
Series<Numeric> DownLine; //下轨
|
||||
Series<Numeric> MidLine; //中间线
|
||||
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;
|
||||
|
||||
//出场变量
|
||||
Series<Numeric> MyPrice;//开仓价格
|
||||
Series<Numeric> MyPrice2;//开仓价格
|
||||
Series<Numeric> HighAfterEntry;//开仓后出现的最高价
|
||||
Series<Numeric> LowAfterEntry;//开仓后出现的最低价
|
||||
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
|
||||
//此处实现事件函数
|
||||
|
||||
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
|
||||
OnInit()
|
||||
{
|
||||
//与数据源有关
|
||||
Range[0:DataCount-1]
|
||||
{
|
||||
//=========数据源相关设置==============
|
||||
AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
|
||||
|
||||
AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格
|
||||
|
||||
AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
|
||||
|
||||
//AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算
|
||||
plt1.figure(0); //plt_vol单独设置画板,没有指定画板id,系统自动创建
|
||||
plt2.figure(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
|
||||
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);
|
||||
|
||||
//布林极限(BB)=(收盘价-布林下轨价格)/(布林上轨价格-布林下轨价格)
|
||||
BB=((C-DownLine)/(UpLine-DownLine));
|
||||
//WIDTH=(布林上轨值-布林下轨值)/布林平均值
|
||||
WIDTH=((UpLine-DownLine)/MidLine);
|
||||
plt1.line("BB",BB); //画线
|
||||
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])); // 如果满足开多条件,则买入
|
||||
LowAfterEntry = EntryPrice;//保存多头开仓价格;
|
||||
kaicang_kg=1; // 标记已开仓
|
||||
bar_entry_count=0; // 重置连续未开仓的Bar计数
|
||||
barcoutN=0; //重置liQKA系数的计算
|
||||
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])); // 如果满足开空条件,则卖空
|
||||
HighAfterEntry = EntryPrice;//保存空头开仓价格;
|
||||
kaicang_kg=1; // 标记已开仓
|
||||
bar_entry_count=0; // 重置连续未开仓的Bar计数
|
||||
barcoutN=0; //重置liQKA系数的计算
|
||||
liQKA = 1;
|
||||
}
|
||||
|
||||
|
||||
if(kaicang_kg[1] ==1) // 如果在本周期内有开仓操作
|
||||
{
|
||||
bar_entry_count=bar_entry_count+1; // 将开仓计数器加一
|
||||
}
|
||||
Else
|
||||
{
|
||||
bar_entry_count=0; // 如果没有开仓,则将开仓计数器重置为 0
|
||||
}
|
||||
|
||||
//移动出场
|
||||
If(MarketPosition == 0) // 自适应参数默认值;
|
||||
{
|
||||
liQKA = 1;
|
||||
barcoutN=0;
|
||||
}Else if(bar_entry_count>barcoutN) //当有持仓的情况下,liQKA会随着持仓时间的增加而逐渐减小,即止损止盈幅度乘数的减少。
|
||||
{
|
||||
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));
|
||||
// 记录开仓后的最高点和最低点
|
||||
If(bar_entry_count > 0)
|
||||
{
|
||||
HighAfterEntry = Min(HighAfterEntry,High); // 空头止损,更新最低的最高价
|
||||
LowAfterEntry = Max(LowAfterEntry,Low); // 多头止损,更新最高的最低价
|
||||
}
|
||||
|
||||
if(MarketPosition>0)
|
||||
{
|
||||
DliqPoint = LowAfterEntry - (Open*TRS/1000)*liQKA; //经过计算,这根吊灯出场线会随着持仓时间的增加变的越来越敏感;
|
||||
}
|
||||
if(MarketPosition<0)
|
||||
{
|
||||
KliqPoint = HighAfterEntry + (Open*TRS/1000)*liQKA; //经过计算,这根吊灯出场线会随着持仓时间的增加变的越来越敏感;
|
||||
}
|
||||
|
||||
If(KliqPoint[1]>0 and MarketPosition<0)PlotNumeric("KliqPoint[1]",KliqPoint[1]);
|
||||
if(DliqPoint[1]>0 and MarketPosition>0)PlotNumeric("DliqPoint[1]",DliqPoint[1]);
|
||||
|
||||
// 持有多单时
|
||||
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;
|
||||
}
|
||||
|
||||
// 持有空单时
|
||||
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