選股自行分類多空方向

  •   183 
  • 最後發表   ForisChang  2017 八月 21
ForisChang 發文於   2017/08/04

我想用以下的條件做選股加上條件的分類但條件多數都會混再一起

譬如選出A股條件符合多方進場但分類還是會有空方出場

究竟是哪一段撰寫錯誤

還有我在condition11~23=false會不會多餘

麻煩各位高手指教

如何修改

謝謝

 

input:Leng1(5),Leng2(10)

input:Length(20),UpperBand(2),LowerBand(2);

 

variable: ma1(0), ma2(0);

variable: up(0), mid(0), down(0);

 

setbarback(maxlist(Leng1,Leng2,Leng3));

settotalbar(maxlist(Leng1,Leng2,Leng3)+10);

 

ma1 = average(close, Leng1);

ma2 = average(close, Leng2);

up = bollingerband(Close, Length, UpperBand);

down = bollingerband(Close, Length, LowerBand);

mid = (up + down) / 2;

 

condition1 = volume > 1000;

condition11=false;

condition12=false;

condition13=false;

condition21=false;

condition22=false;

condition23=false;

condition11= close > ma1 and  ma1 > ma2;  //收在多方

condition12= close < down;  //收盤小於下軌

condition13= close > down;  //收盤大於下軌

condition21= close < ma1 and  ma1 < ma2;  //收在空方

condition22= close < up;    //收盤小於上軌

condition23= close > up;    //收盤大於上軌

 

if condition11 and condition1 then

  begin

  if condition12 then ret = 1;

  end;

  outputfield1(condition12,"多方超賣");

if condition11 and condition1 then

  begin

  if condition13 then ret = 1;

  end;

  outputfield2(condition13,"多方進場");

if condition21 and condition1 then

  begin

  if condition22 then ret = -1;

  end;

  outputfield3(condition22,"空方超買");

if condition21 and condition1 then

  begin

  if condition23 then ret = -1;

  end;

  outputfield4(condition23,"空方出場");

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/08/07

你好:

    小幫手會嘗試幫你除錯看看,再向你回覆。

  • 按讚來自於
  • ForisChang
XQ小幫手 發文於   2017/08/09

你好:

小幫手試著幫你除錯,感覺你這邊是想同時判斷這四個訊號,改用這種寫法就會對了

input:Leng1(5),Leng2(10);
input:Length(20),UpperBand(2),LowerBand(2);


variable: ma1(0), ma2(0);

variable: up(0), mid(0), down(0);


setbarback(maxlist(Leng1,Leng2));

settotalbar(maxlist(Leng1,Leng2)+10);


ma1 = average(close, Leng1);

ma2 = average(close, Leng2);

up = bollingerband(Close, Length, UpperBand);

down = bollingerband(Close, Length, -LowerBand);

mid = (up + down) / 2;


condition1 = volume > 1000;

condition11= close > ma1 and  ma1 > ma2;  //收在多方

condition12= close < down;  //收盤小於下軌
condition13= close > down;  //收盤大於下軌

condition21= close < ma1 and  ma1 < ma2;  //收在空方

condition22= close < up;    //收盤小於上軌
condition23= close > up;    //收盤大於上軌


if condition11 and condition1 then
begin
if condition12 then
begin
value1 =1; 
value2 =0;
value3 =0;
value4 =0;
ret=1;
outputfield(7,value1,"多方超賣");
outputfield(8,value2,"多方進場");
outputfield(9,value3,"空方超賣");
outputfield(10,value4,"空方進場");

end;
end;       


if condition11 and condition1 then
begin
if condition13 then 
  begin
value1 =0; 
value2 =1;
value3 =0;
value4 =0;
ret=1;
outputfield(7,value1,"多方超賣");
outputfield(8,value2,"多方進場");
outputfield(9,value3,"空方超賣");
outputfield(10,value4,"空方進場");

end;
end;  


if condition21 and condition1 then
begin
if condition22 then
begin 
value1 =0; 
value2 =0;
value3 =1;
value4 =0;
ret=1;

outputfield(7,value1,"多方超賣");
outputfield(8,value2,"多方進場");
outputfield(9,value3,"空方超賣");
outputfield(10,value4,"空方進場");

end;
end;       

if condition21 and condition1 then
begin
if condition23 then 
begin
value1 =0; 
value2 =0;
value3 =0;
value4 =1;
ret=1;
outputfield(7,value1,"多方超賣");
outputfield(8,value2,"多方進場");
outputfield(9,value3,"空方超賣");
outputfield(10,value4,"空方進場");

end;
end;       

 

ForisChang 發文於   2017/08/09

真是太謝謝你了

XQ小幫手 發文於   2017/08/15

你好:

  小幫手有在將程式碼調整過,在煩請你看一下。

ForisChang 發文於   2017/08/17

謝謝您!!我試試看差異性在哪??

好理解哪一個是符合我需要的程式!!

真是太感謝了

ForisChang 發文於   2017/08/19

這的確有達到我要分類的方法

真是太謝謝您了!!!

XQ小幫手 發文於   2017/08/21

你好:

  原本的程式碼,有一些小幫手沒注意到的地方,所以小幫手做了一點修正,以上說明。

發表回覆
Close