커뮤니티
식문의드립니다
2019-06-19 22:06:48
302
글번호 129594
안녕하세요, 항상 감사드립니다.
수정해주신 식의 저점, 고점을 다르게 부탁드리고자 합니다.
ex)
저점 6월17일 1000원
고점 6월19일 1050원 처럼
일자와 가격으로 지정하고
지정한 고점의 일자 이후 지정한 1050원의 가격을 넘어서면
계속해서 고점이 갱신되는 것은 동일하나
갱신된 가격에서 종가기준으로 상승분에서 15%하락하면 갱신을 멈춥니다
1500원에서 1350원이된뒤 1600원이되더라도 고점은 1500원으로 고정됩니다
1,2번 모두 동일하게 부탁드립니다.
감사합니다!
----------------------------------------------------------------------
안녕하세요
예스스탁입니다.
1
변수지정에 오류가 있어 수정했습니다.
시간은 stime기준으로 지정하셔야 합니다.
5분봉에서 첫봉은 90000, 두번쨰봉은 90500입니다.
plot1(stime);
위 지표 적용하셔서 시간 확인하시기 바랍니다.
input : ndate(20190601),ntime1(90000),ntime2(90500);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
HH = h; //그날의 최고가이면 초기값을 dayhigh로 변경
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
2
input : ndate(20190601),ntime1(90000),ntime2(91000);
var : HH(0),LL(0),HL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
HH = h; //그날의 최고가이면 초기값을 dayhigh로 변경
HL = L; //최고가 발생이후 최저가 저장할 변수
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
{
HH = H;
HL = L;
#현재봉 최고가 갱싱했고
#직전 최고가 이후 최저가는 직전최고가 대비 -5%~10% 사이이면 매수
if HL[1] <= HH[1]*0.95 and HL[1] > HH[1]*0.90 Then
buy("b",OnClose,def,100);
}
//최고가 이후 최저가 계산
if L < HL Then
HL = L;
}
SetStopLoss(6,PercentStop);
SetStopProfittarget(5,PercentStop);
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요, 항상 감사드립니다.
1
식 문의드린부분에서 적용이 안되는 부분 문의드리고자합니다.
아래식에서 지정일, 지정일시 잡는부분에 오류가있는지 잘되지않아
아래와 같이 지정할수있게 부탁드립니다.
저점
일자 20190601 시분 090500 (5분봉상 1번째 봉의 저점)
고점
일자 20190602 시분 091000 (5분봉상 2번째 봉의 고점)
이후 지정한 고점을 넘어서는 고점 발생시 아래와 같이 갱신
(완성봉 종가가 아닌 고점입니다)
수정부탁드립니다.
2.추가 문의드립니다.
위와 동일하게 조정대 비율이 적용되고
고점을 만든뒤 5%하락한 지점의 가격에 다은뒤
재차 고점을 돌파할때 진입
고점을 만든뒤 10하락한 지점에 가격이 다으면 진입하지않음
(ex 고점1000원 -> 하락5% 950원에 닫고->1005원 진입,
하락10% 900원에 닫고 1005원이 될시 진입하지 않음)
100개
진입한뒤 5%상승 전량청산
진입한뒤 6%하락 전량손절
감사합니다!
------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : ndate(20190601),ntime1(90000),ntime2(100000);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
LL = h; //그날의 최고가이면 초기값을 dayhigh로 변경
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
즐거운 하루되세요
답변 2
예스스탁 예스스탁 답변
2019-06-20 09:17:37
안녕하세요
예스스탁입니다.
input : 저점날짜(20190617),저점가격(1000);
input : 고점날짜(20190619),고점가격(1050);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),newHigh(false),Tcond(true);
if sdate == 저점날짜 Then
LL = 저점가격;
if sdate == 고점날짜 Then
{
HH = 고점가격;
newHigh = true;
}
if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then
Tcond = true;
if tcond == true then
{
if C <= HH*0.85 Then
newhigh = false;
if newhigh == true and H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
2
input : 저점날짜(20190617),저점가격(1000);
input : 고점날짜(20190619),고점가격(1050);
var : HH(0),LL(0),HL(0),newHigh(false),Tcond(true);
if sdate == 저점날짜 Then
LL = 저점가격;
if sdate == 고점날짜 Then
{
HH = 고점가격;
HL = L;
newHigh = true;
}
if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then
Tcond = true;
if tcond == true then
{
if C <= HH*0.85 Then
newhigh = false;
if newhigh == true and H > HH Then
{
HH = H;
HL = L;
if HL[1] <= HH[1]*0.95 and HL[1] > HH[1]*0.90 Then
buy("b",OnClose,def,100);
}
if L < HL Then
HL = L;
}
SetStopLoss(6,PercentStop);
SetStopProfittarget(5,PercentStop);
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 식문의드립니다
>
안녕하세요, 항상 감사드립니다.
수정해주신 식의 저점, 고점을 다르게 부탁드리고자 합니다.
ex)
저점 6월17일 1000원
고점 6월19일 1050원 처럼
일자와 가격으로 지정하고
지정한 고점의 일자 이후 지정한 1050원의 가격을 넘어서면
계속해서 고점이 갱신되는 것은 동일하나
갱신된 가격에서 종가기준으로 상승분에서 15%하락하면 갱신을 멈춥니다
1500원에서 1350원이된뒤 1600원이되더라도 고점은 1500원으로 고정됩니다
1,2번 모두 동일하게 부탁드립니다.
감사합니다!
----------------------------------------------------------------------
안녕하세요
예스스탁입니다.
1
변수지정에 오류가 있어 수정했습니다.
시간은 stime기준으로 지정하셔야 합니다.
5분봉에서 첫봉은 90000, 두번쨰봉은 90500입니다.
plot1(stime);
위 지표 적용하셔서 시간 확인하시기 바랍니다.
input : ndate(20190601),ntime1(90000),ntime2(90500);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
HH = h; //그날의 최고가이면 초기값을 dayhigh로 변경
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
2
input : ndate(20190601),ntime1(90000),ntime2(91000);
var : HH(0),LL(0),HL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
HH = h; //그날의 최고가이면 초기값을 dayhigh로 변경
HL = L; //최고가 발생이후 최저가 저장할 변수
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
{
HH = H;
HL = L;
#현재봉 최고가 갱싱했고
#직전 최고가 이후 최저가는 직전최고가 대비 -5%~10% 사이이면 매수
if HL[1] <= HH[1]*0.95 and HL[1] > HH[1]*0.90 Then
buy("b",OnClose,def,100);
}
//최고가 이후 최저가 계산
if L < HL Then
HL = L;
}
SetStopLoss(6,PercentStop);
SetStopProfittarget(5,PercentStop);
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요, 항상 감사드립니다.
1
식 문의드린부분에서 적용이 안되는 부분 문의드리고자합니다.
아래식에서 지정일, 지정일시 잡는부분에 오류가있는지 잘되지않아
아래와 같이 지정할수있게 부탁드립니다.
저점
일자 20190601 시분 090500 (5분봉상 1번째 봉의 저점)
고점
일자 20190602 시분 091000 (5분봉상 2번째 봉의 고점)
이후 지정한 고점을 넘어서는 고점 발생시 아래와 같이 갱신
(완성봉 종가가 아닌 고점입니다)
수정부탁드립니다.
2.추가 문의드립니다.
위와 동일하게 조정대 비율이 적용되고
고점을 만든뒤 5%하락한 지점의 가격에 다은뒤
재차 고점을 돌파할때 진입
고점을 만든뒤 10하락한 지점에 가격이 다으면 진입하지않음
(ex 고점1000원 -> 하락5% 950원에 닫고->1005원 진입,
하락10% 900원에 닫고 1005원이 될시 진입하지 않음)
100개
진입한뒤 5%상승 전량청산
진입한뒤 6%하락 전량손절
감사합니다!
------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : ndate(20190601),ntime1(90000),ntime2(100000);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
LL = h; //그날의 최고가이면 초기값을 dayhigh로 변경
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
즐거운 하루되세요
예스스탁 예스스탁 답변
2019-06-20 13:23:34
안녕하세요
예스스탁입니다.
값지정에 잘못된 부분이 있었습니다.
수정한 식입니다.
1
input : 저점날짜(20190619),저점가격(3275);
input : 고점날짜(20190620),고점가격(3380);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),newHigh(false),Tcond(false);
if sdate == 저점날짜 and sdate != sdate[1] Then
LL = 저점가격;
if sdate == 고점날짜 and sdate != sdate[1] Then
{
HH = 고점가격;
newHigh = true;
}
if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then
Tcond = true;
if tcond == true then
{
if C <= HH*0.85 Then
newhigh = false;
if newhigh == true and H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
2
input : 저점날짜(20190619),저점가격(3275);
input : 고점날짜(20190620),고점가격(3380);
var : HH(0),LL(0),HL(0),newHigh(false),Tcond(false);
if sdate == 저점날짜 and sdate != sdate[1] Then
LL = 저점가격;
if sdate == 고점날짜 and sdate != sdate[1] Then
{
HH = 고점가격;
HL = L;
newHigh = true;
}
if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then
Tcond = true;
if tcond == true then
{
if C <= HH*0.85 Then
newhigh = false;
if newhigh == true and H > HH Then
{
HH = H;
HL = L;
if HL[1] <= HH[1]*0.95 and HL[1] > HH[1]*0.90 Then
buy("b",OnClose,def,100);
}
if L < HL Then
HL = L;
}
SetStopLoss(6,PercentStop);
SetStopProfittarget(5,PercentStop);
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 식문의드립니다
> 안녕하세요
예스스탁입니다.
input : 저점날짜(20190617),저점가격(1000);
input : 고점날짜(20190619),고점가격(1050);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),newHigh(false),Tcond(true);
if sdate == 저점날짜 Then
LL = 저점가격;
if sdate == 고점날짜 Then
{
HH = 고점가격;
newHigh = true;
}
if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then
Tcond = true;
if tcond == true then
{
if C <= HH*0.85 Then
newhigh = false;
if newhigh == true and H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
2
input : 저점날짜(20190617),저점가격(1000);
input : 고점날짜(20190619),고점가격(1050);
var : HH(0),LL(0),HL(0),newHigh(false),Tcond(true);
if sdate == 저점날짜 Then
LL = 저점가격;
if sdate == 고점날짜 Then
{
HH = 고점가격;
HL = L;
newHigh = true;
}
if sdate >= 고점날짜 and sdate >= 저점날짜 and HH > 0 and LL > 0 Then
Tcond = true;
if tcond == true then
{
if C <= HH*0.85 Then
newhigh = false;
if newhigh == true and H > HH Then
{
HH = H;
HL = L;
if HL[1] <= HH[1]*0.95 and HL[1] > HH[1]*0.90 Then
buy("b",OnClose,def,100);
}
if L < HL Then
HL = L;
}
SetStopLoss(6,PercentStop);
SetStopProfittarget(5,PercentStop);
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 식문의드립니다
>
안녕하세요, 항상 감사드립니다.
수정해주신 식의 저점, 고점을 다르게 부탁드리고자 합니다.
ex)
저점 6월17일 1000원
고점 6월19일 1050원 처럼
일자와 가격으로 지정하고
지정한 고점의 일자 이후 지정한 1050원의 가격을 넘어서면
계속해서 고점이 갱신되는 것은 동일하나
갱신된 가격에서 종가기준으로 상승분에서 15%하락하면 갱신을 멈춥니다
1500원에서 1350원이된뒤 1600원이되더라도 고점은 1500원으로 고정됩니다
1,2번 모두 동일하게 부탁드립니다.
감사합니다!
----------------------------------------------------------------------
안녕하세요
예스스탁입니다.
1
변수지정에 오류가 있어 수정했습니다.
시간은 stime기준으로 지정하셔야 합니다.
5분봉에서 첫봉은 90000, 두번쨰봉은 90500입니다.
plot1(stime);
위 지표 적용하셔서 시간 확인하시기 바랍니다.
input : ndate(20190601),ntime1(90000),ntime2(90500);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
HH = h; //그날의 최고가이면 초기값을 dayhigh로 변경
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
2
input : ndate(20190601),ntime1(90000),ntime2(91000);
var : HH(0),LL(0),HL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
HH = h; //그날의 최고가이면 초기값을 dayhigh로 변경
HL = L; //최고가 발생이후 최저가 저장할 변수
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
{
HH = H;
HL = L;
#현재봉 최고가 갱싱했고
#직전 최고가 이후 최저가는 직전최고가 대비 -5%~10% 사이이면 매수
if HL[1] <= HH[1]*0.95 and HL[1] > HH[1]*0.90 Then
buy("b",OnClose,def,100);
}
//최고가 이후 최저가 계산
if L < HL Then
HL = L;
}
SetStopLoss(6,PercentStop);
SetStopProfittarget(5,PercentStop);
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요, 항상 감사드립니다.
1
식 문의드린부분에서 적용이 안되는 부분 문의드리고자합니다.
아래식에서 지정일, 지정일시 잡는부분에 오류가있는지 잘되지않아
아래와 같이 지정할수있게 부탁드립니다.
저점
일자 20190601 시분 090500 (5분봉상 1번째 봉의 저점)
고점
일자 20190602 시분 091000 (5분봉상 2번째 봉의 고점)
이후 지정한 고점을 넘어서는 고점 발생시 아래와 같이 갱신
(완성봉 종가가 아닌 고점입니다)
수정부탁드립니다.
2.추가 문의드립니다.
위와 동일하게 조정대 비율이 적용되고
고점을 만든뒤 5%하락한 지점의 가격에 다은뒤
재차 고점을 돌파할때 진입
고점을 만든뒤 10하락한 지점에 가격이 다으면 진입하지않음
(ex 고점1000원 -> 하락5% 950원에 닫고->1005원 진입,
하락10% 900원에 닫고 1005원이 될시 진입하지 않음)
100개
진입한뒤 5%상승 전량청산
진입한뒤 6%하락 전량손절
감사합니다!
------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : ndate(20190601),ntime1(90000),ntime2(100000);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
LL = h; //그날의 최고가이면 초기값을 dayhigh로 변경
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
즐거운 하루되세요
다음글