커뮤니티
이것저것 문의드립니다.
2017-11-06 16:34:07
204
글번호 113915
도와주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 기타
고점 - ATR*3으로 atstop을 할 수 있는 건가요? 만약 1분봉 기준으로 30분봉이나 일봉 atr스탑을 쓰려면 이것도 각각 코딩을 통해 작성을 해야 하는 건가요? 가능하다면 5분봉기준 30분봉 일봉 atr 스탑 코딩 부탁드립니다.
2. 기타
예를 들어 손매매로 매매를 세번 한 뒤에 허매수코드를 만들어 놓고 매도를 하면 계좌에 있는 종목의 모든 수량이 매도되나요?
3. 55346 재질문 답변 부탁드립니다.
4. 특정종목이면 특정날짜에 매수 이런 식으로 코딩을 짤 수도 있나요? 그러니까 가격이나 거래량 조건같은 걸 걸어주지 않고 코드로 코딩을 짤 수도 있을까요? 조건에 맞는 종목들 보유하면 어느 수익률인 지 아는 방법이 있을까 싶어서요.
5. 파워종목검색에 있는 볼린저밴드 up 상향돌파 검색을 해봤는데요. 이걸 기간을 60으로 하고 검색해봤는데 KT&G와 같이 조건에 맞지 않는 것들이 나왔습니다.(금일) 이게 상단선 돌파가 아니라 중앙선 돌파인가요? 상단선 돌파한 종목을 찾았는데 뭐가 잘못됐는 지 모르겠습니다.
Input : Period(20), D(2);
value1 = BollBandUp(Period,D);
If CrossUp(C,value1) Then
{
If C==C[1] Then
value2 = 0.001;
Else
value2 = (C-C[1])/C[1]*100;
}
Else
value2 = 0;
Find(value2);
- 1. 114502_캡처.PNG (0.23 MB)
답변 1
예스스탁 예스스탁 답변
2017-11-06 18:02:27
안녕하세요
예스스탁입니다.
1
타주기 계산은 모두 코딩으로 하셔야 합니다.
1-1 일봉
input : P(14);
var : sumTR(0),TH(0),TL(0),cnt(0),ATRV(0);
sumTR = 0;
for cnt = 0 to P-1{
If DayClose(cnt+1) > DayHigh(cnt) then
TH = DayClose(cnt+1);
else
TH = DayHigh(cnt);
If DayClose(cnt+1) < daylow(cnt) then
TL = DayClose(cnt+1);
else
TL = daylow(cnt);
sumTR = sumTR + (TH-TL);
}
ATRV = sumTR/P;
plot1(ATRV);
1-2 분봉
input : 타주기분(30),p(14);
var : S1(0),D1(0),TM(0),TF(0);
var : TL(0),TH(0),cnt(0),sum(0),ATRV(0);
Array : HH[61](0),LL[61](0),CC[61](0),TR[61](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (TF < TF[1] and Bdate == Bdate[1]) Then{
HH[0] = H;
LL[0] = L;
CC[0] = C;
for cnt = 1 to 60{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
TR[cnt] = TR[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
if CC[1] > 0 Then{
If CC[1] > HH[0] then
TH = CC[1];
else
TH = HH[0];
If CC[1] < LL[0] then
TL = CC[1];
else
TL = LL[0];
TR[0] = TH-TL;
}
sum = 0;
if TR[P] > 0 Then{
for cnt = 0 to P-1{
sum = sum + TR[cnt];
}
ATRV = sum/P;
plot1(ATRV);
}
}
2
수식에서 계좌잔량 알수 없으므로
허수매수를 만들때 실제 계좌수량으로 지정하고
청산시 전량 청산하게 지정해 주셔야 합니다.
아래와 같은 구조로 작성해 사용하시면 됩니다.
수동으로 진입하고 당일 특정조건이 되면 청산하는 1회성식입니다.
input : 실제계좌수량(100);
if CurrentDate < sdate and sdate != sdate[1] Then
buy("과거봉에매수",OnClose,def,실제계좌수량);
#오늘(컴퓨터의 현재날짜와 봉의 날짜를 비교해 오늘차트에만 신호발생)
if CurrentDate == sdate then{
if 조건 ~~~ Then
exitlong();
}
3
이전 문의에 답변드렸습니다.
4
랭귀지는 차트에 적용하고 해당종목에 주문을 집행합니다.
차트는 사용자분이 직접 열게 되므로
수식에서 종목지정은 의미가 없습니다.
날짜만 지정해 매수하는 식을 만들고
주문내기를 원하는 차트를 열고 적용하시면 됩니다.
input : 날짜(20171107),수량(10);
if NextBarSdate > sdate and NextBarSdate == 날짜 Then
buy("매수",OnClose,def,수량);
5
첨부하신 그림의 파워종목검색화면을 보시면
검색에 필요한 최소기간이 30으로 되어 있습니다,
30개의 봉으로 지정한 수식을 계산한다는 의미입니다.
볼밴기간이 60이므로 61개봉 이상이 있어야 하고
상향돌파등을 파악하려면 추가로 1개봉이 더필요합니다.
넉넉히 100개봉으로 수정하고 검색하시면 됩니다.
검색에 필요한 최소기간은 검색의 속도를 위해
해당 수식계산에 필요한 최소봉수를 지정하는 옵션입니다.
해당 수치가 모자라면 검색이 원활히 되지 않습니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 이것저것 문의드립니다.
> 도와주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 기타
고점 - ATR*3으로 atstop을 할 수 있는 건가요? 만약 1분봉 기준으로 30분봉이나 일봉 atr스탑을 쓰려면 이것도 각각 코딩을 통해 작성을 해야 하는 건가요? 가능하다면 5분봉기준 30분봉 일봉 atr 스탑 코딩 부탁드립니다.
2. 기타
예를 들어 손매매로 매매를 세번 한 뒤에 허매수코드를 만들어 놓고 매도를 하면 계좌에 있는 종목의 모든 수량이 매도되나요?
3. 55346 재질문 답변 부탁드립니다.
4. 특정종목이면 특정날짜에 매수 이런 식으로 코딩을 짤 수도 있나요? 그러니까 가격이나 거래량 조건같은 걸 걸어주지 않고 코드로 코딩을 짤 수도 있을까요? 조건에 맞는 종목들 보유하면 어느 수익률인 지 아는 방법이 있을까 싶어서요.
5. 파워종목검색에 있는 볼린저밴드 up 상향돌파 검색을 해봤는데요. 이걸 기간을 60으로 하고 검색해봤는데 KT&G와 같이 조건에 맞지 않는 것들이 나왔습니다.(금일) 이게 상단선 돌파가 아니라 중앙선 돌파인가요? 상단선 돌파한 종목을 찾았는데 뭐가 잘못됐는 지 모르겠습니다.
Input : Period(20), D(2);
value1 = BollBandUp(Period,D);
If CrossUp(C,value1) Then
{
If C==C[1] Then
value2 = 0.001;
Else
value2 = (C-C[1])/C[1]*100;
}
Else
value2 = 0;
Find(value2);
다음글
이전글