共6 条记录, 每页显示 10 条, 页签:
[1]
1楼
陈志海11 发表于:2018/9/26 13:28:04
INPUT:N(30,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
SUMON:0;
SUMBUY:0;
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
BEGIN
BUY(1,1,MARKET);
DRAWTEXT(1 ,LOW ,"开多" );
SUMON=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN
BEGIN
BUY(1,1,MARKET);
SUMBUY=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) THEN BEGIN
SELL(1,0,MARKET);
DRAWTEXT(1 ,LOW ,"平多" );
SUMON=0;
SUMBUY=0;
END
此主题相关图片如下:fxejw1u0y`{a~801)qfv.png

这段代码没有实现加仓的效果啊?出在哪里?
2楼
陈志海11 发表于:2018/9/26 13:39:05
INPUT:N(30,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON=0,SUMBUY=0;
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
BEGIN
BUY(1,1,MARKET);
DRAWTEXT(1 ,LOW ,"开多" );
SUMON=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN
BEGIN
BUY(1,1,MARKET);
SUMBUY=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) AND HOLDING>0 THEN BEGIN
SELL(1,0,MARKET);
DRAWTEXT(1 ,LOW ,"平多" );
SUMON=0;
SUMBUY=0;
END
3楼
FireScript 发表于:2018/9/26 13:40:06
1.赋值 用“:=” 单用 “=”是无效的。2.sumon和SUMBUY用全局变量方式定义。
INPUT:N(30,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON:=0,SUMBUY:=0;
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
BEGIN
BUY(1,1,MARKET);
DRAWTEXT(1 ,LOW ,"开多" );
SUMON:=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN
BEGIN
BUY(1,1,MARKET);
SUMBUY:=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) and holding>0 THEN BEGIN
SELL(1,0,MARKET);
DRAWTEXT(1 ,LOW ,"平多" );
SUMON:=0;
SUMBUY:=0;
end
4楼
wenarm 发表于:2018/9/26 13:45:16
INPUT:N(30,5,250,10);
VARIABLE:SUMON=0;
VARIABLE:SUMBUY=0;
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
BEGIN
BUY(1,1,MARKET);
SUMON:=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN
BEGIN
BUY(1,1,MARKET);
SUMBUY:=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) THEN BEGIN
SELL(1,0,MARKET);
SUMON:=0;
SUMBUY:=0;
END
5楼
陈志海11 发表于:2018/9/26 15:30:56
INPUT:N(95,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON:=0,SUMBUY:=0;
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
BEGIN
BUY(1,4,MARKET);
DRAWTEXT(1 ,LOW ,"开多" );
SUMON:=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=10 AND HOLDING>0 THEN
BEGIN
BUY(1,4,MARKET);
SUMBUY:=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) AND HOLDING>0 THEN BEGIN
SELL(1,0,MARKET);
DRAWTEXT(1 ,LOW ,"平多" );
SUMON:=0;
SUMBUY:=0;
END
IF CROSS(MA30,CLOSE) AND HOLDING=0 THEN
BEGIN
BUYSHORT(1,4,MARKET);
DRAWTEXT(1 ,LOW ,"开空" );
SUMON:=1;
END
IF ENTERPRICE-CLOSE>=0.5*ATR AND HOLDING<0 AND SUMON=1 AND SUMBUY<=10 THEN
BEGIN
BUYSHORT(1,4,MARKET);
DRAWTEXT(1 ,LOW ,"开空" );
SUMBUY:=SUMBUY+1;
END
IF CROSS(CLOSE,MA30) AND HOLDING<0 THEN
BEGIN
SELLSHORT(1,0,MARKET);
SUMON:=0;
SUMBUY:=0;
END
这段代码加载在图上变成只开空,不开多了,只对做空作对了最大加仓十次,没有对 开多加仓,求助老师们
6楼
wenarm 发表于:2018/9/26 16:01:24
图表不支持锁仓,开仓前先平反手仓位。另外,仓位类型开关不能共用。
INPUT:N(95,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON:=0,SUMBUY:=0;
IF CROSS(CLOSE,MA30) AND HOLDING<0 THEN
BEGIN
SELLshort(1,0,MARKET);
SUMON:=0;
SUMBUY:=0;
END
IF CROSS(MA30,CLOSE) AND HOLDING>0 THEN BEGIN
SELL(1,0,MARKET);
SUMON:=0;
SUMBUY:=0;
END
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
BEGIN
BUY(1,4,MARKET);
SUMON:=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=10 AND HOLDING>0 THEN
BEGIN
BUY(1,4,MARKET);
SUMBUY:=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) AND HOLDING=0 THEN
BEGIN
BUYSHORT(1,4,MARKET);
SUMON:=-1;
END
IF ENTERPRICE-CLOSE>=0.5*ATR AND HOLDING<0 AND SUMON=-1 AND SUMBUY<=10 THEN
BEGIN
BUYSHORT(1,4,MARKET);
SUMBUY:=SUMBUY+1;
END
共6 条记录, 每页显示 10 条, 页签:
[1]