以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [求助]01.移动止损模块范例  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=165460)

--  作者:norlat
--  发布时间:2018/9/11 9:17:40
--  [求助]01.移动止损模块范例
在使用移动止损模块范例时,模拟的时候按初始资金5万进行,没有问题。
但是实盘的时候,用该策略的时候,模块自动使用自己设置的初始资金100万进行交易,金额大于实盘账号资金,每次下单都大于账号资金,导致CTP拒绝交易。策略无法实施。
请问如何调整系统,或者是需要重写该策略。
谢谢指导!

--  作者:banzhuan
--  发布时间:2018/9/11 9:27:59
--  
1、您使用的是下图的案例策略交易的吗? 该策略中是以30%的资金进行开仓,您实盘是多少资金呢? 交易的是什么品种, 是否用30%的资金不够开仓呢?
2、您可以描述下您具体需求,比如每次开、平仓多少手

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/9/11 9:29:13编辑过]

--  作者:norlat
--  发布时间:2018/9/11 9:29:58
--  
是的,实盘资金是5万,交易焦炭1901。谢谢老师指导!
--  作者:norlat
--  发布时间:2018/9/11 9:31:15
--  
补充,每次开1手,后续也是平1手。谢谢!
--  作者:banzhuan
--  发布时间:2018/9/11 9:59:40
--  
1、5W的30%可能买不了一手焦炭; 
2、买一手可以这样写: buy(1,1,marekt);//红色即交易手数
平仓同理: sell(1,1,market);

用法:BUY(COND,V,Type,P);表示当COND条件成立时,买入V股(手)当前品种,TYPE表示买入类型,P表示买入价格,所有参数均可以省略。

--  作者:norlat
--  发布时间:2018/9/11 10:15:44
--  
感谢老师指导!没有留意BUY的30%了,没有仔细阅读代码,惭愧!!图片点击可在新窗口打开查看

另外对于此范例还有不明白的地方,还请老师说明,关于以下代码:
//移动止损部分************************
//求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度
DTYDZS:=(HHV(H,ENTERBARS)-CLOSE)/AVGENTERPRICE>=0.1;
KTYDZS:=(CLOSE-LLV(L,ENTERBARS))/AVGENTERPRICE>=0.1;
SELL(DTYDZS,0,MARKET);
SELLSHORT(KTYDZS,0,MARKET);
//*************************************

我理解DTYDZS表示动态移动止损,那么KTYDZS是否表示固态移动止损?这两个语句的逻辑不是很明白,我猜想“0.1”是否可以按照风险偏好调整?
另外此处有sell和sellshort,在下面的代码也有同样的下单的sell, sellshort代码。这个不会冲突么?还是金字塔是从上到下执行,先满足到上面的话就先执行?

谢谢老师指教!






--  作者:banzhuan
--  发布时间:2018/9/11 10:27:05
--  
1、DTYDZS是多头的移动止损条件,KTYDZS是空头的,0.1是回落幅度,可以自行调整的;
2、是从上至下执行的,移动止损满足的话先执行

--  作者:norlat
--  发布时间:2018/9/11 15:04:56
--  
谢谢老师指导!图片点击可在新窗口打开查看
--  作者:norlat
--  发布时间:2018/9/17 14:15:40
--  
老师,关于“图表交易模块范例---移动止损模块”有如下疑问:
1. 关于下单条件:
源代码******************
//绘制四条均线
MA1:MA(C,5);
MA2:MA(C,10);
MA3:MA(C,20);
MA4:MA(C,60);

//下单条件
COND1:=CROSS(MA2,MA1);
COND2:=CROSS(MA1,MA2);
*************************
问题:
以上条件一是MA5从下穿越MA10,条件二是MA10从下穿越MA5。
这两个条件与我们平时理解短周期MA突破长周期MA,表示上升趋势;短周期MA向下突破长周期MA,表示向下趋势;
不知道是我对MA使用理解错误,还是对源码理解上有差异,烦请老师指正。

2. 关于移动止损部分
//移动止损部分************************
//求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度
DTYDZS:(HHV(H,ENTERBARS)-CLOSE)/AVGENTERPRICE>=0.1;
KTYDZS:(CLOSE-LLV(L,ENTERBARS))/AVGENTERPRICE>=0.1;
SELL(DTYDZS,0,MARKET);
SELLSHORT(KTYDZS,0,MARKET);
//*************************************

问题:
关于以上多头移动止损和空头移动止损,在模拟中好像都无法起到作用,我尝试对资金回落幅度进行调整(0.01-0.06),但是好像收效不大。可否请老师说明一下其中逻辑。

延伸问题:
1)正如此段范例描述,要走完一根K线才会进行止损,如何写一段代码在没有走完K先,但是在K线内已经达到摆动峰值即自行,请老师指导;
2)我想编写相对应的移动止盈的代码,可否请老师给予指导或提供类似范例学习。
谢谢!