[转载]EasyLanguage/PowerLanguage 策略语言研究
(2014-03-20 09:19:04)
标签:
转载 |
分类: 量化投资相关 |
请教前辈,止损应该怎么写?2种情况
1.到价格触及到-5%时。
2.到收盘价触及到-5%时。
以多单的止损为例 1、sell next bar at entryprice*0.95 stop; 2、if close<entryprice*0.95 then sell next bar at market; |
2向高手老手请教,在ts中如何实现资金管理?
建议你设置止损,按能接受的止损来设置头寸,就是ANP方式
AccountBalance = InitialBalance + netprofit;
DollarRisk = AccountBalance * rate;
LTT=IntPortion(DollarRisk/stoploss);
3[函式介绍] 如何用EL表示期货涨停,跌停价
最近有同学问到这个问题,现整理出来供大家一起参考学习~
由于中国商品期货的涨跌停系数会随着假日时间的变动而变动(中国商品这个感觉很麻烦,需要随时关注交易所公告来进行调整),以下是具体的一个例子的写法:
- Inputs:begintime(1100608),endtime(1100912),abnormalratio(0.2),normalratio(0.1);
- vars:upprice(0),downprice(0);
- if time>=begintime and
time<=endtime
-
then begin -
upprice=Closed(1)*(1+abnormalratio); -
downprice=Closed(1)*(1-abnormalratio); -
end -
else begin
-
upprice=Closed(1)*(1+normalratio); -
downprice=Closed(1)*(1-normalratio); - end;
下面是我在转换TB代码到easylanguage的时候做的日志记录,有些是那个策略特有的,肯定还有很多漏掉的,我没空整理了,大家可以参考下 1 {变为then begin 考虑then换行后begin 如果在if else中注意else后没有then while中begin前不需要then 2 }变为end; 如果在if else中注意else钱的end没有分号 3 Params变为Inputs: 注意别忘记分号 4 Vars变为variables: 注意别忘记分号 5 声明类型去掉 Numeric rangeMove(2);中的Numeric全部去掉 6 声明后的分号改为, 注意参数和变量的最后一个保持分号 7 声明类型缺少默认值的补上 8 逻辑运算中,等号==变为=,不等号!=变为<> 9 注释全部去掉 10下单指令 Bool Buy(Numeric Share=0,Numeric Price=0,Bool Delay=False) Share 买入数量,为整型值,默认为使用系统设置参数; Price 买入价格,为浮点数,默认=0时为使用现价(非最后Bar为Close); Delay 买入动作是否延迟,默认为当前Bar发送委托,当Delay=True,在下一个Bar执行。 Buy xxx contracts next bar at xxx stop; 11 Ceiling Tb中两个参数 Ceiling(timemin/BarInterval, 1) 改为Ceiling(timemin/BarInterval) 12 &&变为and ||变为or 13 ContractUnit()变为currentContracts X 14 变量名range->myrange 15 GetGlobalVar-->GVGetNamedDouble 16 IntPart-->IntPortion 17 InvalidNumeric-->-1 18 GVGetNamedDouble(40变为GVGetNamedDouble("global40" set同理 19 if后面的括号,mc可以有可以无,但是tb必须有 20 mc的maxlist函数 对应 tb的max ,minlist --min 21 mc的print对应Commentary 22 mc中的变量默认是序列变量 Tb中的变量主意区分普通变量和序列变量,如果同样是序列变量: 需要重设变量值 isBreak=isBreak[1]; k1=k1[1]; J1=J1[1]; |
在MC中,资料形态有三类 Numeric, TrueFalse 与 String,其中Numeric可以再细分成Int、Float与Double。如果只宣告变数为Numeric,MC有自动帮你选择适当的数值形态,有些情况下,MC无法准确的判断时,有可能会出现使用Double储存Int形态的资料,如此一来,系统效能将会大大降低。如果你可以确定宣告变数myVars的资料形态为整数时,下次建议可以考虑用
- vars: int myVars(0);
- vars: myVars(0);
移动止损的方法有很多,可以控制亏损百分比,或者控制亏损金额,我先抛个砖,大家继续: 7当日输N次不交易 做当冲的时候,最怕盘整盘。遇到盘整盘时,顺势系统很容易被修理。
复制代码
8程序代码分享]
直接在POWER EDITOR看系统讥效
收藏 分享
9函式介绍] 【分享总结】Easylanguage的五种输出方式
10[程序代码分享]
减仓别忘了加 total 这个保留字
在MC中,第一次建仓或是要加仓时,可以用下面的语法
11编程求助]
如何根据条件分段plot?
MC里用plot画的都是连续的线条,我要画一段一段分开的线条,如何画,我加了if然后plot也不行。比如我之要time>=0910
and time<=1450这一段的ma,怎么画?
12如何按资金的百分比开仓
自己找到答案,自己回一个:
Inputs: initCapital(100000); Variables: RiskPercent(0.3), TotalEquity(0.0), SetShareSize(0); TotalEquity=initCapital+NetProfit+OpenPositionProfit; SetShareSize= TotalEquity * RiskPercent/Close; Buy("Entry") SetShareSize shares Next Bar At ................ sell("Exit") All shares Next Bar At ...................... 13[程序代码分享]
计算当日做多的次数
在日内交易中,我们常常需要知道今天作多几次,以下是我的编程方式,与大家分享
复制代码
14[编程求助]
不等next bar就买卖?
MC里关于买卖的操作,都是在 buy/sellshort next bar
上实现的,最早的入市也是buy/sellshrot this bar on
close来实现的。设想:把data1的时间周期设置成1分钟甚至tick图,然后data2来做正常的系统条件判断,这样是不是就能实现类似于条件满足就马上买入卖出的操作呢?
求Max老师详细的说明下这个用法,最好能配合着例子,我想有很多人想要了解这点的 ... 首先要把IntraBarOrderGeneration打开(在Format Signal里的Intra-bar Order Generation),接著程式码必须要判断目前的tick是属于当根bar的哪个位置(可以在barStatus这个保留字得知)。这样程式码就会每根tick就会执行一次。 15在盤中常常發現某些整點時間或特定時間週期會突然有許多系統單同時出來 特別是長週期的突破系統,通常會在突破後的下一個整點時間全數出唬 因此出現滑價或買不到好價位 針對這個問題,可以用語法來解決,讓你比別人快幾秒進場,甚至可以吃點別人的豆腐 一般程序化交易系統都往往會在這根bar結束(buy this bar at close)或是下根bar開始(buy next bar at open)時送出委託單,如果你可以在這根bar結束前就進場,自然比別人更佔便宜! 這裡把送出委託單的時間在往前移10秒,必須啟動IntrabarOrderGeneration才能正常咦鳌 在Multicharts裡設置 Format(格式)->Signal(信號)->Fomat(設置)->IntrabarOrderGeneration(Bar內產生委託) 語法如下,請回覆本帖即可觀看。 本帖隐藏的内容
16[编程求助] 出场信号为买入价格获利3%怎么写 也可以試試
17函式介绍]
entryName与exitName 的使用
18[函式介绍]
BarStatus
想请问各位高手,若是在多单的情况下,当日盘中价格比昨日收盘价低2%以上,则盘中在( 昨日收盘价*0.98
)这个价位自行停损,该怎么写?
多谢! P.s假設使用日线的狀況
想请问各位高手,若是在多单的情况下,当日盘中价格比昨日收盘价低2%以上,则盘中在( 昨日收盘价*0.98
)这个价位自行停损,该怎么写? 我来试试看
25easylanguage使用动态链接库(DLL) 听说EL可以通过动态链接库(DLL)调用C#,请问具体操作方法是什么,能举个例子吗?
|
26[函式介绍] 程式码中调用交易成本
每次交易的成本包含手续费与滑价,我们可以在程式码中使用commission 以及 slippage
来调用这两个设定, 比方说希望损益平衡就出场观望,可以这样写
复制代码
27
|