请教针对单一个股的当冲语法 [MultiCharts MC]
作者:
MultiCharts MC 来源:
cxh99.com 发布时间:2012年05月21日 点击数:
674
【
收藏到本网的会员中心】
- 咨询内容:
我是用台泥股票的历史资料(用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