커뮤니티
수식 작성을 부탁드립니다.
2018-11-02 22:47:22
194
글번호 123322
안녕하세요. 항상 고생 많으십니다.
컴맹이 혼자 끙끙대다 이 게시판을 알고 번거로우시겠지만 요청드리고자 합니다.
아래와 같이 편하게 보실 수 있게 정리해보았는데 부탁드리겠습니다.
혹시 2계약을 매수하고 나누어서 청산이 불가능하다면 청산#2 조건으로 청산하는 시스템식 부탁드리겠습니다.
* 거래시간 설정 : 9시 - 14시
* 하루 손실 설정 : 1일 100틱(혹은 특정금액) 손실 발생 시 거래 중지
* 매수 : 아래 두가지 조건을 모두(and) 만족할때 매수(2계약 매수)
(1) 현재 바로 직전 캔들 10개(외부변수1)에서, RSI 과매도 구간(30 이하)에서 RSI의 다이버전스 발생
(2) 현재 바로 직전 캔들 20개(외부변수2)에서, 현재가가 (최고점 - (최고점 - 최저점)*1) 보다 작거나 같을 경우
* 손절 : 아래 조건일때 (2계약 모두 손절)
(1) 매수 진입 후, 매수가 보다 10틱 밑에서 손절
* 청산 #1 : 아래 조건을 모두(and) 만족할 경우 1계약 청산
(1) 현재 바로 직전 캔들 30개(외부변수3)에서, RSI가 50 이상
(2) 현재 바로 직전 캔들 40개(외부변수4)에서, ((최저점 + (최고점 - 최저점)*1) - 5틱 )에서 청산(1계약)
* 청산 #2 : 아래 조건 중 1개를 만족하는 경우(or조건) 1계약 추가 청산
(1) 현재 바로 직전 캔들 30개(외부변수3)에서, RSI가 70 이상
(2) 현재 바로 직전 캔들 40개(외부변수4)에서, 현재가가 ((최저점 + (최고점 - 최저점)*2) - 5틱 )에서 청산
(3) 청산#1 이후, 청산#1 가격에서 청산값(익절값) 설정
다시한번 미리 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2018-11-05 14:28:41
안녕하세요
예스스탁입니다.
다이버전스가 고정된 수식이 있지는 않습니다.
RSI가 상승반전(하락후 상승)하는 봉을 기준으로 처리해 드립니다.
10개봉내 상승반전이 2회이상 있고
최근 상승반전시 RSI는 30이하이고 종가는 직전 상승반전시 종가보다 작고
RSI값은 커진것으로 작성해 드립니다.
input : starttime(90000),endtime(140000);
Input : 당일손실틱수(100),RSIPeriod(14);
input : bar1(10),bar2(20),bar3(30),bar4(40),익절값(1000);
Var : N1(0),dayPl(0),당일손실(0),Xcond(false),Tcond(false);
var : RSIV(0),S(0),H1(0),L1(0),H2(0),L2(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
Xcond = false;
N1 = NetProfit;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
}
당일손실 = PriceScale*당일손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
RSIV = RSI(RSIPeriod);
if RSIV > RSIV[1] Then
S = 1;
if RSIV < RSIV[1] Then
S = -1;
#상승반전
if S == 1 and S != S[1] Then{
var1 = L;
var2 = RSIV[1];
var3 = index;
var11 = var1[1];
var21 = var2[1];
var31 = var3[1];
}
H1 = highest(H,bar2);
L1 = lowest(L,bar2);
H2 = highest(H,bar4);
L2 = lowest(L,bar4);
if Tcond == true and Xcond == false then
{
if RSIV <= 30 and var1 < var11 and var2 > var21 and var3 <= var31+bar1 and
C <= H1-(H1-L1)*1 Then
buy("b",OnClose,def,2);
}
SetStopLoss(PriceScale*10,PointStop);
if MarketPosition == 1 then{
if countIf(RSIV>=50,bar3) == bar3 and C >= L2+(H2-L2)*2-PriceScale*5 Then
ExitLong("bx1",OnClose,def,"",1,1);
if countIf(RSIV>=70,bar3) == bar3 or C >= L2+(H2-L2)*2-PriceScale*5 Then
ExitLong("bx2",OnClose,def,"",1,1);
if MaxContracts == 1 and LatestExitName(0) == "bx1" and C >= LatestExitPrice(0)+익절값 Then
ExitLong("bx3",OnClose,def,"",1,1);
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
즐거운 하루되세요
> etm 님이 쓴 글입니다.
> 제목 : 수식 작성을 부탁드립니다.
> 안녕하세요. 항상 고생 많으십니다.
컴맹이 혼자 끙끙대다 이 게시판을 알고 번거로우시겠지만 요청드리고자 합니다.
아래와 같이 편하게 보실 수 있게 정리해보았는데 부탁드리겠습니다.
혹시 2계약을 매수하고 나누어서 청산이 불가능하다면 청산#2 조건으로 청산하는 시스템식 부탁드리겠습니다.
* 거래시간 설정 : 9시 - 14시
* 하루 손실 설정 : 1일 100틱(혹은 특정금액) 손실 발생 시 거래 중지
* 매수 : 아래 두가지 조건을 모두(and) 만족할때 매수(2계약 매수)
(1) 현재 바로 직전 캔들 10개(외부변수1)에서, RSI 과매도 구간(30 이하)에서 RSI의 다이버전스 발생
(2) 현재 바로 직전 캔들 20개(외부변수2)에서, 현재가가 (최고점 - (최고점 - 최저점)*1) 보다 작거나 같을 경우
* 손절 : 아래 조건일때 (2계약 모두 손절)
(1) 매수 진입 후, 매수가 보다 10틱 밑에서 손절
* 청산 #1 : 아래 조건을 모두(and) 만족할 경우 1계약 청산
(1) 현재 바로 직전 캔들 30개(외부변수3)에서, RSI가 50 이상
(2) 현재 바로 직전 캔들 40개(외부변수4)에서, ((최저점 + (최고점 - 최저점)*1) - 5틱 )에서 청산(1계약)
* 청산 #2 : 아래 조건 중 1개를 만족하는 경우(or조건) 1계약 추가 청산
(1) 현재 바로 직전 캔들 30개(외부변수3)에서, RSI가 70 이상
(2) 현재 바로 직전 캔들 40개(외부변수4)에서, 현재가가 ((최저점 + (최고점 - 최저점)*2) - 5틱 )에서 청산
(3) 청산#1 이후, 청산#1 가격에서 청산값(익절값) 설정
다시한번 미리 감사드립니다.
다음글
이전글