以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教如何把TB的计算开仓后最高低浮动盈亏保留改编为金字塔  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=68987)

--  作者:c78361923
--  发布时间:2014/8/20 13:52:39
--  请教如何把TB的计算开仓后最高低浮动盈亏保留改编为金字塔
If(BarsSinceLastEntry==1)  
     {
   HigherAfterEntry = AvgEntryPrice;
   LowerAfterEntry = AvgEntryPrice; 
 }
     Else If(BarsSinceLastEntry>=2)
     {
   HigherAfterEntry = Max(HigherAfterEntry[1],High[1]);
   LowerAfterEntry = Min(LowerAfterEntry[1],Low[1]);
     }
 Else if(Day!=Day[1])
     {
     HigherAfterEntry = HigherAfterEntry[1];
   LowerAfterEntry = LowerAfterEntry[1];
     }       
 else 
 {
   HigherAfterEntry = open;
   LowerAfterEntry = open;
 } 

请教TB这段代码如何来改为金字塔交易系统

--  作者:jinzhe
--  发布时间:2014/8/20 13:55:40
--  
注释一下
--  作者:c78361923
--  发布时间:2014/8/20 14:11:30
--  
If(BarsSinceLastEntry==1)  //获得当前持仓的最后一个建仓位置到当前位置的Bar计数 最后一个建仓的位置 也就是开仓bar
     {
//AvgEntryPrice为当前持仓的平均建仓格

   HigherAfterEntry = AvgEntryPrice;
   LowerAfterEntry = AvgEntryPrice; 
//浮动盈亏=0  }
     Else If(BarsSinceLastEntry>=2)//持仓第二根bar
     {
//建仓后最大浮盈=max(前一根bar的HigherAfterEntry,前一根bar最高价
   HigherAfterEntry = Max(HigherAfterEntry[1],High[1]);
//建仓后最小浮盈=Min(前一根bar的LowerAfterEntry ,前一根bar最低价    LowerAfterEntry = Min(LowerAfterEntry[1],Low[1]);
     }
 Else if(Day!=Day[1]) //隔夜仓
     {
     HigherAfterEntry = HigherAfterEntry[1];
   LowerAfterEntry = LowerAfterEntry[1];
     }       
 else 
 {
   HigherAfterEntry = open;
   LowerAfterEntry = open;
 } 


--  作者:jinzhe
--  发布时间:2014/8/20 14:14:02
--  
处理中请稍等
--  作者:jinzhe
--  发布时间:2014/8/20 14:14:45
--  

BarsSinceLastEntry==1

这句如何理解?开仓当根k线?


--  作者:c78361923
--  发布时间:2014/8/20 14:26:41
--  

BarsSinceEntry

说明 获得当前持仓的第一个建仓位置到当前位置的Bar计数。
语法 Integer BarsSinceEntry()
参数
备注 获得当前持仓的第一个建仓位置到当前位置的Bar计数,返回值为整型。
只有当MarketPosition != 0时,即有持仓的状况下,该函数才有意义,否则返回0。
注意:在开仓Bar上为0。
示例

--  作者:c78361923
--  发布时间:2014/8/20 14:27:08
--  

BarsSinceLastEntry

说明 获得当前持仓的最后一个建仓位置到当前位置的Bar计数。
语法 Integer BarsSinceLastEntry()
参数
备注 获得当前持仓的最后一个建仓位置到当前位置的Bar计数,返回值为整型。
只有当MarketPosition != 0时,即有持仓的状况下,该函数才有意义,否则返回0。
示例

--  作者:c78361923
--  发布时间:2014/8/20 14:29:18
--  
是开仓后的第二根bar   这样是为了避免开仓bar就做平仓
--  作者:jinzhe
--  发布时间:2014/8/20 14:52:24
--  

variable:higherafterentry=0,LowerAfterEntry=0;
h1:=ref(h,1);
l1:=ref(l,1);
if enterbars=1 then begin
 higherafterentry:=avgenterprice;
 lwoerafterentry:=avgenterprice;
end

if enterbars>=2 then begin
 higherafterentry:=max(higherafterentry,h1);
 lowerafterentry:=min(lowerafterentry,l1);
end
if date<>valuewhen(开仓条件,date) then begin
 higherafterentry:=higherafterentry;
 lowerafterentry:=lowerafterentry;
end
 
else  begin
 higherafterentry:=o;
 LowerAfterEntry:=o;
end


--  作者:c78361923
--  发布时间:2014/8/20 15:12:30
--  
非常感谢将军~~