//---------------------------------------------------------------------// функция dIndBuf_In// для эмуляции индикаторного буфера в любого рода скрипте// bufIn[] ссылка на созданный ранее буфер | double mine[]; for(i=0;i=10;i++)dIndBuf_In(mine,i,Close[i]); |// position - смещение баров// value - значение присваемое смещением бара//---------------------------------------------------------------------double dIndBuf_In(double &bufIn[],int position, double value){
if(ArrayIsSeries(bufIn))ArraySetAsSeries(bufIn,false);
if(ArraySize(bufIn)!=Bars+1)ArrayResize(bufIn,Bars+1);
bufIn[Bars-position]=value;
}
//---------------------------------------------------------------------// функция dIndBuf_Out // для извлечения значений эмуляции индикаторного буфера в любого рода скрипте// bufIn[] ссылка на созданный ранее буфер | double mine[]; for(i=0;i=10;i++)dIndBuf_In(mine,i,Close[i]); double x=dIndBuf_Out(mine,i)|// position - смещение баров//---------------------------------------------------------------------double dIndBuf_Out(double bufIn[],int position){
if(ArrayIsSeries(bufIn))ArraySetAsSeries(bufIn,false);
return(bufIn[Bars-position]);
}
而不去覆盖这个缓冲区。
然后实施它...
那么你如何想象增加一个新单元的逻辑呢?
然后实施它...
它没有按照我想要的方式进行)。
如果是这样的话,我就得重写了()。
:)女性化的人出来了...
还有一个俏皮话比赛......。
哦...男人...:)
>
大家晚上好!帮助解决这个问题,因为在这种语言中没有任何意义,所以我向你们呼吁
情况是这样的。
有一部分的代码。
请告知如何使程序不显示消息,而是试图再次打开文件,如此反复,直到打开为止。
提前感谢大家!
试试while()循环。请看这里 -https://docs.mql4.com/ru/basis/operators/while
))
我们的生活离不开微笑。
>试试while()循环。请看这里 -https://docs.mql4.com/ru/basis/operators/while
像这样。
谢谢你。
啊哈哈,我明白了--这个人试图在文本模式下打开一个exel文件,而且不是任何exel,而是2007年及以上版本。文件扩展名是*.xlsx。这不是一个文本文件。试图将其作为文本文件打开,将导致以下结果
在eksel中把这个文件保存为不同名称的文本文件,并在handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t')中指定新的(文本)文件名也无妨;指定新(文本)文件名
谢谢。
很难说问题出在哪里。在MQL4中,作为一条规则,代码中的负数应该总是被放在括号里。有时可能出现没有括号的错误。
虽然,在以extern开头的代码行中,你不应该在括号中取负值。我不知道为什么会这样。