以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 求当前资产 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=163304) |
-- 作者:luoxlt -- 发布时间:2018/5/8 15:22:03 -- 求当前资产 INPUT:N1(9,1,100,1),SS(1,1,100); VARIABLE:该笔盈亏:=0;模拟持仓:=0,模拟开仓价:=0,模拟平仓价:=0,真实系统下单开关:=0; LC := REF(CLOSE,1); RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//RSI指标默认N1为9 9日收盘价指数平均:REF(EMA(CLOSE,9),1); 19日最高价收盘价平均:REF(EMA(HIGH,19),1); 20日高点:=REF(HHV(H,20),1); 20日低点:=REF(LLV(L,20),1); 手数:=SS; //交易条件 开多条件:=9日收盘价指数平均>=19日最高价收盘价平均 AND REF(RSI,1)<70; 开空条件:=9日收盘价指数平均<19日最高价收盘价平均 AND REF(RSI,1)>30; 平多条件:=C<20日低点; 平空条件:=C>=20日高点; //交易系统 //模拟交易模块 IF 开多条件 AND 模拟持仓=0 THEN BEGIN 模拟开仓价:=CLOSE;//记录开仓价 模拟持仓:=1;//模拟持仓为1 END IF 平多条件 AND 模拟持仓=1 THEN BEGIN 模拟平仓价:=CLOSE;//记录平仓价 该笔盈亏:=模拟平仓价-模拟开仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数 模拟持仓:=0;//将全局变量*模拟持仓*初始化为0 IF 该笔盈亏>0 THEN BEGIN 真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。 模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0 模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0 END IF 该笔盈亏<=0 THEN BEGIN 真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。 模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0 模拟平仓价:=0;//将全局变量*模拟平仓价*初始化为0 END END IF 开空条件 AND 模拟持仓=0 THEN BEGIN 模拟开仓价:=CLOSE;//记录开仓价 模拟持仓:=-1;//模拟持仓为-1 END IF 平空条件 AND 模拟持仓=-1 THEN BEGIN 模拟平仓价:=CLOSE;//记录平仓价 该笔盈亏:=模拟开仓价-模拟平仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数 模拟持仓:=0;//将全局变量*模拟持仓*初始化为0 IF 该笔盈亏>0 THEN BEGIN 真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。 模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0 模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0 END IF 该笔盈亏<=0 THEN BEGIN 真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。 模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0 模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0 END END //真实下单模块 平空:SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET); 平多:SELL(平多条件 AND HOLDING>0,手数,MARKET); 开多:BUY(开多条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET); 开空:BUYSHORT(开空条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET); 以上是系统自带的《20.闪灵交易者系统》 想问的问题是:“真实下单模块”里的“当前资产”可以这样表达 当前资产:ASSET,NOAXIS,COLORGRAY; 如果要表达“模拟交易模块”里的“当前资产”要怎么写?谢谢。 要点是,不需要“交易方式控制符”(BUY,SELL之类)的情况下就能求出“当前资产”,并且能跟“当前资产:ASSET,NOAXIS,COLORGRAY;”曲线一致。
|
-- 作者:FireScript -- 发布时间:2018/5/8 15:47:47 -- asset 和 “该笔盈亏” 不断进行累计计算就可以了。 “模拟交易模块”是有盈亏计算的,这个盈亏的累计结果加上asset就是你要的了。 |
-- 作者:luoxlt -- 发布时间:2018/5/8 16:16:14 -- 具体一些呢?"当前资产:ASSET,NOAXIS,COLORGRAY;"如果放在有交易指令的环境下,ASSET单独一个函数就是所需要的结果了。ASSET又怎么跟虚拟交易的“盈亏计算”一起计算呢?还请大神详解。 |
-- 作者:luoxlt -- 发布时间:2018/5/8 16:19:29 -- “当前资产:ASSET,NOAXIS,COLORGRAY;” 这个语句貌似是平仓盈亏跟浮动盈亏结合的结果。原始资金100w(默认)开始,然后是每次的平仓盈亏加上当前浮动盈亏。 虚拟交易,想写一个一样的资金曲线,但是想不出来怎么写。
|
-- 作者:yukizzc -- 发布时间:2018/5/8 17:16:12 -- 写不出来,这个本身就是根据交易然后得出的 比如 a - > b 如果没有a,是无法做出b的,除非你代码区构建一个a,单那样您还不如直接用现有的a不是吗 |