답변완료
문의 드립니다.
안녕하세요
키움수식인데 변환좀 부탁드립니다.
1
수식1
ma(가격,기간,이평종류)
수식2
a=ma(가격,기간1,이평종류);
b=ma(가격,기간2,이평종류);
lowestsince(1,crossdown(a,b),a)
수식4
ma(가격,기간,이평종류)
수식5
a=ma(가격,기간1,이평종류);
b=ma(가격,기간2,이평종류);
lowestsince(1,crossdown(a,b),a)
지표조건
가격 종가
종류 삼각
기간 5
기간1 5
기간2 30
2
수식1
ma(가격,기간,이평종류)
수식2
a=ma(가격,기간1,이평종류);
b=ma(가격,기간2,이평종류);
highestsince(1,crossdown(a,b),a)
수식4
ma(가격,기간,이평종류)
수식5
a=ma(가격,기간1,이평종류);
b=ma(가격,기간2,이평종류);
highestsince(1,crossdown(a,b),a)
지표조건
가격 종가
종류 삼각
기간 5
기간1 5
기간2 30
이런 수식인데 변환좀 부탁드립니다.
수식1 과 2는 선으로 나오게 하고
수식4 와 5는 색을 입히기 위해 키움에서는 이렇게 해야햐서 이렇게 작성 되었습니다.
바쁘시겠지만 도움주시면 감사하겠습니다.
2021-11-23
736
글번호 153817
지표
답변완료
74738 수식 확인 부탁드립니다
74712 시스템 수식 수정 부탁드렸는데 시스템 수식에 plot 수식이 기재되어있습니다
수정 부탁드립니다.
감사합니다
--------------------------------
요청드린 수식은 매수,매도,매도,매수 4회 또는 매도,매수,매도,매수 4회 거래 후 당일 거래를 종료하는 것인데 4회 이후 계속 거래가 되고 있습니다. 수정 부탁 드립니다.
감사합니다
----------
안녕하세요
예스스탁입니다.
Input : AF(0.02), AFMAX(0.2);
Var : Direction(0), SAR_Value(Close), AF_Value(.02), HighValue(High), LowValue(Low), EP(0),csarv(0),idx(0);
if Index == 0 or Bdate != Bdate[1] Then
{
Direction = 0;
SAR_Value = c;
AF_Value = 0.02;
HighValue = c;
LowValue = c;
EP = 0;
idx = 0;
}
idx = idx+1;
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = low;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = High;
}
}
CSarv = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
CSarv = SAR_Value;
}
else
{
if Direction == 0 then
{
if Close > Close[1] then Direction = 1;
else
if Close < Close[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if Close < Close[1] then
{
Direction = -1;
SAR_Value = HighValue;
CSarv = SAR_Value;
}
}
if Direction == -1 then
{
if Close > Close[1] then
{
Direction = 1;
SAR_Value = LowValue;
CSarv = SAR_Value;
}
}
}
LowValue = min(Low, LowValue);
HighValue = max(High, HighValue);
}
}
if idx == 3 Then
{
if C < O and C < Csarv Then
Sell();
if C > O and C > Csarv Then
Buy();
}
if idx > 3 Then
{
if CrossUp(C,Csarv) Then
Buy();
if CrossDown(c,Csarv) Then
Sell();
}
즐거운 하루되세요
> 유튜버 님이 쓴 글입니다.
> 제목 : 시스템 질문입니다
> 전일과 분리되어 당일부터 실행되는 종가 파라볼릭 기준
동시호가 캔들 포함 3번째 캔들이 음봉이고 종가가 파라볼릭보다 낮으면 매도하여
종가 파라볼릭 음양 전환에 따라 매도,매수,매도,매수 4번 거래로 당일 거래 종료.
동시호가 캔들 포함 3번째 캔들이 양봉이고 종가가 파라볼릭보다 높으면 매수하여
종가 파라볼릭 양,음 전환에 따라 매수,매도,매수,매도 4번 거래로 당일 거래 종료.
감사합니다
-------------------------------------
안녕하세요
예스스탁입니다.
당일진입횟수가 빠져있어 추가했습니다.
Input : 분(30), Length(14),Period(7);
var : cnt(0),S1(0),D1(0),TM(0),TF1(0);
var : SigSum(0),count2(0),RSIsig(0);
Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0);
var : idx(0), PreUpAvg(0), preDownAvg(0),HH(0),LL(0),StoRsi(0);
Array : C1[100](0),RSIV[100](-1);
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;
TF1 = TimeToMinutes(stime)%분;
if Bdate != Bdate[1] or (bdate == bdate[1] and TF1 < TF1[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
RSIV[cnt] = RSIV[cnt-1][1];
}
PreUpAvg = UpAvg[1];
preDownAvg = DownAvg[1];
idx = idx + 1;
}
C1[0] = C;
If idx == Length+2 Then {
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 {
UpAmt = C1[Counter] - C1[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else{
DownAmt = -UpAmt;
UpAmt = 0;
}
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
}
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
}
If idx > Length+2 Then
{
UpAmt = C1[0] - C1[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else {
DownAmt = -UpAmt;
UpAmt = 0;
}
UpAvg = (PreUpAvg * (Length - 1) + UpAmt) / Length;
DownAvg = (preDownAvg * (Length - 1) + DownAmt) / Length;
}
If UpAvg + DownAvg <> 0 Then
RSIv[0] = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv[0] = 0;
if RSIv[Period] > 0 Then
{
HH = RSIv[0];
LL = RSIv[0];
For cnt = 0 to period-1
{
if RSIV[cnt] > HH Then
HH = RSIV[cnt];
if RSIV[cnt] < LL Then
LL = RSIV[cnt];
}
StoRsi = (RSIv[0]-LL)/(HH-LL)*-1;
plot1(StoRsi,"StoRsi");
}
}
즐거운 하루되세요
2021-11-22
1000
글번호 153814
시스템
답변완료
문의 드립니다.~~~~
항상 감사합니다~`
의도와는 수식의 결과가 다르게 나와
if HH > 0 and H > HH Then
HH = H;
if LL > 0 and L < LL Then
LL = L;
if OO > 0 and LL >= HH-PriceScale*nn Then
sell("s",AtLimit,LL+mm*PriceScale);
if OO > 0 and HH <= LL+PriceScale*aa Then
Buy("b",AtLimit,HH-bb*PriceScale);
위의 식의 주석을 달아 상세히
설명해 주시면 감사하겠습니다~~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의 드립니다.~~~~
> 안녕하세요
예스스탁입니다.
input : ntime(100000),nn(10),mm(5),aa(10),bb(10);
var : OO(0),HH(0),LL(0);
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
OO = O;
HH = H;
LL = L;
}
if HH > 0 and H > HH Then
HH = H;
if LL > 0 and L < LL Then
LL = L;
if OO > 0 and LL >= HH-PriceScale*nn Then
sell("s",AtLimit,LL+mm*PriceScale);
if OO > 0 and HH <= LL+PriceScale*aa Then
Buy("b",AtLimit,HH-bb*PriceScale);
즐거운 하루되세요
> 예스요 님이 쓴 글입니다.
> 제목 : 문의 드립니다.~~~~
> 수고하십니다.
- 10시 시가부터 형성되는 틱봉 고가에서
n틱(변수처리)이상 하락하지 않고
m틱(변수처리)이상 상승시에는
저가(10시 시가부터 형성된)+m틱(변수처리)에
역추세 매도진입
- 10시 시가부터 형성되는 틱봉 저가에서
a틱(변수처리)이상 상승하지않고
b틱(변수처리)이상 하락시에는
고가(10시 시가부터 형성된)-b틱에(변수처리)
역추세 매수진입하는
진입식을 부탁드립니다.
2021-11-22
890
글번호 153811
시스템
답변완료
키움차트 응용하고 싶습니다 도와주세요
수고 많으세요 제가 예스트레이닝코인을 사용 하고 싶어서 문의 합니다.
기존에 키움차트을 사용하는데 키움차트 검색식을 예스트레이닝코인에 사용 하고 싶습니다.
종목검색/신호설정을 원합니다.
사실 예스트레이닝코인 사용방법도 아직 익숙하지 못합니다. 혹 제가 알고 있는 종목검색/ㅅ
매수 매도 신호 차트를 설정 해서 프로그램 만들어 주는건 없나요?
=====================================================================
매수 신호 (현재 키움차트 신호)
Crossup(C,avg(C,36))&& V > V(1) * 2
MA(가격1, 이평기간1, 이평종류)<C&&
V> highest(v(1), 거래량기간1)&&
MA(가격2, 이평기간2, 이평종류)<C
종목검색(현재 키움차트 종목검색 신호)
A=avg(c, 20);
O < C and crossup(c, avg(c, 60)) and
A(1) <= A and V(1) < V and
avg(c, 240) < C and
C >= 1200 and C <= 50000
2021-11-22
1088
글번호 153806
사용자 함수
답변완료
시스템식 문의 드립니다.
기존의 사용하고 있던 매수관련 시스템식을 업데이트를 요청드립니다.
아래의 시스템식은 타점1~5을 적어놓으면 조건에 해당되는 타점에서 매수하고
청산조건에 따라 청산되는 수식입니다.
아래의 식에서 추가하고 싶은 조건은
시스템식 조건에 따라 타점이 정해지고, 당일에 대해서만 해당 타점x1.005 의 타점이 5% 이상 상승했을경우
타점이 아래의 타점으로 변경되는 식을 구현하고자 합니다.
이렇게 글로만 적으면 이해가 어려울수 있으니,
예를 들자면
아래와 같이 타점을 5000,4500,4000,3500,3000 을 외부 변수로 기입하였고,
조건에 해당되는 타점은 4500원이 되었습니다.
그런데 4500 x 1.005 = 4520원에서 반등이 나와 5%상승 한 4740원까지 상승했다면
타점은 4500원이 아닌 4000원으로 변경 되어야 합니다.
해당 반등은 당일에 해당합니다. 전일이나 전전일에 반등이 나온건 상관 없습니다.
이 같이 구현을 하고 싶은데, 어려움이 있어 이렇게 요청드립니다.
항상 감사합니다.
---------------------------------------------------------------------
input : 타점1(5000),타점2(4500),타점3(4000),타점4(3500),타점5(3000);
input : 투자금액(500000),익절(3),손절(4);
input : Xdate1(2),Xtime1(110000);
var : entry(0),HH(0),H1(0),H2(0),H3(0),H4(0),H5(0),LL(0),RR(0);
if Bdate != Bdate[1] Then
{
entry = 0;
#5개의 타점중 시가보다 작은것 중에 젤 큰값 계산
HH = 0;
H1 = 0;
H2 = 0;
H3 = 0;
H4 = 0;
H5 = 0;
if 타점1 < DayOpen*0.99 and 타점1 > HH Then
{
HH = 타점1;
H1 = 타점2;
H2 = 타점3;
H3 = 타점4;
H4 = 타점5;
}
if 타점2 < DayOpen*0.99 and 타점2 > HH Then
{
HH = 타점2;
H1 = 타점3;
H2 = 타점4;
H3 = 타점5;
}
if 타점3 < DayOpen*0.99 and 타점3 > HH Then
{
HH = 타점3;
H1 = 타점4;
H2 = 타점5;
}
if 타점4 < DayOpen*0.99 and 타점4 > HH Then
{
HH = 타점4;
H1 = 타점5;
}
if 타점5 < DayOpen*0.99 and 타점5 > HH Then
{
HH = 타점5;
}
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
#-----------------------------------------------------------------------------------------------
if MarketPosition == 0 and sTime < 150000 and entry == 0 Then
{
Buy("타점1매수",AtLimit,HH,Floor(투자금액/min(NextBarOpen,HH)));
}
if MarketPosition == 0 and entry == 1 and sTime < 150000 and LatestExitName(1) == "익절" and H1 > 0 Then
{
Buy("타점2매수",AtLimit,H1,Floor(투자금액/min(NextBarOpen,H1)));
}
if MarketPosition == 0 and entry == 2 and sTime < 150000 and LatestExitName(1) == "익절" and H2 > 0 Then
{
Buy("타점3매수",AtLimit,H2,Floor(투자금액/min(NextBarOpen,H2)));
}
if MarketPosition == 0 and entry == 3 and sTime < 150000 and LatestExitName(1) == "익절" and H3 > 0 Then
{
Buy("타점4매수",AtLimit,H3,Floor(투자금액/min(NextBarOpen,H3)));
}
if MarketPosition == 0 and entry == 4 and sTime < 150000 and LatestExitName(1) == "익절" and H4 > 0 Then
{
Buy("타점5매수",AtLimit,H4,Floor(투자금액/min(NextBarOpen,H4)));
}
#-----------------------------------------------------------------------------------------------
if MarketPosition == 1 Then
{
if LL == 0 then
LL = L;
Else
{
if L < LL then
LL = L;
}
RR = (LL-EntryPrice)/EntryPrice*100;
ExitLong("익절",AtLimit,EntryPrice*(1+(익절+RR)/100));
}
Else
LL = 0;
SetStopLoss(손절,PercentStop);
2021-11-22
759
글번호 153794
시스템
답변완료
문의드립니다!
안녕하세요!
1,본챠트에 국선을, 참조챠트에 옵션을 설정후 아래수식을 적용하니 세로선이 발생되지않는데요
해결 부탁드리겠습니다
* 본챠트에도 옵션을 설정시는 잘 발생됩니다
2, 아래수식의 이부분==> var : V1(0,data2),TL(0,Data2); 에대해서 문의드립니다
이부분은 수식 아랫부분 datat의 이름이 변동시 같이 바꿔줘야하는지요?
즉 if crossup(data2(H),data3(L)) or CrossDown(data2(L),data3(H)) Then
{
v1 = data2(C);
여기서 (data2(H),data3(L))을 설정시와 (data4(H),data5(L))를 설정시
var : V1(0,data2),TL(0,Data2); ==> 이부분도 변경을 해주어야하는지 궁금합니다
변경해야한다면 어떤식으로해야하는지도 문의드립니다
저는 현재 변경없이 그대로 사용중입니다
항상 도움주심에 감사드립니다!!!
-----------------------------------------------------------------------------------
input : 굵기(2),색상(MAGENTa),n(5);
var : V1(0,data2),TL(0,Data2);
if crossup(data2(H),data3(L)) or CrossDown(data2(L),data3(H)) Then
{
v1 = data2(C);
}
if crossup(data2(H),data3(L)) or CrossDown(data2(L),data3(H)) Then
{
v1 = data2(C);
}
if Data1(CrossUp(H,v1-PriceScale*n) or CrossDown(L,v1+PriceScale*n)) Then
{
TL = TL_New(sDate,sTime,0,sDate,sTime,999999999);
TL_SetSize(TL,굵기);
TL_SetColor(TL,색상);
PlaySound("C:₩예스트레이더₩data₩Sound₩.wav");
}
2021-11-22
844
글번호 153793
지표