欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 【新手上路】报错缺少分号,麻烦看一下是什么情况

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4577人关注过本帖树形打印复制链接

主题:【新手上路】报错缺少分号,麻烦看一下是什么情况

帅哥哟,离线,有人找我吗?
QuantMe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
【新手上路】报错缺少分号,麻烦看一下是什么情况  发帖心情 Post By:2017/6/2 10:12:11    Post IP:180.169.105.40[只看该作者]

 如题
 图中293显示报错缺少分号,我想请问一下是什么情况
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2017/6/2 10:14:05    Post IP:58.53.133.180[只看该作者]

建议将代码贴过来,不要贴图,以便于我们客服人员检查问题


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
QuantMe
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
  发帖心情 Post By:2017/6/2 10:26:35    Post IP:180.169.105.40[只看该作者]

好的,稍等~

 回到顶部
帅哥哟,离线,有人找我吗?
QuantMe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
  发帖心情 Post By:2017/6/2 10:33:09    Post IP:180.169.105.40[只看该作者]

 您好,整个代码太大超过上限,然后我选择添加附件的时候没有窗口跳出来,我想问一下应该怎么处理比较好呢?

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/6/2 10:52:52    Post IP:180.169.30.6[只看该作者]

你以文件形式导出后压缩,发到论坛上。(和发图方式一样)

或者分段贴出来,再或者提出提示有问题的部分



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
QuantMe
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
  发帖心情 Post By:2017/6/2 11:05:40    Post IP:180.169.105.40[只看该作者]

//Turtles Trading System

INPUT : t20(    20 ,     15 ,     60 ,     1 );
INPUT : t10(    10 ,     10 ,    30 ,    1 );
INPUT : atrLen( 20 ,     15 ,    30 ,    1 );

VARIABLE : flag = 0 ;                // 查看今日是否发生交易
VARIABLE : _debug = 1 ;                // 是否输出前台交易指令
VARIABLE : _tDebug = 1 ;            // 是否输出后台交易指令
VARIABLE : _debugOut = 1 ;            // 是否输出后台交易的调试信息

VARIABLE : entryPrice = 0 ;            // 入市价格
VARIABLE : exitPrice  = 0 ;            // 退出价格

VARIABLE : turtleUnits = 0 ;        // 海龟单位
VARIABLE : position    = 0 ;        // 目前持有状态  1 多头仓位  -1 空头仓位  0 空仓

VARIABLE : t20H               = CLOSE ;
VARIABLE : t20L            = CLOSE ;
VARIABLE : t10H            = CLOSE ;
VARIABLE : t10L            = CLOSE ;

VARIABLE : avgTR        = 0    ;
VARIABLE : posNum        = 0 ;
VARIABLE : long            = True ;
VARIABLE : short        = True ;
VARIABLE : exitByStd    = True ;
VARIABLE : exitByCut    = True ;

t20H :=      REF(     HHV(     H , t20 )     ,     1     );
t20L :=     REF(    LLV(    L ,    t20 )    ,    1    );
t10H :=     REF(    HHV(    H , t10    )    ,    1    );
t10L :=        REF(    LLV(    L , t10    )    ,     1    );

avgTR     :=    REF(    MA(        TR ,     atrLen ) , 1 );
posNum     :=  2 ;  //应该根据avgTR调整,但目前缺少信息

strEntryBarPos        :=     STRCAT(    STKLABEL , 'ENTRYBARPOS' ) ;
strExitBarPos        :=     STRCAT(    STKLABEL , 'EXITBARPOS' ) ;
strPreEntryPrice    :=     STRCAT(    STKLABEL , 'PREENTRYPRICE' ) ;
strTurtleUnits        :=     STRCAT(    STKLABEL , 'TURTLEUNITS' ) ;
strPosition            :=     STRCAT(    STKLABEL , 'POSITION' ) ;
strPreN                :=     STRCAT(    STKLABEL , 'PREN' ) ;


IF NOT( WORKMODE = 1 ) THEN
    BEGIN
        DRAWTEXTEX( 1 , 0 , 0 , 0 , '本系统仅用于后台交易'    );
        EXIT;
    END
   
IF BARPOS = 1 THEN
    BEGIN
        POSITION := 0;
    END
   
   
   

 回到顶部
帅哥哟,离线,有人找我吗?
QuantMe
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
  发帖心情 Post By:2017/6/2 11:07:22    Post IP:180.169.105.40[只看该作者]

 
IF ISLASTBAR THEN    // 对最后一根K线情况进行特殊处理, 因为最后一根K线数据可能是实时更新的
    BEGIN
            IF EXTGBDATA( strExitBarPos <> BARPOS ) THEN                    // 当最后一根K线未发出过出场信号时进行处理
                BEGIN
                            IF EXTGBDATA( strEntryBarPos ) = BARPOS THEN    // 当新录入数据棒的位置与之前位置相同,说明是数据实时更新,需要进行数据覆盖,避免发生错误
                                BEGIN
                                            POSITION         :=     EXTGBDATA( strPosition ) ;
                                            entryPrice        :=    EXTGBDATA( strPreEntryPrice ) ;
                                            turtleUnits     :=    EXTGBDATA( strTurtleUnits    ) ;
                                            N                :=    EXTGBDATA( preN    )    ;
                                END

                            IF POSITION = 0 THEN
                                BEGIN
                                            long  =  H > t20H ;
                                            short = L < t20L ;
                                            IF NOT ( long AND short ) THEN
                                                BEGIN
                                                
                                                    IF long THEN
                                                        BEGIN
                                                                entryPrice     :=     IF( OPEN > t20H + MINDIFF , OPEN , t20H + MINDIFF ) ;            //这个地方买价需要讨论
                                                                POSITION      :=    1 ;
                                                                turtleUnits :=  1 ;
                                                                N            :=    avgTR ;
                                                                
                                                                TBUY( _debug , posNum , LMT , entryPrice ) , ALLOWREPEAT ;
                                                                
                                                                
                                                                EXTGBDATASET( strEntryBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strPosition , POSITION ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;
                                                                EXTGBDATASET( strPreN , N ) ;
                                                                EXTGBDATASET( strPreEntryPrice , entryPrice ) ;
                                                        END
                                                    
                                                    IF short THEN
                                                        BEGIN
                                                                entryPrice    :=    IF( OPEN < t20L - MINDIFF , OPEN , t20L - MINDIFF  ) ;            //这个地方买价需要讨论
                                                                POSITION     :=    -1 ;
                                                                turtleUnits :=    1 ;
                                                                N            :=     avgTR ;
                                                                
                                                                TBUYSHORT(    _debug ,     posNum ,     LMT ,    entryPrice ) , ALLOWREPEAT ;    
                                                                
                                                                EXTGBDATASET( strEntryBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strPosition , POSITION ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;
                                                                EXTGBDATASET( strPreN , N ) ;
                                                                EXTGBDATASET( strPreEntryPrice , entryPrice ) ;
                                                        END
                                                    
                                                END
                                            

                                END

 回到顶部
帅哥哟,离线,有人找我吗?
QuantMe
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
  发帖心情 Post By:2017/6/2 11:10:17    Post IP:180.169.105.40[只看该作者]

                            ELSE IF POSITION = 1 THEN
                                BEGIN
                                            entryPrice     := EXTGBDATA( strPreEntryPrice ) ;
                                            turtleUnits := EXTGBDATA( strTurtleUnits ) ;
                                            IF ( BARPOS > t20 ) AND ( H > L ) THEN
                                            BEGIN
                                                WHILE ( H > entryPrice + 0.5 * N ) AND ( turtleUnits < 4)    DO
                                                    BEGIN
                                                                entryPrice    := IF( entryPrice + 0.5 * N > OPEN , entryPrice + 0.5 * N , OPEN ) ;
                                                                entryPrice     := CEILING( entryPrice / MINDIFF ) *MINDIFF ;     
                                                                turtleUnits := turtleUnits + 1    ;
                                                                N            := avgTR ;
                                                                
                                                                EXTGBDATASET( strEntryBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;
                                                                EXTGBDATASET( strPreN , N ) ;
                                                                EXTGBDATASET( strPreEntryPrice , entryPrice ) ;
                                                    END
                                            END
                                            exitByStd     := L < t10L ;        
                                            IF ( exitByStd ) AND ( EXTGBDATA( strEntryBarPos ) <> BARPOS )  THEN
                                                BEGIN
                                                                exitPrice     := IF( OPEN < t10L - MINDIFF , OPEN , t10L - MINDIFF ) ;
                                                                POSITION     := 0 ;
                                                                turtleUnits := 0 ;
                                                                exitPrice    := FLOOR( exitPrice / MINDIFF ) * MINDIFF ;
                                                                
                                                                TSELL( _debug , 0 , LMT , exitPrice ) ;
                                                                
                                                                EXTGBDATASET( strExitBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strPosition , POSITION ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;
                                                END
                                            exitByCut    := L < entryPrice - 2 * N ;
                                            IF ( POSITION = 1 ) AND ( exitByCut ) AND ( EXTGBDATA(strEntryBarPos) <> BARPOS ) THEN
                                                BEGIN
                                                                exitPrice    := IF( OPEN < entryPrice - 2 * N , OPEN , entryPrice - 2 * N ) ;
                                                                POSITION    := 0 ;
                                                                turtleUnits    := 0 ;
                                                                exitPrice    := FLOOR( exitPrice / MINDIFF ) * MINDIFF ;
                                                                
                                                                TSELL( _debug , 0 , LMT , exitPrice ) ;
                                                                
                                                                EXTGBDATASET( strExitBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strPosition , POSITION ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;
                                                END
                                END

 回到顶部
帅哥哟,离线,有人找我吗?
QuantMe
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
  发帖心情 Post By:2017/6/2 11:11:36    Post IP:180.169.105.40[只看该作者]

                            ELSE IF POSITION = -1 THEN
                                BEGIN
                                            entryPrice     :=    EXTGBDATA( strPreEntryPrice ) ;
                                            turtleUnits :=     EXTGBDATA( strTurtleUnits ) ;
                                            IF ( BARPOS > t20 ) AND ( H > L ) THEN
                                            BEGIN
                                                WHILE ( L < entryPrice - 0.5 * N ) AND ( turtleUnits < 4 )  DO
                                                    BEGIN
                                                                entryPrice     :=    IF( OPEN < entryPrice - 0.5 * N , OPEN , entryPrice - 0.5 * N ) ;
                                                                turtleUnits :=    turtleUnits + 1 ;
                                                                entryPrice  :=  FLOOR( entryPrice / MINDIFF ) * MINDIFF ;
                                                                N            :=  avgTR ;
                                                                
                                                                EXTGBDATASET( strEntryBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;
                                                                EXTGBDATASET( strPreN , N ) ;
                                                                EXTGBDATASET( strPreEntryPrice , entryPrice ) ;                                                                
                                                    END
                                            END
                                            exitByStd     :=  H > t10H ;
                                            IF ( exitByStd ) AND ( EXTGBDATA( strEntryBarPos ) <> BARPOS )    THEN
                                            BEGIN
                                                                POSITION     := 0  ;
                                                                turtleUnits := 0  ;
                                                                exitPrice     := IF( OPEN > t10H + MINDIFF , OPEN , t10H + MINDIFF ) ;
                                                                exitPrice    := CEILING( exitPrice / MINDIFF ) * MINDIFF ;
                                                                
                                                                TSELLSHORT( _debug , 0 , LMT , exitPrice ) ;
                                                                
                                                                EXTGBDATASET( strExitBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strPosition , POSITION ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;                                                
                                                
                                            END
                                            exitByCut    :=  H > entryPrice + 2 * N ;
                                            IF ( POSITION = -1 ) AND ( exitByCut ) AND ( EXTGBDATA( strEntryBarPos ) <> BARPOS ) THEN
                                            BEGIN
                                                                POSITION     := 0 ;
                                                                turtleUnits := 0 ;
                                                                exitPrice     := IF( OPEN > entryPrice + 2 * N , OPEN , entryPrice + 2 * N ) ;
                                                                exitPrice    := CEILING( exitPrice / MINDIFF ) * MINDIFF ;
                                                                
                                                                TSELLSHORT( _debug , 0 , LMT , exitPrice ) ;
                                                                
                                                                EXTGBDATASET( strExitBarPos , BARPOS ) ;
                                                                EXTGBDATASET( strPosition , POSITION ) ;
                                                                EXTGBDATASET( strTurtleUnits , turtleUnits ) ;        
                                            END
                                END

 回到顶部
帅哥哟,离线,有人找我吗?
QuantMe
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/5/22 10:09:51
  发帖心情 Post By:2017/6/2 11:12:36    Post IP:180.169.105.40[只看该作者]

                END
            ELSE
                BEGIN
                END
    END
ELSE
    BEGIN
            IF POSITION = 0 AND BARPOS > t20 AND H > L THEN
                BEGIN
                        long     := H > t20H;
                        short     := L < t20L;
                        
                        IF NOT ( long AND short ) THEN
                            BEGIN
                           
                                    IF long THEN
                                        BEGIN
                                                                entryPrice  := IF( OPEN > t20H + MINDIFF , OPEN , t20H + MINDIFF ) ;
                                                                POSITION    := 1 ;
                                                                turtleUnits := 1 ;
                                                                N            := avgTR ;
                                                                TBUY( _debug , posNum , LMT , entryPrice );
                                                                flag        := 1 ;
                                        END
                                       
                                    IF short THEN
                                        BEGIN
                                                                entryPrice    := IF( OPEN < t20L - MINDIFF , OPEN , t20L - MINDIFF ) ;
                                                                POSITION      := -1 ;
                                                                turtleUnits := 1 ;
                                                                N            := avgTR ;
                                                                TSELL( _debug , posNum , LMT , entryPrice ) ;
                                                                flag         := 1 ;
                                        END
                            END
                END

 回到顶部
总数 18 1 2 下一页