以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  TB的早盘突破公式转金字塔公式  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=1248)

--  作者:admin
--  发布时间:2010/3/28 11:52:54
--  [求助]金字塔有没有自己的商品指数呀

//TB公式代码如下

Params
        Numeric nMins(30);                // N分钟的突破
    Numeric nOffset(3);                // 突破式的价格偏移
Vars
        NumericSeries HighestOf30Min;
    NumericSeries lowestOf30Min;
    Numeric myPrice;
    Numeric MinPoint;
    Numeric lots(1);
Begin
        MinPoint = MinMove*PriceScale;
        If(Date <> Date[1])
        {
                HighestOf30Min = High;
                lowestOf30Min = Low;
        }Else If(Time < 0.0900+nMins*0.0001)
        {
                HighestOf30Min = max(high,HighestOf30Min[1]);
                lowestOf30Min = min(Low,lowestOf30Min[1]);
        }Else
        {
                HighestOf30Min = HighestOf30Min[1];
                lowestOf30Min = lowestOf30Min[1];
        }
       
        If(High >= HighestOf30Min + nOffset*MinPoint && MarketPosition != 1)
        {
                myPrice = HighestOf30Min + nOffset*MinPoint;
                If(Open > myPrice) myPrice = Open;
                Buy(lots,myPrice);
        }

        If(Low <= lowestOf30Min - nOffset*MinPoint && MarketPosition != -1)
        {
                myPrice = lowestOf30Min - nOffset*MinPoint;
                If(Open < myPrice) myPrice = Open;
                SellShort(lots,myPrice);
        }

        If(Time >= 0.1459)
        {
                Sell(lots,Open);
                BuyToCover(lots,Open);
        }
End

 

/////////////////////////////////////////////////////////////////////////////////////

//下面为金字塔代码 (感谢轮回)


INPUT:NMIN(30,10,60,10);     //设置参数
INPUT:NOFFSET(3,1,20,1);     //设置参数
INPUT:LOTS(1,1,1000,1);      //设置参数
CYC:=BARSLAST(DATE>REF(DATE,1))+1;                                                    //统计日内K线数
HIGHESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,HHV(H,CYC));        {在从开盘到设定时间(默认参数开盘30分)内保存当天最高价}
LOWESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,LLV(L,CYC));         {在从开盘到设定时间(默认参数开盘30分)内保存当天最低价}
IF HIGH >= HIGHESTOF30MIN + NOFFSET*MINDIFF AND HOLDING<=0  THEN  {如果最高价突破设定时间内的前高加设定偏移并且目前没有多单,那么}
BEGIN
 MYPRICE: = HIGHESTOF30MIN + NOFFSET*MINDIFF;                                     {预设进场价.既等于设定时间内的前高加设定偏移}
 IF OPEN > MYPRICE THEN                                                                            {如果开盘价大于预设进场价,那么奋不顾身闯进去,(注:这是移植的,原设计并不一定完美,这时可能不是那么好成交的,我也不必多费唇舌了).}
 BEGIN
  MYPRICE: = OPEN;
  SELLSHORT(HOLDING<0,0,LIMITR,MYPRICE);                                                {如果有空单先平}
  BUY(HOLDING=0,LOTS,LIMITR,MYPRICE);                                                     {如果没有多单则以开盘价开多LOTS手}
 END
END
IF LOW <= LOWESTOF30MIN - NOFFSET*MINDIFF AND HOLDING>=0  THEN      {以下开空部分同上,只不过方向相反}
BEGIN
 MYPRICE: = LOWESTOF30MIN - NOFFSET*MINDIFF;
 IF OPEN < MYPRICE THEN
 BEGIN
  MYPRICE: = OPEN;
  SELL(HOLDING>0,0,LIMITR,MYPRICE);
  BUYSHORT(HOLDING=0,LOTS,LIMITR,MYPRICE);
 END
END
IF TIME >= 145900 THEN                                                                                {收盘平仓}
BEGIN
 SELL(HOLDING>0,0,LIMITR,OPEN);
 SELLSHORT(HOLDING<0,0,LIMITR,OPEN);
END

[此贴子已经被作者于2010-3-28 22:19:36编辑过]

--  作者:admin
--  发布时间:2010/3/28 12:26:22
--  

测试收益情况不错图片点击可在新窗口打开查看

 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看


--  作者:winewine99
--  发布时间:2010/3/28 15:21:49
--  
轮回老师就是那种能力强人品高的人,这是我向轮回老师请教的问题,老师在白忙中还能信手拈来。图片点击可在新窗口打开查看
--  作者:随势而动
--  发布时间:2010/3/29 22:22:51
--  
好强的公式。多谢
--  作者:loneboy
--  发布时间:2010/3/29 22:31:18
--  
这个公式金字塔没有办法用啊,提示“该公式没有然后趋势线名称,可能导致该趋势线无法正常显示。” 不好意识,原来是交易系统
[此贴子已经被作者于2010-3-29 22:41:54编辑过]

--  作者:qkl586
--  发布时间:2010/9/1 16:58:37
--  

能否请版主将早盘突破的模型修改为整理突破的模型?条件是突破N周期的高点平空开多,低点平多开空。多谢!


--  作者:fly
--  发布时间:2010/9/1 17:15:16
--  

类似以下的格式写就可以了。

 

HN:=N周期的高点;

LN:=N周期的低点;

 

IF H>=HN then

begin

sellshort(holding<0,0,thisclose);

buy(holding=0,1,thisclose);

end

 

IF L<=LN then

begin

sell(holding>0,0,thisclose);

buyshort(holding=0,1,thisclose);

end

 


--  作者:solarhe2006
--  发布时间:2012/3/6 13:01:06
--  
CYC:=BARSLAST(DATE>REF(DATE,1))+1;                                                    //统计日内K线数
HIGHESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,HHV(H,CYC));        {在从开盘到设定时间(默认参数开盘30分)内保存当天最高价}
LOWESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,LLV(L,CYC));         {在从开盘到设定时间(默认参数开盘30分)内保存当天最低价}