Rss & SiteMap

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

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

标题:[求助]老师您好,问题请教

1楼
wz888999 发表于:2021/3/14 19:48:53
麻烦老师修改:信号过滤,盘整、震荡行情不开仓。万分感谢。
//多单止盈平仓条件:成交量的MA3大于100000 平多仓
//空单止盈平仓条件:成交量的MA3大于100000 平空仓

HH:=HHV(HIGH,30)/5+HHV(HIGH,30)/5+HHV(HIGH,30)/5+HHV(HIGH,5)/120+HHV   (HIGH,60)/5;
LL:=LLV(LOW,20)/5+LLV(LOW,20)/5+LLV(LOW,20)/5+LLV(LOW,5)/5+LLV(LOW,30)/5;
H1:= IF(H<REF(H,10)&&REF(H,20)<REF(H,2),REF(H,2),0);
L1:= IF(L>REF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0);
H2:=VALUEWHEN(H1>0,H1);
L2:=VALUEWHEN(L1>0,L1);
K1:=IF(CLOSE>H2,-3,IF(CLOSE<L2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
GG:=IF(K2=1,H2,L2);
GG1:=VALUEWHEN(ISLASTBAR,GG);
TMP1:=K2;
W1:=K2;
W2:=OPEN-CLOSE;
HT:=IF(OPEN>CLOSE,OPEN,CLOSE);
LT:=IF(OPEN<CLOSE,OPEN,CLOSE);

KK:=BARSLAST(CROSS(TMP1,0));
DD:=BARSLAST(CROSS(0,TMP1));

STICKLINE(DD<KK,C,O,8,0),COLORRED;
STICKLINE(DD<KK,H,L,0,0),COLORRED;
STICKLINE(DD>KK,C,O,8,0),COLORGREEN;
STICKLINE(DD>KK,H,L,0,0),COLORGREEN;



ss:=2;//手数
jc:CROSS(0,TMP1);
sc:CROSS(TMP1,0);

if ref(jc,0)  then 
begin               
sellshort(holding<0,holding,MARKETR);//平空
buy(holding=0,ss,MARKETR); // 过滤信号 盘整、震荡行情 不开仓  
end

if ref(sc,0)  then
begin
sell(holding>0,holding,MARKETR);//平多
buyshort(holding=0,ss,MARKETR);// 过滤信号 盘整、震荡行情 不开仓  
end
INPUT:M1(5,5,10,1),M2(10,10,30,1),M3(20,1,50,1);
VOLUME:VOL,;
MA1:MA(VOL,M1);
MA2:MA(VOL,M2);
MA3:MA(VOL,M3); 
//多单止盈条件:成交量的MA3大于100000 平多仓
//空单止盈条件:MA3大于100000 平空仓




图片点击可在新窗口打开查看此主题相关图片如下:18.jpg
图片点击可在新窗口打开查看

2楼
FireScript 发表于:2021/3/15 9:31:19
 “信号过滤,盘整、震荡行情不开仓。万分感谢。”这样的描述是无法编写成代码的。
能写出代码的描述必须是有一个完整的详细的逻辑和定义的。 比如说盘整,举个例子 多少周期内价格波动在多少幅度内。像这样详细定义好才行。
3楼
wz888999 发表于:2021/3/15 13:04:43
老师,暂不要过滤信号,麻烦您编写止盈平仓条件,谢谢老师
//多单止盈平仓条件:成交量的MA3大于100000 平多仓
//空单止盈平仓条件:成交量的MA3大于100000 平空仓


//加仓条件,
  平多仓的价格,如果在红色k线区间,回落百分之0.005,实时加多仓
  平空仓的价格,如果在绿色k线区间,反弹百分之0.005,实时加空仓
4楼
FireScript 发表于:2021/3/15 13:37:07
 “平多仓的价格,如果在红色k线区间,回落百分之0.005,实时加多仓
这个平多仓的价格 是指上次平仓价格。相当于你现在还有获取到上次平多时候的价格?
5楼
wz888999 发表于:2021/3/15 13:53:31
是的,上次平仓的价格
6楼
FireScript 发表于:2021/3/15 14:14:11
 当前价格和上次平仓价格相比,回落或者上涨一定百分比就加仓,加仓次数不限?
7楼
wz888999 发表于:2021/3/15 14:22:56
是的,不限制,
8楼
wz888999 发表于:2021/3/15 14:30:10
谢谢老师,能不能达到加仓条件就看k线与价格的变化了,老师辛苦了,感谢
9楼
FireScript 发表于:2021/3/15 14:31:57
 HH:=HHV(HIGH,30)/5+HHV(HIGH,30)/5+HHV(HIGH,30)/5+HHV(HIGH,5)/120+HHV   (HIGH,60)/5;
LL:=LLV(LOW,20)/5+LLV(LOW,20)/5+LLV(LOW,20)/5+LLV(LOW,5)/5+LLV(LOW,30)/5;
H1:= IF(H<REF(H,10)&&REF(H,20)<REF(H,2),REF(H,2),0);
L1:= IF(L>REF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0);
H2:=VALUEWHEN(H1>0,H1);
L2:=VALUEWHEN(L1>0,L1);
K1:=IF(CLOSE>H2,-3,IF(CLOSE<L2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
GG:=IF(K2=1,H2,L2);
GG1:=VALUEWHEN(ISLASTBAR,GG);
TMP1:=K2;
W1:=K2;
W2:=OPEN-CLOSE;
HT:=IF(OPEN>CLOSE,OPEN,CLOSE);
LT:=IF(OPEN<CLOSE,OPEN,CLOSE);

KK:=BARSLAST(CROSS(TMP1,0));
DD:=BARSLAST(CROSS(0,TMP1));

STICKLINE(DD<KK,C,O,8,0),COLORRED;
STICKLINE(DD<KK,H,L,0,0),COLORRED;
STICKLINE(DD>KK,C,O,8,0),COLORGREEN;
STICKLINE(DD>KK,H,L,0,0),COLORGREEN;

VARIABLE:p1:=0,p2:=0;//这2个全局变量,记录最近一次的平多和平空的价格

ss:=2;//手数
jc:CROSS(0,TMP1);
sc:CROSS(TMP1,0);

if ref(jc,0)  then
begin               
sellshort(holding<0,holding,MARKETR);//平空
p2:=EXITPRICE;
buy(holding=0,ss,MARKETR); // 过滤信号 盘整、震荡行情 不开仓  
end

if ref(sc,0)  then
begin
sell(holding>0,holding,MARKETR);//平多
p1:=EXITPRICE;
buyshort(holding=0,ss,MARKETR);// 过滤信号 盘整、震荡行情 不开仓  
end
INPUT:M1(5,5,10,1),M2(10,10,30,1),M3(20,1,50,1);
VOLUME:VOL,;
MA1:MA(VOL,M1);
MA2:MA(VOL,M2);
MA3:MA(VOL,M3);
//多单止盈条件:成交量的MA3大于100000 平多仓
多头止盈:sell(vol>ma3,holding,market);
//空单止盈条件:MA3大于100000 平空仓
空头止盈:sellshort(ma3>vol,holding,market);


//加仓条件,
//平多仓的价格,如果在红色k线区间,回落百分之0.005,实时加多仓
//平空仓的价格,如果在绿色k线区间,反弹百分之0.005,实时加空仓

pcd1:(p1-c)/p1<=0.005/100;//最新价比上次平多价格回落0.005% 加仓
pcd2:(c-p2)/p2>=0.005/100;//最新价比上次平多价格上涨0.005% 平仓
多头加仓:buy(DD<KK and pcd1,1,market);
空头加仓:buyshort(DD>KK and pcd2,1,market);


代码如上。但是这个加仓条件太宽松了,基本上会一直加仓的。
10楼
wz888999 发表于:2021/3/15 14:37:15
好的,谢谢,
共19 条记录, 每页显示 10 条, 页签: [1] [2]


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