以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 代码修改 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=29414) |
-- 作者:金字塔散户 -- 发布时间:2012/9/23 18:07:41 -- 代码修改 AvgTR := ref(MA(TR,ATRLen),1) ;
//建立多头进场条件
Long := h > T20Hi ; //多头进场 if Long then begin myEntryPrice := IF(Open>T20Hi+MINDIFF ,Open ,T20Hi+MINDIFF ) ; buy( _DEBUG,PosNum,limitr,myEntryPrice); Position := 1 ; TurtleUnits := 1 ; N := AvgTR ; BuyOrderThisBar := 1;
//多头加仓条件
While (High>myEntryPrice+0.5*N) and TurtleUnits<4 Do Begin myEntryPrice := IF(Open>myEntryPrice+0.5*N ,Open ,myEntryPrice+0.5*N ) ; myEntryPrice := Ceiling(myEntryPrice/MINDIFF)*MINDIFF ; buy( _DEBUG, PosNum, limitr, myEntryPrice); TurtleUnits := TurtleUnits+1 ; BuyOrderThisBar := 1; End //While 这段代码里每次多头加仓的时候N都是重新算的,我希望就用第一次开仓时的N,不需要它重新计算
该如何修改呢?
|
-- 作者:jinzhe -- 发布时间:2012/9/24 9:06:50 -- 这个第一次是什么情况下的第一次? |
-- 作者:金字塔散户 -- 发布时间:2012/9/24 9:09:53 -- 第一段开仓有1次,记为第一次,后面一段加仓有3次,分别记为第二,第三,第四次,我希望第二第三第四次依然用第一次的ATR,而不要刷新k线后重新计算。 |
-- 作者:jinzhe -- 发布时间:2012/9/24 9:16:12 -- variable:a=0,atr=0;
if a=0 and cond then begin buy(); a:=1; atr:=; end if a=1 and cond then buy(); 这样就能记录第一次的atr了 |
-- 作者:金字塔散户 -- 发布时间:2012/9/24 9:48:59 -- 没怎么看懂== 能直接在我给的代码上修改吗? |
-- 作者:jinzhe -- 发布时间:2012/9/24 10:10:33 -- 原理就是第一次下单记录最初的值 |
-- 作者:金字塔散户 -- 发布时间:2012/9/24 10:16:30 -- 原理发帖之前我就是这么想的,但是代码我不会写,所以希望你能直接改我的代码,反正基本只要复制粘贴一下就可以了~~ |
-- 作者:金字塔散户 -- 发布时间:2012/9/24 11:37:57 -- 以下是引用jinzhe在2012-9-24 9:16:12的发言:
variable:a=0,atr=0;
if a=0 and cond then begin buy(); a:=1; atr:=; end if a=1 and cond then buy(); 这样就能记录第一次的atr了 能直接在源代码上改吗? |
-- 作者:jinzhe -- 发布时间:2012/9/24 13:19:16 -- 可以,把cond改成你的下单条件 |
-- 作者:金字塔散户 -- 发布时间:2012/9/24 16:34:49 -- 我的意思是你能直接改我的代码然后发出来吗?不要总是提供个思路 |