커뮤니티
질문드립니다.
2019-01-14 12:52:59
190
글번호 125236
안녕하세요. 아래로직과 같이 종목검색시 별개의 종목들이 검색됩니다.
현재 condition99를 만족하고 거래대금이 50억 이상이고 시가가 전일종가의 4%미만이며, 당일시가대비 고가가5%상승한 종목을 검색하는것인데, 금일 '유니크'와 같이 전혀무관한 종목이 검색됩니다. 위 조건에 부합하는 종목만 검색이 되면 좋겠습니다...
Var:barCnt(10);
Var:j(0),turnPntBit(""),TL1(0),TL2(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
var : count1(0),count2(0), idx(0);
if sDate != sDate[1] Then
{
Condition99 = false;
count1 = 0;
count2 = 0;
Value1 = 0;
Value2 = 0;
}
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt);
Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt);
turnPntBit = "";
If Condition1 and Condition2 Then {
If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or
(turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then {
valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
if Condition99 == false and turnPntBit == "Hi" Then
{
Condition99 = true;
value99 = valArr[1];
}
}
Else
{
}
}
}
Var : Per2(80);
VAR : RR(0), AA(0);
RR = (DayOpen-Value99);
AA = (value99-DayOpen);
Var3 = (DayOpen-RR*(Per2/100)); //당일 고가선과 시가선의 50%선(중간값) 계산값은 = Var3
If sDate != sDate[1] Then{
idx = 0;
}
Input : 거래대금(500000000); //5억
if Condition99 == false and C > O Then
Value1 = Value1+Money;
If Condition99 == True and C <= O Then{
Value2 = Value2+Money;
}
If Condition99 == True Then{
if Value1 >= 거래대금 and DayOpen <= DayClose(1)*1.04 and DayHigh >= DayOpen*1.05 and (Value1/2) > Value2 Then
Find(1);
}
답변 3
예스스탁 예스스탁 답변
2019-01-14 14:49:10
안녕하세요
예스스탁입니다.
해당 종목 조건식에 사용되는 값을 비교해 보았지만
올려주신 조건에 모두 부합되는 종목입니다.
어떤 조건이 만족하지 않는지 자세한 내용을 올려주시기 바랍니다.
즐거운 하루되세요
> stockric 님이 쓴 글입니다.
> 제목 : 질문드립니다.
> 안녕하세요. 아래로직과 같이 종목검색시 별개의 종목들이 검색됩니다.
현재 condition99를 만족하고 거래대금이 50억 이상이고 시가가 전일종가의 4%미만이며, 당일시가대비 고가가5%상승한 종목을 검색하는것인데, 금일 '유니크'와 같이 전혀무관한 종목이 검색됩니다. 위 조건에 부합하는 종목만 검색이 되면 좋겠습니다...
Var:barCnt(10);
Var:j(0),turnPntBit(""),TL1(0),TL2(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
var : count1(0),count2(0), idx(0);
if sDate != sDate[1] Then
{
Condition99 = false;
count1 = 0;
count2 = 0;
Value1 = 0;
Value2 = 0;
}
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt);
Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt);
turnPntBit = "";
If Condition1 and Condition2 Then {
If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or
(turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then {
valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
if Condition99 == false and turnPntBit == "Hi" Then
{
Condition99 = true;
value99 = valArr[1];
}
}
Else
{
}
}
}
Var : Per2(80);
VAR : RR(0), AA(0);
RR = (DayOpen-Value99);
AA = (value99-DayOpen);
Var3 = (DayOpen-RR*(Per2/100)); //당일 고가선과 시가선의 50%선(중간값) 계산값은 = Var3
If sDate != sDate[1] Then{
idx = 0;
}
Input : 거래대금(500000000); //5억
if Condition99 == false and C > O Then
Value1 = Value1+Money;
If Condition99 == True and C <= O Then{
Value2 = Value2+Money;
}
If Condition99 == True Then{
if Value1 >= 거래대금 and DayOpen <= DayClose(1)*1.04 and DayHigh >= DayOpen*1.05 and (Value1/2) > Value2 Then
Find(1);
}
stockric
2019-01-14 15:37:35
실시간 종목검색시, 현시점에 저 조건에 부합하지 않는 종목이 검출된다는 것인데요.
아래 조건중 하나라도 만족시 검색이됩니다.
가령 당일고가가 시가보다 5%상승해야한다는 조건이 있음에도 불구하고 금일 유니크라는 종목이 10시경 condition99라는 조건만 만족될때 검색되었습니다.
아래식이 모두 맞다면, 파워종목검색의 현시점상 차트로 검색된다는 것인데, 아래 조건에 부합하지않지만 하나만 맞아도 검색이 된다는 것은 무엇인가 문제가 있는것은 아닌지 우려가됩니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 질문드립니다.
>
안녕하세요
예스스탁입니다.
해당 종목 조건식에 사용되는 값을 비교해 보았지만
올려주신 조건에 모두 부합되는 종목입니다.
어떤 조건이 만족하지 않는지 자세한 내용을 올려주시기 바랍니다.
즐거운 하루되세요
> stockric 님이 쓴 글입니다.
> 제목 : 질문드립니다.
> 안녕하세요. 아래로직과 같이 종목검색시 별개의 종목들이 검색됩니다.
현재 condition99를 만족하고 거래대금이 50억 이상이고 시가가 전일종가의 4%미만이며, 당일시가대비 고가가5%상승한 종목을 검색하는것인데, 금일 '유니크'와 같이 전혀무관한 종목이 검색됩니다. 위 조건에 부합하는 종목만 검색이 되면 좋겠습니다...
Var:barCnt(10);
Var:j(0),turnPntBit(""),TL1(0),TL2(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
var : count1(0),count2(0), idx(0);
if sDate != sDate[1] Then
{
Condition99 = false;
count1 = 0;
count2 = 0;
Value1 = 0;
Value2 = 0;
}
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt);
Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt);
turnPntBit = "";
If Condition1 and Condition2 Then {
If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or
(turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then {
valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
if Condition99 == false and turnPntBit == "Hi" Then
{
Condition99 = true;
value99 = valArr[1];
}
}
Else
{
}
}
}
Var : Per2(80);
VAR : RR(0), AA(0);
RR = (DayOpen-Value99);
AA = (value99-DayOpen);
Var3 = (DayOpen-RR*(Per2/100)); //당일 고가선과 시가선의 50%선(중간값) 계산값은 = Var3
If sDate != sDate[1] Then{
idx = 0;
}
Input : 거래대금(500000000); //5억
if Condition99 == false and C > O Then
Value1 = Value1+Money;
If Condition99 == True and C <= O Then{
Value2 = Value2+Money;
}
If Condition99 == True Then{
if Value1 >= 거래대금 and DayOpen <= DayClose(1)*1.04 and DayHigh >= DayOpen*1.05 and (Value1/2) > Value2 Then
Find(1);
}
예스스탁 예스스탁 답변
2019-01-14 16:35:39
> stockric 님이 쓴 글입니다.
> 제목 : Re : Re : 질문드립니다.
> 실시간 종목검색시, 현시점에 저 조건에 부합하지 않는 종목이 검출된다는 것인데요.
아래 조건중 하나라도 만족시 검색이됩니다.
가령 당일고가가 시가보다 5%상승해야한다는 조건이 있음에도 불구하고 금일 유니크라는 종목이 10시경 condition99라는 조건만 만족될때 검색되었습니다.
아래식이 모두 맞다면, 파워종목검색의 현시점상 차트로 검색된다는 것인데, 아래 조건에 부합하지않지만 하나만 맞아도 검색이 된다는 것은 무엇인가 문제가 있는것은 아닌지 우려가됩니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 질문드립니다.
>
안녕하세요
예스스탁입니다.
해당 종목 조건식에 사용되는 값을 비교해 보았지만
올려주신 조건에 모두 부합되는 종목입니다.
어떤 조건이 만족하지 않는지 자세한 내용을 올려주시기 바랍니다.
즐거운 하루되세요
> stockric 님이 쓴 글입니다.
> 제목 : 질문드립니다.
> 안녕하세요. 아래로직과 같이 종목검색시 별개의 종목들이 검색됩니다.
현재 condition99를 만족하고 거래대금이 50억 이상이고 시가가 전일종가의 4%미만이며, 당일시가대비 고가가5%상승한 종목을 검색하는것인데, 금일 '유니크'와 같이 전혀무관한 종목이 검색됩니다. 위 조건에 부합하는 종목만 검색이 되면 좋겠습니다...
Var:barCnt(10);
Var:j(0),turnPntBit(""),TL1(0),TL2(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
var : count1(0),count2(0), idx(0);
if sDate != sDate[1] Then
{
Condition99 = false;
count1 = 0;
count2 = 0;
Value1 = 0;
Value2 = 0;
}
For j = 0 To 9
{
barArr[j] = barArr[j] + 1;
}
Condition1 = Highest(H,barCnt)[barCnt+1] <= H[barCnt] and H[barCnt] > Highest(H,barCnt);
Condition2 = Lowest(L,barCnt)[barCnt+1] >= L[barCnt] and L[barCnt] < Lowest(L,barCnt);
turnPntBit = "";
If Condition1 and Condition2 Then {
If Max(valArr[1],valArr[2]) < H[barCnt] and Min(valArr[1],valArr[2]) > L[barCnt] Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H[barCnt] Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L[barCnt] Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Hi" Then turnPntBit = "Lo";
Else If turnPntArr[1] == "Lo" Then turnPntBit = "Hi";
}
Else If Condition1 Then turnPntBit = "Hi";
Else If Condition2 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for j = 8 downto 1
{
valArr[j+1] = valArr[j];
barArr[j+1] = barArr[j];
turnPntArr[j+1] = turnPntArr[j];
}
}
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H[barCnt]) or
(turnPntBit == "Lo" and valArr[1] > L[barCnt]))) Then {
valArr[1] = IFF(turnPntBit == "Hi",H[barCnt],L[barCnt]);
barArr[1] = barCnt;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
if Condition99 == false and turnPntBit == "Hi" Then
{
Condition99 = true;
value99 = valArr[1];
}
}
Else
{
}
}
}
Var : Per2(80);
VAR : RR(0), AA(0);
RR = (DayOpen-Value99);
AA = (value99-DayOpen);
Var3 = (DayOpen-RR*(Per2/100)); //당일 고가선과 시가선의 50%선(중간값) 계산값은 = Var3
If sDate != sDate[1] Then{
idx = 0;
}
Input : 거래대금(500000000); //5억
if Condition99 == false and C > O Then
Value1 = Value1+Money;
If Condition99 == True and C <= O Then{
Value2 = Value2+Money;
}
If Condition99 == True Then{
if Value1 >= 거래대금 and DayOpen <= DayClose(1)*1.04 and DayHigh >= DayOpen*1.05 and (Value1/2) > Value2 Then
Find(1);
}
다음글
이전글