if(TrueDate(0) <> TrueDate(1))
{
a = 0;
}
result = 1 ;
for j = 0 to DataSourceSize-1
{
result = result * Data[j].BarExistStatus;
}
if (result<>1)return;
if (Time== 0.2105 and a<1)
{
myArray = [];
id = [];
Range[i=0 : 41]
{
Data[i].MinPoint = Data[i].MinMove*Data[i].PriceScale;
zhangfu=(Data[i].Close[1] - Data[i].Close[10])/Data[i].MinPoint;
ArrayPushBack(myArray,zhangfu);
print("合约:" + (Data[i].Symbol));
print("MinPoint" + Text(Data[i].MinPoint));
print("zhangfu" + Text(zhangfu));
id[i] = i;
}
for i = 0 to 4 {
Data[id[i]].SellShort(1,Data[id[i]].Close-3*Data[id[i]].MinPoint );
a = a+1;
}
for i = 37 to 41 {
Data[id[i]].buy(1,Data[id[i]].Close+3*Data[id[i]].MinPoint);
}
}
if (Time == 0.2108)
{
for i = 0 to 4 {
Data[id[i]].BuyToCover(1, Data[id[i]].Close+3*Data[id[i]].MinPoint);
}
for i = 37 to 41 {
Data[id[i]].sell(1,Data[id[i]].Close-3*Data[id[i]].MinPoint);
}
}
上述代码 实盘运行时会出现信息中心提示 信号闪烁 , 图表 信号显示 有平仓 但实盘不发信号 (偶尔也会发平仓单 )但发建仓单 基本上正常。 这是为什么呢 查了好多资料 及视频 就是解决不了问题 能不能请开发的人员 给解决一下 。
是不是上面有全局变量啊
Series<Numeric> MinPoint;
Series<Numeric> zhangfu;
Global Numeric a;
Global Array<Numeric> myArray;
Global Array<Numeric> myArray_Symbols;
Global Array<Integer> id;
Global Array<Numeric>layerId;
Array<String> Symbols;
Array<String> Symbols1;
global Integer k;
global Integer i;
global Integer j;
Numeric result; 是的 有的
你最上面有个a的条件,然后开仓还在里面修改a的值
那肯定会闪烁吧
那我想只开仓一次 防止重复开仓 ,怎么写呀
图表使用序列变量控制