以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  虚拟持仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=88091)

--  作者:黄金精算师
--  发布时间:2015/12/4 17:26:23
--  虚拟持仓
版主
我要用图表做策略以虚拟持仓,开平仓。

分析用的图表也以这个标志作为开平仓的信号。
实际后台用这个虚拟数据作为开平仓的依据,这样的一个数据怎么样做或怎么处理适合。直接用全局变量可以吗

  

--  作者:wenarm
--  发布时间:2015/12/4 21:43:35
--  
不是很明白你的意思
--  作者:黄金精算师
--  发布时间:2015/12/7 11:26:17
--  
我想图表打开的情况下做策略,后台做一个全帐号管理与实盘操作,所以,图表策略的数据要传给后台,

虚拟持仓的办法传给后台,我见一个VBA的用了一个INI文件传数据,这个会不会慢很多或者在重复的擦写时伤硬盘。
他其中一些代码如下,这是图表写入VBA也能读写

[Gen]
WriteSql=0
Miaos=3
CodeCount=1
Code0=IF05
Market0=ZJ
Vol0=1
Zy0=9
Zs0=8
Hc0=4
KaiDiff0=-4
CheDiff0=8
JianGe0=5
Policy0=否


--  作者:黄金精算师
--  发布时间:2015/12/7 11:36:11
--  
一盘内存IC的寿命号称100万次,实际做过测试,接近而已,不太了解电脑的这个工作机制,如果通过INI文件传送是否会出现同一地址重复使用,要是这样,那调试频繁的情况下半年左右就会出现坏区,这换硬盘还好,要是数据出错或丢失就是个问题。
--  作者:马良
--  发布时间:2015/12/7 12:08:49
--  
不用过于担心,操作系统有缓冲区的,频繁读写时不会每次都读写硬盘的
--  作者:黄金精算师
--  发布时间:2015/12/9 9:27:09
--  
因为不太了解软件,我把想法说一下,你看怎样更合适。(这个软件做法好像我在中断里运行,或主程没有中断一样,怎么都感觉走不顺)

我的程序是1秒钟一次的固定轮询,系统应该绶冲不了,有什么时候好的办法可以更改这种流程吗

开始
          <<初始化读回数据(INI)

主程序

         >>写进数据到INI离开(这个写进的是要保存的数据或者在再次开始时调回程序的初始化数据)

结束

--  作者:wenarm
--  发布时间:2015/12/9 9:40:12
--  

 程序运行是在内存中的。该变量会被映射到内存中(类似于一个副本),程序中频繁操作的都是该副本。直到结束后才会回写到对应的ini文件中。

你有点多虑了。





--  作者:黄金精算师
--  发布时间:2015/12/10 16:15:32
--  
帮写一段,全部内容为第一次识别,写存数据给后台程序管理开平仓用


//初始化开始
    数据1=      初始化读回数据INI中的DATA1   ;   //读取INI文件的数据      (如:87601)              
    数据2=      初始化读回数据INI中的DATA2   ;   //读取INI文件的数据      (如:87601)                                       

//主程序
程序第一次运行时输出消息“第一次运行”        //只在打开软件时输出一次提示消息
MA:= 数据1 减去  数据2  加上当时价格  ;      //两个品种的差价显示一条平均线在图表上

  IF06 =数据1  //读取IF06的数据写到  数据1
  IF12 =数据2   //读取IF12的数据写到  数据2


数据1 写入DATA1   ;   //写入INI文件记录   后离开
数据2 写入DATA2    ;   //写入INI文件记录   后离开
//结束

--  作者:jinzhe
--  发布时间:2015/12/10 16:30:38
--  

数据1=      初始化读回数据INI中的DATA1   ;   //读取INI文件的数据      (如:87601)              
数据2=      初始化读回数据INI中的DATA2   ;   //读取INI文件的数据      (如:87601)                                          
数据1:=GETINIFILE();
数据2:=GETINIFILE();//根据自己的ini文件编写getinifile的参数


//主程序
程序第一次运行时输出消息“第一次运行”        //只在打开软件时输出一次提示消息
打开软件时没有函数可以执行输出

 

MA:= 数据1 减去  数据2  加上当时价格  ;      //两个品种的差价显示一条平均线在图表上
mm:数据1-数据2+dynainfO(7);


IF06 =数据1  //读取IF06的数据写到  数据1
IF12 =数据2   //读取IF12的数据写到  数据2
数据1:=callstock(\'if06\',vtclose,datatype);
数据2:=callstock(\'if12\',vtclose,datatype);


数据1 写入DATA1   ;   //写入INI文件记录   后离开
数据2 写入DATA2    ;   //写入INI文件记录   后离开
WRITEINIFILE();
WRITEINIFILE();//根据函数说明编写writeinifile函数参数


--  作者:黄金精算师
--  发布时间:2015/12/11 14:15:42
--  
1、
数据1:=GETINIFILE(\'C:\\Jzt\\JztDate.INI\',\'DATA1\',\'MYDATA\');  //这个节点是怎么写的,我在C盘\'C:\\Jzt\\JztDate.INI\',  写了读,也帮写下一下WRITEINIFILE();
    C:\\Jzt\\JztDate.INI文件中这样帮改一下
[Gen]
WriteSql=0
jzt=87061
DATE1=87061
DATE2=87061

// 写了读,也帮写下一下WRITEINIFILE();

//-------------------------------------------------------------
2、程序第一次运行时输出消息“第一次运行”        //只在打开软件时输出一次提示消息
打开软件时没有函数可以执行输出
这个没有函数可以用,IF语句完成吗,我做软件总想做一个初始化,这里写时,他总是不停的初始化,如果可以用IF,也一样用软件做初始化。