求跨周期二次信号加仓编写 (文华财经WH8赢智V8.2)

投资者咨询:求跨周期二次信号加仓编写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-14 11:24

请老师帮忙编写一下:

日线:MA5和MA10天均线

引用周线:MA5,MA10和MA30天均线

当周线MA5和MA10都小于MA30,日线MA5下穿MA10开空,MA5上穿MA10时平空;

当周线MA5和MA10依然小MA30,这时日线MA5再次下穿MA10时,加一份仓开空,MA5上穿MA10平空;

反之,做多也是一样.

谢谢!!

 

技术人员回复
日期:2018-5-14 11:35
思路涉及跨周期引用,需要跨周期函数实现:

建立被引用函数,命名保存为AAA

MA5:MA(C,5);
MA10:MA(C,10);
MA30:MA(C,30);

主函数:

#IMPORT [WEEK,1 ,AAA ] AS VAR
MA5W:VAR.MA5;
MA10W:VAR.MA10;
MA30W:VAR.MA30;
MA5:MA(C,5);
MA10:MA(C,10);

MA5W<MA30W&&MA10W<MA30W&&CROSSDOWN(MA5,MA10)&&SKVOL=0,SK(1);
MA5W<MA30W&&MA10W<MA30W&&CROSSDOWN(MA5,MA10)&&SKVOL=1,SK(1);
MA5W<MA30W&&MA10W<MA30W&&CROSS(MA5,MA10),BP(SKVOL);


MA5W>MA30W&&MA10W>MA30W&&CROSS(MA5,MA10)&&BKVOL=0,BK(1);
MA5W>MA30W&&MA10W>MA30W&&CROSS(MA5,MA10)&&BKVOL=1,BK(1);
MA5W>MA30W&&MA10W>MA30W&&CROSSDOWN(MA5,MA10),SP(BKVOL);

跨周期函数的使用,您可以参考如下帖子具体学习了解一下:

投资者咨询:求跨周期二次信号加仓编写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-14 11:24

你好!跨周期引用的部分我知道如何写

可能是你没有理解我的意思:

 

当周线MA5和MA10都小于MA30,日线MA5下穿MA10开空,MA5上穿MA10时平空;

当周线MA5和MA10依然小MA30,这时日线MA5再次下穿MA10时,加一份仓开空,MA5上穿MA10平空;

 

-------当MA5再次下穿MA10时,前面的持仓肯定是平掉了,因为前面MA5肯定上穿了MA10

因此:

MA5W<MA30W&&MA10W<MA30W&&CROSSDOWN(MA5,MA10)&&SKVOL=0,SK(1);
MA5W<MA30W&&MA10W<MA30W&&CROSSDOWN(MA5,MA10)&&SKVOL=1,SK(1);
SKVOL=1,SK(1)是不会运行的,它还会跑回前面的SKVOL=0,SK(1)条命令上去.
而且第二次开仓我是要加仓的.
技术人员回复
日期:2018-5-15 9:28
您的平仓条件是MA5上穿MA10

您的意思是如果开仓以后一直是:周线MA5和MA10都小于MA30 那么要等到加仓一手后才平仓?

如果开仓后:周线MA5和MA10都小于MA30 条件不成立了,则MA5上穿MA10时平空吗
投资者咨询:求跨周期二次信号加仓编写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-14 11:24

你好!

首先讲开仓条件:

周K的条件肯定是不变的,也就是周K的MA5和MA10都小于MA30,

这时我们回到日K的MA5下穿MA10时开空,这是第一次开仓;

然后我们再看,如果日K的MA5要再次下穿MA10,是不是前面日K的MA5必须要上穿一次MA10才有可能出现这个现象?

因此,第一次开仓的空单是不是在这次上穿时就平掉了.

这样才会可能形成第二次开仓的条件,即在周K的MA5和MA10仍然小于MA30的条件下,日K的MA5再次下穿MA10,这时再次开空,这是第二次开仓,这次开仓是在加倍,开两份仓.

所以,我目前编写的碰到的问题就第二次开仓时如何与第一次开仓区分(标识)开来.

技术人员回复
日期:2018-5-15 10:09
首先跟您确认一下:

在满足条件下,第三次下穿您要开1手还是2手呢?是一直增加还是1、2循环
投资者咨询:求跨周期二次信号加仓编写 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-14 11:24

第三次还是两份仓,不是1、2的循环.

另外,在开仓条件不变的状况下,如果前面平仓出现了亏损,则开仓手数又降为一份.

 
技术人员回复
日期:2018-5-15 10:58
这样:

#IMPORT [WEEK,1 ,AAA ] AS VAR
MA5W:VAR.MA5;
MA10W:VAR.MA10;
MA30W:VAR.MA30;
MA5:MA(C,5);
MA10:MA(C,10);
N:=1;
MA5W<MA30W&&MA10W<MA30W&&CROSSDOWN(MA5,MA10)&&COUNTSIG(SK,BARPOS)=0,SK(N);//首次开仓
MA5W<MA30W&&MA10W<MA30W&&CROSSDOWN(MA5,MA10)&&ISLASTBP&&LASTOFFSETPROFIT>0,SK(2*N);
MA5W<MA30W&&MA10W<MA30W&&CROSSDOWN(MA5,MA10)&&LASTOFFSETPROFIT<0,SK(N);//上一笔是亏损
MA5W<MA30W&&MA10W<MA30W&&CROSS(MA5,MA10),BP(SKVOL);

MA5W>MA30W&&MA10W>MA30W&&CROSS(MA5,MA10)&&COUNTSIG(BK,BARPOS)=0,BK(N);//首次开仓
MA5W>MA30W&&MA10W>MA30W&&CROSS(MA5,MA10)&&LASTOFFSETPROFIT>0&&ISLASTSP,BK(2*N);//上一笔是亏损
MA5W>MA30W&&MA10W>MA30W&&CROSS(MA5,MA10)&&LASTOFFSETPROFIT<0,BK(N);//上一笔是亏损
MA5W>MA30W&&MA10W>MA30W&&CROSSDOWN(MA5,MA10),SP(BKVOL);