답변완료
수식 문의드립니다
안녕하세요? 왕초보 탱구리입니다.
가입하고 개발자님을 항상 존경하며 수식공부를 하다가 막히는 부분이 있어 질문을 드립니다.
바쁘신 와중에도 잠시만 봐주시면 정말 감사드리겠습니다.
제가 만든 코인 수식입니다. 부끄럽네요ㅜㅜ
작동은 잘 하는데 맞게 된건지 한번 살펴봐주세요.
기준선 돌파 이런 식입니다.
그런데 수익이 안나와서 식을 좀 수정해 보려고하는데 막히네용....ㅜㅜ
<제가 만든식>
Input: shortperiod(12), longperiod(24), sig(9);
var: value(0), signal(0);
Signal = Ema(value, sig);
# 매수/매도청산
If CrossUP(value, 0) Then
{
Buy();
}
If value > 0 and CrossUp(value, signal) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 0) Then
{
Sell ();
}
If value > 0 and CrossDown(value, signal) Then
{
Sell();
}
위 식을 첨부파일1 그림처럼 수정을 해보려고요.
ps. 복리를 추라하려고 넣었더니 BUY값이 이미 지정되었습니다. 라고 뜨네요(바이가 두번들어간게 수식이 잘못되었나요?) 복리추가도 같이 좀 봐주세욤.
input : 원금(100000),시작일(20200829),시작시간(90000);
var : Tcond(False),수량(0);
if sDate == 시작일 and sTime >= 시작시간 Then
Tcond = true;
수량 = IntPortion((원금+NetProfit())/C)+ FracPortion((원금+NetProfit())/C);
if Tcond == true Then
# 매수/매도청산
If CrossUP(value, 0) Then
{
Buy("매수",Atmarket,DEF,수량);
}
If value > 0 and CrossUp(value, signal) Then
{
Buy("매수",Atmarket,DEF,수량);
}
(바이가 두번 지정되었다고 나와서 아... 수식이 잘못되었구나 생각이 듬요.)
바쁘신 와중에 읽어주셔서 너무너무 감사드려용~~^^
2022-02-19
915
글번호 156433
시스템
답변완료
수식작성 부탁드립니다
항상 도움주셔서 감사드립니다~
아래의 수식에
진입신호가 발생하면,
지정한 익절이나 손절에 도달하면 표시되는 텍스트 출력이 아니라,
매수진입과함께 곧바로
익절가(35틱) 및 손절가(35틱)를
표시할수 있는수식 부탁드립니다
그리고,출력되는 텍스트에 색상,글씨두께,위치조정을 할수있는
수식도같이부탁드립니다.
1. onclose타입일 경우
input : 소숫점자리수(0);
if MarketPosition <= 0 and 매수진입조건 then
{
buy("b");
Text_New(sdate,stime,H+PriceScale*2,NumToStr(C,소숫점자리수));
}
2. atmeket 타입일 경우
input : 소숫점자리수(0);
if MarketPosition <= 0 and 매수진입조건 then
{
buy("b",atmarket);
Text_New(sdate,stime,H+PriceScale*2,NumToStr(NextBarOpen,소숫점자리수));
}
수고하세요
2022-02-18
1115
글번호 156424
시스템
답변완료
지표 수식(QA 75978번 지표3)의 추가 검토 부탁드립니다.
담당자님, 안녕하세요.
(Q&A 75978번에 대한 추가 질의입니다.)
지난번 Q&A 75978번에서 담당자님께서 검토해서 수정해 주신 수식을 잘 활용하고 있습니다.
그런데, 지표3의 시스템 산출 결과가 제가 의도했던 것과는 다른 결과가 산출됩니다.
<지표3>은 일자별로 절대값(종가-시가) 값이 가장 큰 30분봉 중에서 상위 3개의 30분봉을 선택하고
그 봉에 해당하는 각각의 '(종가+시가)/2'를 계산하여 그 값을 당일(D)에 수평선 라인으로 표시하는 것입니다.
제가 실제 데이터로 검증해보니까 예를 들면,
1) 2022.02.04와 2021.07.05의 경우 상위 1, 2번째 값은 정확한 값을 산출했지만
상위 3번째에 대해서는 3번째 값 대신에 상위 4번째에 해당하는 값을 산출합니다.
2) 2020.03.27의 경우에는 데이터로 계산한 수치와 전혀 다른 값을 산출합니다.
제가 수기 계산해서 검토한 내용을 엑셀 파일로 첨부하였고
시뮬레이션 차트에서 실행한 결과(산출된 수치)를 화면 캡쳐하여
엑셀파일에 같이 첨부하였습니다. 참고하시기 바랍니다.
엑셀에서 그림 파일이 안열리는 거 가아서 그림파일도 따로 첨부합니다.
<지표3>에 대해서 질의 내용과 다른 결과가 도출되는 점에 대해 검토해주시고
다시 한번 수정해 주실 것을 부탁드립니다.
담당자님을 계속 번거롭게 해드려 죄송합니다.
제 나름으로는 의미 있게 생각하는 지표라 계속 연구하고 있는 중이라 그렇습니다.
수정해서 작성해 주시는 것에 미리 감사드립니다.
(담당자님의 편의를 위하여
Q&A 75978번에서 담당자님께서 수정해서 작성해주신 답변내용 중
<지표3> 부분만 발췌해서 아래에 기재하였습니다.)
==============================================
==============================================
작성자 : 예스스탁 작성일 : 2022-02-17 오전 9:58:08 조회수 : 7
지표 Re : 지표 수식(지표2와 지표3)의 검토 부탁드립니다
안녕하세요
예스스탁입니다.
평균값저장이 최고차이발생봉까지만 대상으로 저장되게 되어 있었습니다.
1번식과 같은 경우는 관계없지만 2번과 3번과 같이 시종의 중간값을 저장할때
그이후시간의 종가가 반영되지 않았었습니다.
1~3번식 모두 수정해 드립니다.
(<지표1, 2> 수식은 기재생략)
3
input : 타주기분(30),n(10);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),OO(0),CC(0);
var : ii(0),i1(0),i2(0),tempmax(0),tempi(0);
Array : R1[50](0),M1[50](0);
Array : tempR1[50](0),tempM1[50](0),NTHVALUE[50](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
for cnt = 1 to 49
{
R1[cnt] = R1[cnt-1][1];
M1[cnt] = M1[cnt-1][1];
}
}
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
(Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or
(Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then
{
OO = O;
CC = C;
Condition1 = False;
if Bdate != Bdate[1] Then
{
R1[0] = 0;
M1[0] = 0;
}
}
CC = C;
if abs(OO-CC) > R1[0] Then
{
R1[0] = abs(OO-CC);
Condition1 = true;
}
if Condition1 == true Then
M1[0] = (OO+CC)/2;
if M1[n] > 0 Then
{
for ii = 0 to 49
{
tempR1[ii] = R1[ii];
tempM1[ii] = M1[ii];
}
For i1 = 1 to n
{
tempmax = -1;
For i2 = 1 to n
{
if (tempR1[i2] >= tempmax ) then
{
tempmax = tempR1[i2];
tempi = i2;
}
}
NTHVALUE[i1] = tempM1[tempi];
tempR1[tempi] = -1;
}
Plot1(NTHVALUE[1]);
Plot2(NTHVALUE[2]);
Plot3(NTHVALUE[3]);
}
}
2022-02-18
1352
글번호 156423
지표
답변완료
문의 드립니다.
제가 원하는 지표를 과거 게시판에서 찾았는데요
아래 소스 인데요
input : P(75),N(5);
var1 = ma(c,P);
plot1(var1,"이평");
plot2(var1+PriceScale*N,"이평+N틱");
plot3(var1-PriceScale*N,"이평-N틱");
이거
이평선 끝부분에 숫자 나오게 할 수 있는 방법이 필요합니다.
옵션에서 마지막 지표값을 표시하기 체크 하면 되는데
문제는 캔들 실시간 가격이 마지막 지표값을 가려서 대응하기 너무 불편해서
차트상에 이평선 맨 오른쪽 끝에 지표값을 따로 표시 하는것이 보기 편할것 같아서요.
이 원본 소스에 추가 수정 가능할까요?
감사합니다!
2022-02-18
1150
글번호 156421
지표
답변완료
또 문의드려서 죄송해요 ㅠㅠ
1. 추세선을 연결해서 오른쪽 확장을 하고
이걸 돌파할때 진입하는 걸 만들고 싶은데요.
만들어서 해봤더니 안되는거 같은데....
혹시 원래 안되는 건가요? ㅠㅠ
원래 안되는 거면 가능한 수식 좀 부탁드려도 될까요?
if 하락추세 then
TL1 = TL_New(10일전 최고가, 3일전 최고가);
TL_SetExtRight(TL1,True);
if CrossUp(C,TL1) then Buy();
2. plot을 생성했다가 지우고 조건을 벗어나면 지우고 싶어요.
if C < 돌파지점 then
{Plot1(돌파지점 ,"돌파지점 ",RED);}
else { Plot1 삭제; }
이런식으로 가능할까요?
2022-02-17
1073
글번호 156420
시스템