共18 条记录, 每页显示 10 条, 页签:
[1]
[2]
[浏览完整版]
标题:【新手上路】报错缺少分号,麻烦看一下是什么情况
1楼
QuantMe 发表于:2017/6/2 10:12:11
如题
图中293显示报错缺少分号,我想请问一下是什么情况
2楼
王锋 发表于:2017/6/2 10:14:05
建议将代码贴过来,不要贴图,以便于我们客服人员检查问题
3楼
QuantMe 发表于:2017/6/2 10:26:35
4楼
QuantMe 发表于:2017/6/2 10:33:09
您好,整个代码太大超过上限,然后我选择添加附件的时候没有窗口跳出来,我想问一下应该怎么处理比较好呢?
5楼
wenarm 发表于:2017/6/2 10:52:52
你以文件形式导出后压缩,发到论坛上。(和发图方式一样)
或者分段贴出来,再或者提出提示有问题的部分
6楼
QuantMe 发表于:2017/6/2 11:05: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
7楼
QuantMe 发表于:2017/6/2 11:07:22
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
8楼
QuantMe 发表于:2017/6/2 11:10:17
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
9楼
QuantMe 发表于:2017/6/2 11:11:36
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
10楼
QuantMe 发表于:2017/6/2 11:12:36
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 条记录, 每页显示 10 条, 页签:
[1]
[2]