답변완료
수식 수정부탁드립니다
#RSI과매수도비율선
input : 기간(14),과매도율(25),과매수율(75),표시가격((O+C)/2);
var : A(0),BD(False),FU(False),FD(False),FFU(0),FFD(0);
input : 표시가격1(C*2/3),표시가격2(O*2/3);
var : BBUc(0),FFDc(0);
A=RSI(기간);
BD=CrossDown(A,과매도율);
FU=CrossUp(A,과매수율);
if BD == true Then
BBD = 표시가격;
if FU == true Then
FFU = 표시가격;
if BD == true Then
BBDc = iff(C>=O,표시가격1,표시가격2);
if FU == true Then
FUDc = iff(C<O,표시가격2,표시가격1);
Plot1(BBD, "RSI과매도D선");
Plot2(FFU, "RSI과매수U선");
Plot3(BBDc, "RSI과매도U선표시");
Plot4(FUDc, "RSI과매도U선표시");
수식문의> iff(C>=O,표시가격1,표시가격2);
RSI의 돌파나 이탈시에 표시되는 가격의 문제에 있어서 양봉이면 중심가격으로, 음봉이면
시가의 2/3에 표시하고자 하는 것인데 위 의 방식으로 하니 제대로 안되네요
올바르게 수정 부탁드립니다.
추가적으로 요청드리는 수식은 마지막봉(현재봉)에 표시되는 각 라인들이 동일한 값으로
우측(미래)에 추가적으로 1봉~3봉정도 동일하게 라인표시되게 할 수 있나요.
2023-09-13
982
글번호 172397
지표
답변완료
부탁드립니다
안녕하세요
예스스탁입니다.
피라미딩을 모든진입신호허용으로 설정하고 적용하시면 됩니다.
Input : Period1(12),Period2(14);
var : cnt(0),S1(0),D1(0),TM(0),TF1(0),idx(0);
Var : DownAmt1(0), UpAmt1(0), UpSum1(0), DownSum1(0), UpAvg1(0), DownAvg1(0),PreUpAvg1(0), preDownAvg1(0),RSI1(0);
Var : DownAmt2(0), UpAmt2(0), UpSum2(0), DownSum2(0), UpAvg2(0), DownAvg2(0),PreUpAvg2(0), preDownAvg2(0),RSI2(0);
Array : C1[100](0);
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then
{
for cnt = 99 downto 1
{
C1[cnt] = C1[cnt-1];
}
PreUpAvg1 = UpAvg1[1];
preDownAvg1 = DownAvg1[1];
PreUpAvg2 = UpAvg2[1];
preDownAvg2 = DownAvg2[1];
idx = idx + 1;
}
C1[0] = C;
If idx == Period1+2 Then
{
UpSum1 = 0;
DownSum1 = 0;
For cnt = 0 To Period1 - 1
{
UpAmt1 = C1[cnt] - C1[cnt+1];
If UpAmt1 >= 0 Then
DownAmt1 = 0;
Else
{
DownAmt1 = -UpAmt1;
UpAmt1 = 0;
}
UpSum1 = UpSum1 + UpAmt1;
DownSum1 = DownSum1 + DownAmt1;
}
UpAvg1 = UpSum1 / Period1;
DownAvg1 = DownSum1 / Period1;
}
If idx > Period1+2 Then
{
UpAmt1 = C1[0] - C1[1];
If UpAmt1 >= 0 Then
DownAmt1 = 0;
Else
{
DownAmt1 = -UpAmt1;
UpAmt1 = 0;
}
UpAvg1 = (PreUpAvg1 * (Period1 - 1) + UpAmt1) / Period1;
DownAvg1 = (preDownAvg1 * (Period1 - 1) + DownAmt1) / Period1;
}
If UpAvg1 + DownAvg1 <> 0 Then
RSI1 = 100 * UpAvg1 / (UpAvg1 + DownAvg1);
Else
RSI1 = 0;
If idx == Period2+2 Then
{
UpSum2 = 0;
DownSum2 = 0;
For cnt = 0 To Period2 - 1
{
UpAmt2 = C1[cnt] - C1[cnt+1];
If UpAmt2 >= 0 Then
DownAmt2 = 0;
Else
{
DownAmt2 = -UpAmt2;
UpAmt2 = 0;
}
UpSum2 = UpSum2 + UpAmt2;
DownSum2 = DownSum2 + DownAmt2;
}
UpAvg2 = UpSum2 / Period2;
DownAvg2 = DownSum2 / Period2;
}
If idx > Period1+2 Then
{
UpAmt2 = C1[0] - C1[1];
If UpAmt2 >= 0 Then
DownAmt2 = 0;
Else
{
DownAmt2 = -UpAmt2;
UpAmt2 = 0;
}
UpAvg2 = (PreUpAvg2 * (Period2 - 1) + UpAmt2) / Period2;
DownAvg2 = (preDownAvg2 * (Period2 - 1) + DownAmt2) / Period2;
}
If UpAvg2 + DownAvg2 <> 0 Then
RSI2 = 100 * UpAvg2 / (UpAvg2 + DownAvg2);
Else
RSI2 = 0;
if RSI1 >= 30 and RSI1 <= 70 and RSI2 <= 30 Then
Buy("b");
if MarketPosition == 1 Then
{
if RSI2 >= 70 Then
ExitLong();
}
즐거운 하루되세요
> 왕밥빵 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> 일봉상에 사용할건데 주봉 rsi 기간 12 값 30~70, rsi 기간 14 값 30 이하 금일 종가에 매수 추가매수때는 30이하 반복시 하루한번 종가 추가매수, rsi 기간 14 값 70 이상시 매도
제가 질문을 잘못했네요 일봉상 사용하는데 주봉 rsi 기간 12 값 30~70, 일봉rsi 기간 14 값 30이하 금일 종가에 매수, 추가매수때는 일봉상 rsi가 30이하 반복시 종가 추가매수, 일봉 rsi 기간 14 값 70 이상시 매도입니다
2023-09-12
1187
글번호 172395
시스템
답변완료
예스트레이더 수식으로 변환부탁드립니다
키움수식을 예스트레이더로 변환부탁합니다
A=eavg(C,14);
B=eavg(C,14,1)+(
(C-(eavg(C,14,1)))/(C/(eavg(C,14,1))*125));
M=Macd(12,26);
Ms=eavg(M,9);
Crossup(A,B) AND RSI(14)>=50 AND
(M>=0 OR M>=MS)
2023-09-12
937
글번호 172379
검색