답변완료
수식수정
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
/*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red);
else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue);
*/
end;
input : P(10),short(12),long(26),sig(9);
var : mav(0),macdo(0);
mav = ma(C,P);
MACDo = MACD_OSC(short,long,sig);
if upwave[1] and c > o and mav > mav[1] Then
Buy();
if dnwave[1] and c < o and mav < mav[1] Then
Sell();
if MarketPosition == 1 Then
{
if dnwave[1] and macdo < 0 Then
ExitLong("bx");
}
if MarketPosition == -1 Then
{
if upwave[1] and macdo > 0 Then
ExitLong("sx");
}
안녕하세요
위식에서 청산시 불필요한 청산부분이 중복으로 발생됨니다(sx)
Sx부분 발생되지 않도록 삭제해주세요.
2024-10-10
708
글번호 184125
시스템
답변완료
질문 드립니다.
안녕하세요! 항상 친절한 답변 감사드립니다.
1. 분봉주기에서, 오늘 날짜 기준으로, 전일의 특정시간(ex:142959 ~ 151459) 고가를 변수지정하려면 아래와 같이 가능한가요?
value1 = timehigh(142959, 151459)[1]
가능하다면, 이해가 가질 않는 부분은, '분봉주기'임에도 불구하고 [1]가 어떻게 적용 가능하냐는 겁니다. [n]은 n봉전을 의미하는데 '분봉주기'에서 어찌가능한지 이해가 가질 않습니다. 만일 분봉이라면 해당 구문은 (1분봉일 시, 가령 현재시간 90514을 가정한다면) 1분봉전의 시점에서 142959~151459의 고가를 찾아야함이 옳은 것 아닌가요???
2. "분봉주기"에서의 일봉 이격도 작성이 아래와 같이 가능한지 확인 부탁드립니다.
(5일 이동평균기준, 현재봉이 아닌 1봉전에 이격수준을 확정)
2.1 첫번째 방법
for cnt = 1 to 5 begin
va1 = var1 + dayclose(n);
end
var2 = var1/5;
var3 = dayclose(1)/var2 * 100 //var3는 이격도
2.2 두번째 방법
var3 = AccumN(dayclose, 5)[1] //여기서도 만일가능하다면, 첫번째 질문의 답변과 같은 맥락으로 함수가 작동할까요??
3. 포지션함수에서 DEF가 어떻게 작동하는지, 사례 혹은 자료가 있으실까요? 이 질문은 다소 불편하시거나 답변하시기 오래걸리시면 패스하셔도 괜찮습니다.
4. 조건식 "if date != date[1] then"의 역할을 잘 모르겠습니다. 분봉주기에서 자주 보이는데 해당 구문을 누락할 시 어떤 참사가 발생하는지 혹시 답변 가능하실까요?
5. dayindex의 역할을 자세히 설명가능하실까요?? 메뉴얼에서는 분봉에서 당일 봉의 번호라고 기재되어 있는데 그러면 언제 사용하던 '0'이 아닌가요??? 더하여, 여러 구문 등에서 등장하는, dayindex > 0 의 목적을 좀 알고 싶습니다.
6. 구문의 작동 방식에 관한 질문입니다. 아래의 구문이 20봉이내에 5일/20일 이평의 골든크로스 종목을 검색한다고 알고 있습니다. 골든크로스 시점의 봉 번호를 i1에 저장한 그것을 index와 비교하는 구문인데 2)번째줄의 index와 4)번째줄의 차이를 모르겠습니다. 2)번째 줄의 index는 앞의 조건 발생 시, 발동(?)하며 i1에 값을 담아주는데, 어떻게 4)번째 줄의 index는 이전 20개 봉의 위치를 갑자기 출력해내며 i1과 값을 비교하는 작동을 하는지 이해가 가질 않습니다
(구문 자체의 문제가 있어서, 답변이 어려우시거나 껄끄러우시면 넘어가셔도 괜찮습니다)
1)if crossup(ma(c,5), ma(c,20)) then
2) i1 = index;
3)
4) if index <= i1 +20 and index >= i1 then
5) find(1);
초보자라 답답한, 그리고 어설픈 질문을 드려 죄송합니다..
2024-10-10
764
글번호 184120
검색
답변완료
검색식 부탁드립니다.
키움에서 쓰고 있습니다.
아래 신호 포착되면 나오는 검색식 요청드립니다.
기간: 5
LL=LOWEST(L,기간);
HH=HIGHEST(H,기간);
NH=VALUEWHEN(1,H>HH(1),H);
BOX1=HIGHEST(H,기간-2)<HIGHEST(H,기간-1);
TOP=VALUEWHEN(1,BarsSince(H>HH(1))==(기간-2) AND ,BOX1,NH);
BTM=VALUEWHEN(1,BarsSince(H>HH(1))==(기간-2) AND ,BOX1,LL);
TOP>=C(1) and BTM<=C(1) and Crossup(C,TOP)
2024-10-09
863
글번호 184119
종목검색
답변완료
종목 검색 부탁드립니다.
## 안녕하세요
지난번에 보내주신 예스트레이더 수식입니다.
검색해보니 잘 맞지 않아 다시 한번 확인 부탁드려요
아래의 일목균형표 수치 기준으로(2종- A,B종의 크로스),
A종 선행스팬1 이 0봉전 캔들 18일 앞에서(0봉전캔들 포함), B종의 선행스팬2 를
돌파하는 종목을 요청 드립니다.
-----지난번 질의 및 보내주신 수식---
* A 종의 선행스팬 1 이 , B종의 선행스팬 2를 돌파할때 종목 검색식 부탁드려요*
- 일목 균형표 수치 2종-
A종 7, 18 , 34 (선행스팬 : 0봉전 캔들포함 18일앞)
B종 9, 26, 52 (선행스팬 : 0봉전 캔들포함 26일앞- 원래 일목균형표 수치)
*보내주신 예스트레이더 수식
var : A전환선(0),A기준선(0),A선행스팬1(0),A선행스팬2(0);
var : B전환선(0),B기준선(0),B선행스팬1(0),B선행스팬2(0);
A전환선 = (highest(H,9)+lowest(L,9))/2;
A기준선 = (highest(H,26)+lowest(L,26))/2;
A선행스팬1 = (A전환선[18]+A기준선[18])/2;
A선행스팬2 = (highest(H,52)[18]+lowest(L,52)[18])/2;
B전환선 = (highest(H,9)+lowest(L,9))/2;
B기준선 = (highest(H,26)+lowest(L,26))/2;
B선행스팬1 = (B전환선[26]+B기준선[26])/2;
B선행스팬2 = (highest(H,52)[18]+lowest(L,52)[18])/2;
if CrossUp(A선행스팬1,B선행스팬2) Then
Find(1);
2024-10-10
679
글번호 184118
종목검색