请教针对单一个股的当冲语法 [MultiCharts MC]
- 咨询内容:
我是用台泥股票的历史资料(用ASCII Mapping 的方式导入的)
写出一个练习用的讯号 , 之後发现隔了几个讯号之後 , 就不会有当冲的效果
(开始会变成留仓之後,到了下依讯号出现才会回补,然後当下又放空一张)
买卖策略如下 :
var1 = Volume;
var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // Q1 : 如果我想改成 : 隔天开盘价大於等於今日收盘价才放空(先符合平盘上才能券卖的规定) , 要怎麽修正 sellshort("sell") 1 contracts next day at market; // Q2 : 原本想要写出的动作是 : 如果隔天空到 , 最後无条件用收盘价回补 ( 但是查了一下资料 , 这样写很像是 [停利] , 没考虑到 [停损] ) buytocover 1 contracts next day at close limit; // Q3 : 如果想要更进一步指定停损停利价位的回补语法又该如何写呢 ( 例如:停损设定为平盘价的+5%,停利价设定为放空到的价位向下3.5% end;
- MC技术部:
Q1
condition1=if d<>d[1] and o>=closed(1);
Q2
buytocover 1 contracts next bar closed(1) or higher;<==这是停损..
而若是当冲不论如何都要出场!可加上时间限制
if time>=1320 then
sell next bar marrket;
buytocover next bar market;
end;
Q3
停损可以利用
setstoplose
停利可以使用
setprofittarget
第2篇 - MC技术部:
你的逻辑面本来就没有当冲语法 只是红圈处因为在盘整,所以"刚好"看起像是当冲 因为一直碰到出场点罢了 Q1 : 如果我想改成 : 隔天开盘价大於等於今日收盘价才放空(先符合平盘上才能券卖的规定) , 要怎麽修正 A: 一般模式无解,要用IOG模式或小於日线的周期才可以 Q2 : 原本想要写出的动作是 : 如果隔天空到 , 最後无条件用收盘价回补 A: 同上 Q3 : 如果想要更进一步指定停损停利价位的回补语法又该如何写呢 ( 例如:停损设定为平盘价的+5%,停利价设定为放空到的价位向下3.5% buytocover next bar c*0.95 limit; buytocover next bar c*1.035 stop;
第3篇 - MC技术部:
[IntrabarOrderGeneration = true];
var1 = Volume; var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; // 策略条件一 ; 今天的成交量必须大於前面五天的成交量 if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // 策略条件二 : 今收必须大於今开 if close > open then begin // 隔天用市价放空 ( 先不考虑开在平盘价以下的问题 ) sellshort("sell") next bar on market // 收盘时无条件用收盘价回补( 我的目的只是在回测 ) if time >1320 then begin buytocover 1 contracts next bar on market; end; end; end; 上面这样的写法会呈现图档的现象,但我知道这是有问题的( 但已经不会出现之前留仓的问题)
标示1的问题:
策略条件一是成立条件,该天确实收盘大於开盘,且成交量大於前面五天
在标示1的地方却产生了操作讯号(预期是右边的讯号才对,这根则不要产生讯号)
还请告知哪个环节写错导致这边出现这样的讯号
标示2:
标示1的地方已经符合策略条件一以及策略条件二
所以在标示2的地方开始出现讯号(这是我期望的)
标示3的问题:
很明显的可以看出每个讯号的买卖都是在同一个价位(因为程式里面写的都是 on market)
而在标示3的地方更惨,是在最高价的那个位置(我期望的是卖在开盘价,买在收盘价)
请教一下该如何修正
因为我想针对现股建立一些策略并回测,有诸多不懂的地方
还请两位先进多多提示或指点,谢谢
编辑文章 by DavidLu 2011-10-24 16:53:52 - MC客服:
你的逻辑面本来就没有当冲语法 只是红圈处因为在盘整,所以"刚好"看起像是当冲 因为一直碰到出场点罢了 Q1 : 如果我想改成 : 隔天开盘价大於等於今日收盘价才放空(先符合平盘上才能券卖的规定) , 要怎麽修正 A: 一般模式无解,要用IOG模式或小於日线的周期才可以 Q2 : 原本想要写出的动作是 : 如果隔天空到 , 最後无条件用收盘价回补 A: 同上 Q3 : 如果想要更进一步指定停损停利价位的回补语法又该如何写呢 ( 例如:停损设定为平盘价的+5%,停利价设定为放空到的价位向下3.5% buytocover next bar c*0.95 limit; buytocover next bar c*1.035 stop;
第3篇 - MC客服:
[IntrabarOrderGeneration = true];
var1 = Volume; var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; // 策略条件一 ; 今天的成交量必须大於前面五天的成交量 if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // 策略条件二 : 今收必须大於今开 if close > open then begin // 隔天用市价放空 ( 先不考虑开在平盘价以下的问题 ) sellshort("sell") next bar on market // 收盘时无条件用收盘价回补( 我的目的只是在回测 ) if time >1320 then begin buytocover 1 contracts next bar on market; end; end; end; 上面这样的写法会呈现图档的现象,但我知道这是有问题的( 但已经不会出现之前留仓的问题)
标示1的问题:
策略条件一是成立条件,该天确实收盘大於开盘,且成交量大於前面五天
在标示1的地方却产生了操作讯号(预期是右边的讯号才对,这根则不要产生讯号)
还请告知哪个环节写错导致这边出现这样的讯号
标示2:
标示1的地方已经符合策略条件一以及策略条件二
所以在标示2的地方开始出现讯号(这是我期望的)
标示3的问题:
很明显的可以看出每个讯号的买卖都是在同一个价位(因为程式里面写的都是 on market)
而在标示3的地方更惨,是在最高价的那个位置(我期望的是卖在开盘价,买在收盘价)
请教一下该如何修正
因为我想针对现股建立一些策略并回测,有诸多不懂的地方
还请两位先进多多提示或指点,谢谢
编辑文章 by DavidLu 2011-10-24 16:53:52 - MC客服:
[IntrabarOrderGeneration = true];
var1 = Volume; var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; // 策略条件一 ; 今天的成交量必须大於前面五天的成交量 if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // 策略条件二 : 今收必须大於今开 if close > open then begin // 隔天用市价放空 ( 先不考虑开在平盘价以下的问题 ) sellshort("sell") next bar on market // 收盘时无条件用收盘价回补( 我的目的只是在回测 ) if time >1320 then begin buytocover 1 contracts next bar on market; end; end; end; 上面这样的写法会呈现图档的现象,但我知道这是有问题的( 但已经不会出现之前留仓的问题)
标示1的问题:
策略条件一是成立条件,该天确实收盘大於开盘,且成交量大於前面五天
在标示1的地方却产生了操作讯号(预期是右边的讯号才对,这根则不要产生讯号)
还请告知哪个环节写错导致这边出现这样的讯号
标示2:
标示1的地方已经符合策略条件一以及策略条件二
所以在标示2的地方开始出现讯号(这是我期望的)
标示3的问题:
很明显的可以看出每个讯号的买卖都是在同一个价位(因为程式里面写的都是 on market)
而在标示3的地方更惨,是在最高价的那个位置(我期望的是卖在开盘价,买在收盘价)
请教一下该如何修正
因为我想针对现股建立一些策略并回测,有诸多不懂的地方
还请两位先进多多提示或指点,谢谢
编辑文章 by DavidLu 2011-10-24 16:53:52 - MC客服:
1. 你没开精密回测吧
2. // 收盘时无条件用收盘价回补( 我的目的只是在回测 )
if time >1320 then begin buytocover 1 contracts next bar on market; end; 在日线中, time >1320一定会成立,所以它就下一根只要进场後,就直接出场了 跟本上的问题在於,为什麽要在日线做当冲,这并不合理 请改变为分线策略吧,不然你的问题一定存在第5篇 - MC客服:
谢谢回覆
关於当日冲的原因如下:
我的策略是想要预测明日[现股]开高(或是平盘)走低的机率
想说如果透过mc回测方式可以得到一些好的数据来支撑(也就是现在尝试过程中所想要达到的目的)
就可以将该策略拿到实务上去运用
如果当天收盘的资料有符合我的策略条件,隔天我就在市场上面用市价挂单准备现股当冲
也就是说:
初期只是期望透过MC进行回测,至於实际下单等等的问题可以先放一边
按照您的指点,是否真的需要用到分线之类的数据才有办法呢 ><"
毕竟回测过程中,是可以知道讯号那根K棒的OHLC,为何..... : (
编辑文章 by DavidLu 2011-10-24 22:48:48
- 上一篇:多单进货指令buy
- 下一篇:请问 tl_new 的用法
相关文章
-
没有相关内容
- MC客服:

会员登录/注册