Rss & SiteMap

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

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

标题:取第一次开仓价格

1楼
waimm2020 发表于:2017/12/8 11:35:34
//第一次开多单价格
nn1:barslast(HOLDING=0 AND KDTJ=1);
DD:REF(enterprice,nn1);
//第一次开空单价格
nn2:barslast(HOLDING=0 AND KKTJ=1);
KK:REF(enterprice,nn2);
请教老师,我写的取第一次开仓价格测试不对。帮忙看看问题出现在哪
谢谢!
2楼
waimm2020 发表于:2017/12/8 11:42:44
也就是说初始建仓多单或者空单的价格,这里的价格可以是满足开仓条件的价格,也可以是实际成交的价格,分别怎么去取值。
3楼
banzhuan 发表于:2017/12/8 13:10:28
可以用BARSSINCE函数,求得第一次条件成立的位置,然后再用ref找出该位置的价格
4楼
waimm2020 发表于:2017/12/8 14:05:40
//第一次开多单价格
NN1:BARSSINCE(HOLDING=0 AND CROSS(C,HH20));
DD:REF(HH20,NN1);
//第一次开空单价格
NN2:BARSSINCE(HOLDING=0 AND CROSS(LL20,C));
KK:REF(LL20,NN2);

写出来不对,请老师帮忙看看错误在哪?
正确的写法应该怎么写?
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171208140508.png
图片点击可在新窗口打开查看
5楼
banzhuan 发表于:2017/12/8 14:24:31
aa:  BARSSINCE(BUYCON );//取得第一次满足开多条件时的位置
bb:  ref(ENTERPRICE,aa);// 
6楼
waimm2020 发表于:2017/12/8 14:36:13
BUYCON的意思是满足开多条件?还是说申明一个全局变量?
7楼
banzhuan 发表于:2017/12/8 14:50:01
抱歉,没说清楚,buycon就相当于您的 CROSS(C,HH20),开多的条件 
8楼
waimm2020 发表于:2017/12/8 14:50:48
我没有申明全局变量,建立了一个开多条件:
KDTJ:IF(MACD>REF(MACD,1) AND MA1>MA2),1,0);

//第一次开多单价格
NN1:BARSSINCE(KDTJ=1);
DD:REF(ENTERPRICE,NN1);
这样写始终不对。请老师帮助给了正确的写法。谢谢!

9楼
banzhuan 发表于:2017/12/8 15:14:16
1. 你现在的DD是要取得第一次开仓位置的前一次开仓价了,建议  DD:REF(ENTERPRICE,NN1);中, 把enterprise改成open 或 close;
2.  最新K线上的价格可以按市价来,历史的成交价格实际是取不到的,可以按第二根K的开盘价来或按本根K的收盘价来
10楼
waimm2020 发表于:2017/12/8 16:08:10
MA1:=MA(C,12); MA2:=MA(C,26);
DIFF : =EMA(C,12) - EMA(C,26);
DEA  : =EMA(DIFF,9);
MACD : =2*(DIFF-DEA), COLORSTICK;
KDTJ:IF(MACD>REF(MACD,1) AND MA1>MA2,1,0);
KKTJ:IF(MACD<REF(MACD,1) AND MA1<MA2,1,0);

NN1:BARSSINCE(KDTJ=1);
DD:REF(C,NN1);
NN2:BARSSINCE(KKTJ=1);
KK:REF(C,NN2);
这是全部代码,怎么都不对。请教老师问题出现在哪?

共17 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.09082 s, 2 queries.