龙听期货论坛's Archiver

龙听 发表于 2017-12-28 11:08

FAQ之策略编程[MC]

咨询内容: Q1:MC编程语言是什么?哪里有学习资源?
A1:1、MC编程语言是PowerLanguage,和国际流行的easyLanguage 兼容度极高;2、学习easyLanguage,MC官网。

Q2:MC可以画趋势线吗?
A2:1、MC可以手动画趋势线,;2、MC也可以通过公式指标自动画趋势线,并基于趋势线建立交易策略。

Q3:MC怎样取到跨周期数据?
A3:1、在MC打开图表,插入商品。可对data2商品数据进行跨周期引用。2、跨周期引用数据,具体方法,参考论坛帖子,搜索“跨周期”。


Q4:i_OpenEquity 与 OpenPositionProfit 的区别?
A4:1、i_OpenEquity,所有交易的总盈亏;
2、OpenPositionProfit,当前部位的盈亏。

Q5:i_OpenEquity 和 netprofit的区别?
A5:i_openequity,包含浮动盈亏; netprofit,净利润,已实现的盈亏。

Q6: PivotHighVS(1,H,10,5,200);中的1和200代表什么意思?
A6:1是索引值,最近1个满足条件的PIVOT;200,在当前bar之前的200根bar的范围内寻找有没满足条件的PIVOT ;
10和5,最高价左边10根K线和最高价右边5根K线。

Q7:setbreakeven(500)的含义?
A7:盈利金额大于500块,则启动保本平仓。

Q8: intrabarpersist 的用法?
A8:
Intrabarpersist为变数的声明,
举例:
var:aa(0),intrabarpersist
bb(0);
aa= aa+1;bb=bb+1;print (“aa=”,aa);print (“bb=”,bb);aa会随着K线变化,bb会随着tick变化。
Q9:怎样开启bar内委托,满足条件就成交,而不是走到下根bar?
A9:2种方法:
1、在策略信号里申明:[IntrabarOrderGeneration= true];2、打开MC,插入信号,“设置指标”=》“设置”=》“bar内产生委托”,勾选“启用bar内委托”。

Q10:GVSetNamedDouble等 用法?
A10:1、GVSETNAMEDINT("aa",0);将名字为“aa”的变量设为0。
   bb = GVGETNAMEDINT("aa",-9999),获得aa的值,若没有取到,返回-9999;
2、GVSetNamedDouble、GVSetNamedInt、GVGetNamedDouble、GVGetNamedInt。可用于跨图表传递数据,   但只能在即时行情中使用,不能用于历史回测;

Q11:当前K线到开仓所在K线的距离?
A11:barsinceentry。当前bar到开仓价的距离。

Q12:怎样按资金比例开仓?
A12:
(InitialCapital+netprofit)/margin  
   InitialCapital 是初始资金, netprofit 是净利润。Margin为保证金的金额,需要在QM->编辑商品,设定。

Q13:加载信号或指标,弹出“浮点运算错误”,怎样解决?
A13:
除数为0,有2种情况: 1、分母的变量,初始值为0。 2、策略运算时分母的计算值为0。

解决办法如下。
举例:公式中类似 z=y/x;的表达,改成:
If x<>0
then z=y/xelsez=0;

页: [1]