Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:如何把fc的值赋值到数组Buffer[]中,并可以被引用

1楼
代人发贴 发表于:2017/6/8 10:53:32
 runmode:0;

Value1:=0;


Fish1:=0;

   
PPeriod:=10;

VARIABLE:MMax[]=0;

VARIABLE:MMin[]=0;

AA:=HHV(HIGH,PPeriod);
MMax:=AA;            
MMAAXX:MMax[DATACOUNT],NODRAW;    
                       
AAA:=LLV(LOW,PPeriod);
MMin:=AAA;
MMIILL:MMin[DATACOUNT],NODRAW; 


MM:=DATACOUNT;
VARIABLE:Buffer[MM]=0.0;//被赋值的数组 

 


   For i=DATACOUNT downto 1 DO //DATACOUNT
   BEGIN

     PRICE:(HIGH[i]+LOW[i])/2,NODRAW;
    
     Value:2.0*(PRICE/(MMax[i]-MMin[i])-0.3),NODRAW;     
   
     fc:=0.5*Value+0.7*Value1,NODRAW;
    
     FFCC:fc,NODRAW;
     Value1=Value,NODRAW;
     
//////////////////////////////////////??如何把fc的值赋值到数组Buffer[]中,并可以被引用??///////////////////////////////////
     //Buffer:=fc,NODRAW;   
     Buffer[i]:=fc,NODRAW;
//////////////////////////////////////??如何把fc的值赋值到数组Buffer[]中,并可以被引用??///////////////////////////////////    

    END
  
 



这个公式能够帮忙编译下



//////////////////////////////////////??如何把fc的值赋值到数组Buffer[]中,并可以被引用??///////////////////////////////////
     //Buffer:=fc,NODRAW;  
     Buffer[i]:=fc,NODRAW;
//////////////////////////////////////??如何把fc的值赋值到数组Buffer[]中,并可以被引用??///////////////////////////////////   
上面公式中,此部分数组赋值正确吗?如何像MACD指标一样,把计算结果fc在副图窗口通过绘图表示出来?能把上面的公式编译后,补充完整吗?
不胜感激额。 
2楼
pyd 发表于:2017/6/8 11:04:30

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=154840

前边发过同样的帖子已回过了

[此贴子已经被作者于2017/6/8 13:10:59编辑过]
3楼
shangxianglu 发表于:2017/6/8 13:16:46

不太好处理吧?有什么建议或者思路吗?

4楼
shangxianglu 发表于:2017/6/8 13:35:35
非常抱歉,不知您能否修改下代码,编译下。看看。 我这边改了多次,编译不过哦。
5楼
shangxianglu 发表于:2017/6/8 13:44:42
如果您能编译通过,希望能告之具体修改方法。
6楼
wenarm 发表于:2017/6/8 13:58:44

编译正常,。你编译过程中遇到了什么提示?截图看下

7楼
yukizzc 发表于:2017/6/8 14:33:06

或者您说下思路目的,很多时候是根本没有必要去使用数组的

k线本事就是序列数组形式存在,每根k线的返回值其实就是一个数值并不是数组的

引用等也都是单值引用

8楼
shangxianglu 发表于:2017/6/8 15:01:39

runmode:0;

Value1:=0;


Fish1:=0;

   
PPeriod:=10;

VARIABLE:MMax[]=0;

VARIABLE:MMin[]=0;

AA:=HHV(HIGH,PPeriod);  //取当前K线及过去10个周期的最高值;赋值给数组MMax;
MMax:=AA;            
//MMAAXX:MMax[DATACOUNT],NODRAW;    
                       
AAA:=LLV(LOW,PPeriod);
MMin:=AAA;
//MMIILL:MMin[DATACOUNT],NODRAW; ////取当前K线及过去10个周期的最低值;赋值给数组MMin;



MM:=DATACOUNT;
VARIABLE:Buffer[MM]=0.0;//被赋值的数组,存储计算结果,然后最后用划线函数,把Buffer在副图窗口绘制出来。

 


   For i=DATACOUNT downto 1 DO //DATACOUNT//从右向左,从最新K线向左计算,计算每根K线对应的BUFFER[]值;
   BEGIN

     PRICE:(HIGH[i]+LOW[i])/2,NODRAW;    //计算当前i根K线的最高值和最低值的平均值;
    
     Value:2.0*(PRICE/(MMax[i]-MMin[i])-0.3),NODRAW;     //逻辑运算公式
   
     fc:=0.5*Value+0.7*Value1,NODRAW;   //逻辑运算公式

   
     Value1=Value,NODRAW;   //最新一根K线value赋值为0;然后左侧每根K线都引用其右边一根K线的value值。依次从右向左引用。
     
//////////////////////////////////////??如何把fc的值赋值到数组Buffer[]中,并可以被引用??///////////////////////////////////
     //Buffer:=fc,NODRAW;   
     Buffer[i]:=fc,NODRAW;
//////////////////////////////////////??如何把fc的值赋值到数组Buffer[]中,并可以被引用??///////////////////////////////////    

 

 


DrawBuffer: fc,COLORSTICK;  //绘制输出结果

 

//

 


    END
  

9楼
shangxianglu 发表于:2017/6/8 15:05:57

请具体思路参考注释,

大体意思就是:从右侧最新一根K线开始,从右向左依次计算。左侧的每一根K线都要引用其右侧一根K线的value值,通过value1=value;实现引用右侧value值。

 

10楼
yukizzc 发表于:2017/6/8 15:26:52
这种有设计未来概念了,不好做
共12 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.01465 s, 3 queries.