예스스탁
예스스탁 답변
2021-10-26 15:06:48
안녕하세요
예스스탁입니다.
1
input : n(6);
var : HH(0),LL(0);
if Bdate != Bdate[1] Then
{
var1 = 0;
HH = 0;
LL = 0;
}
if (Bdate[n] != Bdate and CountIf(C>O,6) == 6) or
(bdate[n] == bdate and CountIf(C>O,6) == 6 and C[6] < O[6]) Then
{
HH = Highest(H,6);
LL = Lowest(L,6);
}
if HH > 0 and LL > 0 Then
{
Plot1(HH);
plot2(LL);
}
Else
{
NoPlot(1);
NoPlot(2);
}
2input : n(6);
input : StartTime(110000),EndTime(010000),Xtime(053000);
var : HH(0),LL(0),Tcond(false);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
Tcond = true;
if Bdate != Bdate[1] Then
{
var1 = 0;
HH = 0;
LL = 0;
Condition1 = False;
Condition2 = False;
}
if (Bdate[n] != Bdate and CountIf(C>O,6) == 6) or
(bdate[n] == bdate and CountIf(C>O,6) == 6 and C[6] < O[6]) Then
{
HH = Highest(H,6);
LL = Lowest(L,6);
}
if Tcond == true and HH > 0 and LL > 0 Then
{
if CrossUp(C,HH) Then
{
if Condition1 == False Then
Buy("b");
Else
ExitShort("sx");
Condition1 = true;
}
if CrossDown(C,LL) Then
{
if Condition2 == False Then
Sell("s");
Else
ExitLong("bx");
Condition2 = true;
}
if MarketPosition == 1 Then
ExitLong("bp",AtLimit,HH+(HH-LL));
if MarketPosition == -1 Then
ExitShort("sp",AtLimit,LL-(HH-LL));
}
즐거운 하루되세요
> 7out 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 안녕하세요.
시스템 구현에 있어서 어려움을 겪고 있어서 문의 드립니다.
[1]은 지표 구현에 관련된 질문입니다.
[2]은 [1]을 활용한 시스템 설정입니다.
만약 구현이 가능하지 않는다면 몇번 항목이 안되는지, 그리고 대체 방안을 알려 주시면 감사하겠습니다.
[1] 새로운 하루가 시작되었을 시
변수를 모두 초기화를 시키고 해당 조건을 만족한 시점부터
지표를 생성한다.
예) 장 시작 후 양봉이 연속해서 6개 발생 할 경우
6개 봉의 최고점 값과 최저점 값을 표시하는 지표(화면 표시)를 생성.
이후, 새로운 6연속 양봉 생성시 지표 값을 갱신.
다음날 장 시작 시, 어제의 지표 값은 초기화. 양봉 6개 연속해서 발생 시 다시 지표 생성
[2]
A : 최초로 발생한 6연속 양봉의 (최고점)
B : 최초로 발생한 6연속 양봉의 최저점
C : 두번째로 발생한 6연속 양봉의 (최고점)
D : 두번째로 발생한 6연속 양봉의 최저점
거래시간: [진입시간: 금일 오전 11시부터 익일 오전 1:00,
청산시간: 금일 오전 11시부터, 익일 오전 5:30분 (장종료 30분전까지)]
1. 지표 값이 생성(최초로 발생한 6연속 양봉) 된 이후
-> A 돌파 시 한번의 매수 기회 / B 돌파 시 한번의 매도 기회가 주어진다.
예) A돌파 후 B에서 손절 -> B 스위칭 -> A도달시 손절 후 스위칭을 하지 않는다.
예) A돌파 후 목표가 청산 - > B돌파 이후 목표가 청산
- > A 또는 B 다시 돌파시 거래하지 않는다.
목표가: 1) 매수 진입 시: A+ (A-B) / 매도 진입시: B - (A-B)
2) 매수 진입(A 돌파) 시 손절 또는 수익 발생 후 다시 A를 돌파 하여도 거래하지 않는다.
매도 진입(B 돌파) 시 손절 또는 수익 발생 후 다시 B를 돌파 하여도 거래하지 않는다.
손절가: 1) A 돌파 시, B 값에 손절 후 스위칭(최초 B값 진입 시 스위칭 진행) /
B 돌파 시, A 값에 손절 후 스위칭(최초 A값 진입 시 스위칭 진행)
*목표가 및 손절가에 도달하지 못하고 지표 값이 갱신 될 경우 2번으로 넘어간다.
2. 지표 값이 갱신(새로운 6연속 양봉 발생) 된 이후
A) 보유하고 있는 포지션이 없을 경우
-> C 돌파 시 한번의 매수 기회 / D 돌파 시 한번의 매도 기회가 주어진다.
예) C돌파 후 B에서 손절 -> D 스위칭 -> C도달시 손절 후 스위칭을 하지 않는다.
예) C돌파 후 목표가 청산 - > D돌파 이후 목표가 청산
- > C 또는 D 다시 돌파시 거래하지 않는다.
목표가: 1) 매수 진입 시: C + (C-D) / 매도 진입시: D - (C-D)
2) 매수 진입(C 돌파) 시 손절 또는 수익 발생 후 다시 C를 돌파 하여도 거래하지 않는다.
매도 진입(D 돌파) 시 손절 또는 수익 발생 후 다시 D를 돌파 하여도 거래하지 않는다.
손절가: 1) C 돌파 시, D 값에 손절 후 스위칭(최초 D값 진입 시 스위칭 진행) /
D 돌파 시, C 값에 손절 후 스위칭(최초 C값 진입 시 스위칭 진행)
B) 포지션을 보유하고 있을 경우 (A 또는 B에서 진입한 경우)
-> 매수 또는 매도를 이미 진입한 경우 C, D를 이용하여 목표 값 및 손절 값을 새롭게 갱신한다.
목표가: 1) 매수 진입 시: C + (C-D) / 매도 진입시: D - (C-D)
2) 매수 포지션을 손절 또는 수익 발생 후 C를 돌파하는 경우 단 한번 거래를 진행한다.
매도 포지션을 손절 또는 수익 발생 후 D를 돌파하는 경우 단 한번 거래를 진행한다.
손절가: 1) C 돌파 시, D 값에 손절 후 스위칭(최초 D값 진입 시 스위칭 진행) /
D 돌파 시, C 값에 손절 후 스위칭(최초 C값 진입 시 스위칭 진행)
3. 지표 값이 지속적으로 갱신 될 경우 (E,F / G,H / I,J ....)
-> 2번을 반복한다.
4. 목표 값 및 손절 값을 도달 못할 시 익일 오전 5:30분 (장 종료 30분전)에 보유 중인 모든 포지션을
자동 청산한다.
감사합니다.