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,不需要它重新计算
该如何修改呢?
第一段开仓有1次,记为第一次,后面一段加仓有3次,分别记为第二,第三,第四次,我希望第二第三第四次依然用第一次的ATR,而不要刷新k线后重新计算。
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 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了
能直接在源代码上改吗?
我的意思是你能直接改我的代码然后发出来吗?不要总是提供个思路