Linterest[0]=GlobalVariableGet("LLINTER");
double delta=0;
double vola=0;
int num= CopyTicksRange(Name_instrFS,tick_array,COPY_TICKS_TRADE,StartDate*1000,Start1Date*1000);
//Print (num);if (num>0){
long sumVolBuy=0;
long sumVolSell=0;
for (int q=0;q<num && !IsStopped();q++)
{
if(( tick_array[q].flags&TICK_FLAG_BUY)==TICK_FLAG_BUY && (tick_array[q].flags&TICK_FLAG_SELL)==TICK_FLAG_SELL) // Если тик обоих направленийPrint(__FUNCTION__,": ОШИБКА! Тик '""' неизвестного направления!");
elseif(( tick_array[q].flags&TICK_FLAG_BUY)==TICK_FLAG_BUY) // Если тик на покупку
sumVolBuy+=(long)tick_array[q].volume;
elseif(( tick_array[q].flags&TICK_FLAG_SELL)==TICK_FLAG_SELL) // Если тик на продажу
sumVolSell+=(long)tick_array[q].volume;
if(( tick_array[q].flags&TICK_FLAG_VOLUME)==TICK_FLAG_VOLUME) vola+=tick_array[q].volume_real;
}
delta=double(sumVolBuy-sumVolSell);
if (Ldelta!=delta) Ldelta=delta; else delta=0;
}
for (int i=0;i<5 && !IsStopped();i++)
{
h=FileOpen("OpenI\\"+Name_instr+"_OI.csv",FILE_WRITE|FILE_READ|FILE_ANSI|FILE_CSV|FILE_COMMON|FILE_SHARE_READ,";");
if(h!=INVALID_HANDLE)
{
FileSeek(h,0,SEEK_END);
FileWrite(h,RecDate,DoubleToString(Linterest[0],0),DoubleToString(delta,0),DoubleToString(vola,0));
FileClose(h);
Sleep(100);
FlagOFupdate[0]= true;
break;
}
}
同事们好,让我们总结一下COPY_TICKS_ALL或COPY_TICKS_TRADES的使用方法!!
根据我的理解,为了更正确地计算delta,最好按交易使用ticks,而不是全部使用。对吗?
使用一个或另一个的区别是什么。对结果有什么影响?
同事们好,让我们总结一下COPY_TICKS_ALL或COPY_TICKS_TRADES的使用方法!!
根据我的理解,为了更正确地计算delta,最好按交易使用ticks,而不是全部使用。对吗?
使用一个或另一个的区别是什么。对结果有什么影响?
你的意思是什么三角洲?
同事们好,让我们总结一下COPY_TICKS_ALL或COPY_TICKS_TRADES的使用方法吧!!
根据我的理解,为了更正确地计算delta,最好按交易使用ticks,而不是全部使用。对吗?
使用一个或另一个的区别是什么。对结果有什么影响?
我在一个论坛成员的资料中看到了他的截图链接。
要么是他的计算有误,要么是定价公式有误。
不要做广告,只看图片就知道它是什么样子的。
但在我看来,如果计算正确,价格应该准确地击中Last,即没有delta。
股票经纪人自己说,至少在MOEX上,价格是每秒计算一次的。
我不相信这种巨大的计算方法有什么用,我想检查一次,他们就把我的整个杯子翻过来,Last....呢,我很失望,从交易所跑了出来你指的是什么delta?
三角洲,是指某一杠子的买家和卖家数量之间的差异。
这里有一段代码,要求提供点数并计算delta和volume。
原本在CopyRang中是COPY_TICKS_ALL,但昨天改成了COPY_TICKS_TRADE。这与前面提出的问题相比,会有多大的正确性呢?
三角洲,是指某一杠子的买家和卖家数量之间的差异。
这里有一段代码,其中发生了ticks请求和delta以及volume的计算。
最初在CopyRang中是COPY_TICKS_ALL,但昨天我把它改为COPY_TICKS_TRADE。这与我之前提出的问题有多大的关系呢?
在你的情况下,你应该只采取COPY_TICKS_TRADE,因为只有交易才有合约量参数。
为了使用ASK和BID的合同量,你必须使用一个玻璃。
这是一个相当可悲的代码。
在每次迭代中,你都要打开和关闭文件。
在你的情况下,只应该采取COPY_TICKS_TRADE,因为只有交易有合约量参数。
为了使用ASK和BID合同量,你需要使用一个玻璃。
这是一个相当可悲的代码。
在每次迭代中,你都要打开和关闭文件。
如果第一次尝试是成功的,那么就没有,但数据是在分钟开始时写入的,对于记录OI、delta和成交量来说是相当不错的
你能给我看一张截图吗?
我可以看一下屏幕截图吗?
是的,请....
你看,一切都写得很好,但要知道记录所有刻度或只是交易的区别是不可能的。我不想麻烦。毕竟,对于NS来说,微不足道的偏移和误差并不重要,最主要的是训练后的数据没有改变,因为在用NS初始化EA时,它必须正确计算到当前时刻的历史,以便下一次从当前正确的参数开始计算。如果初始化不正确,最后一个已知信号的当前值将是不同的,新信号将从其他位置开始计算,这将导致不可预知的结果。因此,你如何做并不重要,即使有错误也没关系。最主要的是在训练后不要改变它!!!!。
是的,很容易....
你看,一切都写得很好,但要知道记录所有刻度或只是交易的区别是不可能的。我不想麻烦。毕竟,对于NS来说,不重要的偏移和误差并不重要,最主要的是训练后的数据没有改变,因为在用NS初始化EA时,它必须正确计算到当前时刻的历史,以便下一次从当前正确的参数开始计算。如果初始化做得不正确,最后一个已知信号的当前值将是不同的,新信号将从其他位置开始计算,这将导致不可预知的结果。因此,你如何做并不重要,即使有错误也没关系。最主要的是在训练后不要改变它!!!!。
excel中的行数是有限制的。如果机器抛出,请牢记这一点。更好的sql。从截图上看,计算的结果是什么,实际意义是什么?
一个普通的CWS文件被写入。
分别收集OI历史、delta和成交量。100%的数据在历史上不会被改变,更不用说没有OI历史这样的数据。我上面给出的计算记录参数的代码....