以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 策略编写求助区 (http://weistock.com/bbs/list.asp?boardid=11) ---- 求高手将TB 改成金字塔? (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=10211) |
-- 作者:shshtiger -- 发布时间:2012/2/19 11:50:50 -- 求高手将TB 改成金字塔? Params Else cond = True;
求高手将上面TB 改成金字塔? 谢谢~~~~~~~~
|
-- 作者:阿火 -- 发布时间:2012/2/20 11:20:58 -- 你的不是完整的模型
要的是不是 3级止损啊?论坛上有
http://www.weistock.com/bbs/dispbbs.asp?BoardID=11&ID=7320&skin=0
平均振幅的算法 可采用引用 新建一个指标 名称为 zf 内容如下:avgRange:ma(h-l,20);zf:h-l; 则:avgRange:=stkindi(stklabel,\'zf.avgRange\',0,6,-1); zf:=stkindi(stklabel,\'zf.zf\',0,6,-1);
至于开盘后一定周期内的高低点的写法: nn:=barslast(date<>ref(date,1) or barpos=1)+1; yl:=ref(hhv(h,nn),1); zc:=ref(llv(l,nn),1); [此贴子已经被作者于2012-2-20 11:36:13编辑过]
|
-- 作者:shshtiger -- 发布时间:2012/2/20 20:02:26 -- 主要上面一段不好改,改完的效果和TB出入较大 进退场 代码如下 if(time<endtime/100 and cond and (upperprice/Lowerprice)<(1+ratio/100) And High<>Low) {
if(high>=upperprice[1] and time>begintime/100 and MarketPosition<>1 && bLongStoped==False)
{
buy(lots,max(open,Upperprice[1]));
Return;
}
if(low<=Lowerprice[1] and time>begintime/100 and MarketPosition<>-1 && bshortStoped==False)
{
SellShort(lots,Min(open,Lowerprice[1]));
Return;
} } //以下为止损部分代码
If(MarketPosition==1 and BarsSinceEntry>=1) { // 初始止损 StopLine = EntryPrice * (1-InitialStop/1000); // 达到保本止损条件,将止损位上移到保本的价位 If (HigherAfterEntry >= EntryPrice * (1+BreakEvenStop/1000))
StopLine = EntryPrice; // 追踪止损的价位超过保本止损价,止损价随盈利峰值价的上升同步提高 If (StopLine < HigherAfterEntry*(1-TrailingStop/1000))
StopLine = HigherAfterEntry*(1-TrailingStop/1000); // 止损触发 If(Low <= StopLine) {
MyPrice = StopLine;
If(Open < MyPrice) MyPrice = Open;
Sell(0,MyPrice);
bLongStoped = True;
// 止损后设置标志
//bshortStoped = False; } }
If(MarketPosition==-1 and BarsSinceEntry>=1) { // 初始止损 StopLine = EntryPrice * (1+InitialStop/1000); // 达到保本止损条件,将止损位上移到保本的价位 If (lowerAfterEntry <= EntryPrice * (1-BreakEvenStop/1000))
StopLine = EntryPrice; // 追踪止损的价位超过保本止损价,止损价随盈利峰值价的上升同步提高 If (StopLine > lowerAfterEntry*(1+TrailingStop/1000))
StopLine = lowerAfterEntry*(1+TrailingStop/1000); Commentary("止损价:"+Text(StopLine)); // 止损触发 If(high >= StopLine) {
MyPrice = StopLine;
If(Open > MyPrice) MyPrice = Open;
BuyToCover(0,MyPrice);
//bLongStoped = False;
bshortStoped = True;
// 止损后设置标志
} }
//以下为收盘平仓部分
if(time>=endtime/100 and MarketPosition<>0)
{
BuyToCover;
sell;
} End |
-- 作者:admin -- 发布时间:2012/2/22 15:41:22 -- 主要是没人能完全理解你的指标代码原理,建议你学习一下金字塔的一些基本调试技巧 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题4,如果遇到了具体的编程问题,再来求教,这样才有比较好的效果 |