我用for循环画网格,画不出来
这是for的代码
For i=1 To 10
{
IncSection=GridStartprice + grid * i;
PlotNumeric(IncSection,IncSection);
}
然后没办法, 我就用个笨办法,先画个线
这是完整代码
//========================================================================================================================================-
// 策略说明: 网格策略
//========================================================================================================================================-
Params
Numeric GridStartPrice(4.5); //网格起始价
Numeric GridStep(50); // 网格步长
Numeric qty(100); //一手100股
//Numeric GridLength(10);
//Numeric StopLossSet(20); // 固定止损
//Numeric shou(30); //最大建仓次数
//Numeric win(120); //总持仓盈利比例 40%
Vars
Series<Numeric> deltaa;
Series<Numeric> level;
Series<Numeric> grid;
global Numeric GridPrice;
global Numeric PreLevel(0); // 记录上一次的网格线
global Numeric MyEntryPrice(0); // 开仓价格
Numeric MyExitPrice; // 平仓价格
Series<Numeric> buy1A(0);
global Numeric levelk(0);
Events
OnInit()
{
SetInitCapital(10000000); //设定初始资金 1千万
}
onBar(ArrayRef<Integer> indexs)
{
PlotNumeric(GridStartPrice,GridStartPrice);
grid = GridStep*MinMove*PriceScale;
PlotNumeric(xian1,GridStartPrice+grid );
PlotNumeric(xian2,GridStartPrice+grid*2);
PlotNumeric(xian3,GridStartPrice+grid*3);
PlotNumeric(xian4,GridStartPrice+grid*4);
PlotNumeric(xian5,GridStartPrice+grid*5);
PlotNumeric(xian6,GridStartPrice+grid*6);
PlotNumeric(xian7,GridStartPrice+grid*7);
PlotNumeric(xian8,GridStartPrice+grid*8);
PlotNumeric(xian9,GridStartPrice+grid*9);
PlotNumeric(xian10,GridStartPrice+grid*10);
PlotNumeric(xian11,GridStartPrice+grid*11);
PlotNumeric(xian12,GridStartPrice+grid*12);
PlotNumeric(xian13,GridStartPrice+grid*13);
Commentary(grid + text(grid));
deltaa = Close - GridStartPrice;
Commentary(deltaa + text(deltaa));
level = IntPart(deltaa / grid);
Commentary(level + text(level));
//MyEntryPrice = 0;
if (level < PreLevel and level!=levelk) // 开多 and CurrentEntries()<=10
{
Buy(qty, GridStartPrice+grid*(level+1));
levelk = level;
Commentary(levelk + text(levelk));
MyEntryPrice = GridStartPrice+grid*(level+1);
}
if ( level > PreLevel and h>LastEntryPrice+grid and level==levelk+2 ) // 平多
{
Sell(qty, LastEntryPrice+grid); //LastEntryPrice EntryPrice
levelk = 0;
}
PreLevel = level ; //更新上一次的level值
Commentary(PreLevel + text(PreLevel));
}
另外,开平仓的顺序怎么调整,比如6月1日在4.6开多,6月2日在4.55开多,6月3日在4.5开多, 平仓,6月4日在4.55平仓,怎么平6月3日的多单,也就说最先开仓的最后平仓
平仓顺序是固定的 ,你平不平老仓盈亏是一样的
社区有一个简单网格示例可以参考
老师好!有用Dict写的网格策略代码可以提供吗?