답변완료
문의 드립니다.
수고가 많으십니다.
N일전 상한가 종목 수식을 따라 작성해서 실행해 봤는데 종목검색이 되질 않습니다.
3201화면 설정도 이상없고요.
답변해 주시면 감사합겠습니다.
input : N(1);
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
if date >= 19981207 then {
if date < 20050328 && CodeCategory() == 2 then
UpLimit = (BP[0] * 1.12);
Else if date >= 20050328 and date < 20150615 Then
UpLimit = (BP[0] * 1.15);
Else
UpLimit = (BP[0] * 1.30);
if CodeCategory() == 2 then {
if date >= 20030721 then {
up1 = int(UpLimit/100+0.00001)*100;
up2 = int(UpLimit/100+0.00001)*100;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
else {
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/10+0.00001)*10;
up7 = int(UpLimit/1+0.00001)*1;
}
}
Else {
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
if CodeCategory() == 1 || CodeCategory() == 2 then {
if sdate < 20101004 Then{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up6);
}
Else{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up7);
}
}
else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF
상한가 = up6;
}
}
if H[N] >= 상한가[N] Then
find(1);
2023-07-09
1147
글번호 170449
종목검색
답변완료
안녕하세요. 수식 문의 드립니다.
안녕하세요..
키움 신호 수식인데요.. 종목검색으로 변환 부탁드립니다.
Mv = Macd(20, 60);
LL = Lowest(Mv, 기간);
HH = Highest(Mv, 기간);
NH = Valuewhen(1, Mv > HH(1),Mv);
NL = Valuewhen(1, Mv < LL(1), Mv);
DaL = Valuewhen(1,BarsSince(Mv<LL(1))==(기간 - k) ,HH);
DaH = Valuewhen(1,BarsSince(Mv>HH(1))==(기간 - k) ,NH);
Cnt = CountSince(Crossup(Mv,Dal),CrossUp(Mv,DaH));
Cnt && !Cnt(1) && Mv < 0
기간 5
k 3
매번 감사합니다.
2023-07-08
1345
글번호 170446
검색
답변완료
수치좀 부탁 드립니다.
* 매번 도움에 고맙 습니다.
* 아래 수식에서 수정 좀 요청 드립니다.
* <요청1> 두 수식을 합처 부탁 드립니다.
즉 색상이 변경 되는 첫봉에 수평선을 출력 하려 합니다.
<요청2> 수평선이 색상이 변경되면 끝나게 부탁 드립니다.
<요청3> 수평선 우측 끝부분에 가격 표시
## 윗부분 (hh) 수평선이 계속 되어 색상이 변경되도 출력 됨니다. : hh(60)
## 색상이 변경 되면 이전 수평선은 끝나고
## 다음 색상 첫봉 수평선 출력 되도록 부탁 드립니다.
## 색상 중간에 나오는 모든 수평선은 필요 없습니다. 첫봉의 수평선만 필요 합니다.
## 첫봉 최고가 최저가 가격을 수평선 우축에 출력좀 부탁 드립니다.
## <아래 수식>
Input: aa(5) , bb(15) ;
var1 = ma(c,aa) ;
var2 = ma(c,bb) ;
var : box(0);
if CrossUp(var1,var2) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Red);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
else
if CrossDown(var1,var2) Then
{
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Blue);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
Else
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
#############################################################
input: n(1), hh(60) ;
## 윗부분 (hh) 수평선이 계속 되어 색상이 변경되도 출력 됨니다. : hh(60)
## 색상이 변경 되면 이전 수평선은 끝나고 다음 색상 첫봉 수평선 출력 되도록 부탁 드립니다.
## 색상 중간에 나오는 모든 선은 필요 없습니다. 첫봉의 수평선만 필요 합니다.
## 첫봉 최고가 최저가 가격을 수평선 우축에 출력좀 부탁 드립니다.
var : dd1(0),cnt2(0);
Array : TL1[100](0),TL2[100](0),V1[100](0),V2[100](0),D1[100](0);
Array : TL3[100](0),TL4[100](0),V3[100](0),V4[100](0),D2[100](0);
if bdate != Bdate[1] Then
dd1 = dd1+1;
if CrossUp(var1, var2) Then
{
For cnt2 = 99 DownTo 1
{
TL1[cnt2] = TL1[cnt2-1];
TL2[cnt2] = TL2[cnt2-1];
V1[cnt2] = V1[cnt2-1];
V2[cnt2] = V2[cnt2-1];
D1[cnt2] = D1[cnt2-1];
}
V1[0] = H;
V2[0] = L;
D1[0] = Index;
TL1[0] = TL_new(sDate,sTime,V1[0],NextBarSdate,NextBarStime,V1[0]);
TL2[0] = TL_new(sDate,sTime,V2[0],NextBarSdate,NextBarStime,V2[0]);
TL_SetColor(TL1[0],Red);
TL_SetColor(TL2[0],Red);
}
Else
{
For cnt2 = 99 DownTo 0
{
if Index < D1[cnt2]+hh Then
{
TL_SetEnd(TL1[cnt2],sDate,sTime,V1[cnt2]);
TL_SetEnd(TL2[cnt2],sDate,sTime,V2[cnt2]);
}
}
}
if CrossDown(var1, var2) Then
{
For cnt2 = 99 DownTo 1
{
TL3[cnt2] = TL3[cnt2-1];
TL4[cnt2] = TL4[cnt2-1];
V3[cnt2] = V3[cnt2-1];
V4[cnt2] = V4[cnt2-1];
D2[cnt2] = D2[cnt2-1];
}
V3[0] = H;
V4[0] = L;
D2[0] = Index;
TL3[0] = TL_new(sDate,sTime,V3[0],NextBarSdate,NextBarStime,V3[0]);
TL4[0] = TL_new(sDate,sTime,V4[0],NextBarSdate,NextBarStime,V4[0]);
TL_SetColor(TL3[0],Blue);
TL_SetColor(TL4[0],Blue);
}
Else
{
For cnt2 = 99 DownTo 0
{
if Index < D2[cnt2]+hh Then
{
TL_SetEnd(TL3[cnt2],sDate,sTime,V3[cnt2]);
TL_SetEnd(TL4[cnt2],sDate,sTime,V4[cnt2]);
}
}
}
###########################################33
고맙습니다. 수고하십시요.
2023-07-10
1210
글번호 170444
지표
답변완료
문의드립니다
input : short1(0),long1(0),sig1(0);
input : shor(0),long(0),sig(0);
input : evPeriod(0),Per(0);
var : mav1(0),mav2(0),;
var : macdv1(0),macdv2(0),macds1(0),macds2(0);
var : evup(0),evdn(0);
macdv1 = macd(short1,long1);
macdv2 = macd(shor,long);
macds1 = Ema(macdv1,sig1);
macds2 = Ema(macdv2,sig);
evup = EnvelopeUp(evPeriod,Per);
evdn = EnvelopeDown(evPeriod,Per);
input : 원금(1000000),시작일(0),시작시간(0);
var : Tcond(False),수량(0) ;
if Tcond == true Then
if sDate == 시작일 and sTime >= 시작시간 Then
Tcond = true;
수량 = (원금+NetProfit)/NextBarOpen;
# 매수/매도청산
if CrossUp(macdv1,0) Then
{
Buy("b");
}
If macdv1 > 0 and macdv2 > 0 and CrossUp(macdv2,macds2) Then
{
Buy("b1");
}
# 매도/매수청산
If CrossDown(macdv1, 0) Then
{
ExitLong("bx");
}
if macdv1 > 0 Then
{
ExitLong("E",AtLimit,evup*0.00);
}
원금 100만원으로 복리식을 사용중입니다.
"b" 매수신호에서 다시 원금을 리셋하는 식을 만들고 싶습니다. 가능할까요?
예)
"b"매수 신호에 100만원 매수
"E"매도 신호에서 20만원의 수익
"b1"매수 신호에서 120만원 매수
"bx"매도
"b"매수 신호에 다시 100만원 매수
"E"매도 신호에서 -20만원의 손실
"b1"매수 신호에서 80만원 매수
"bx"매도
"b"매수 신호에서 100만원 매수
(반복)
감사합니다.
2023-07-08
1600
글번호 170442
시스템