커뮤니티
청산 문제
2017-02-28 12:49:40
117
글번호 107330
수고 하십니다.
9개봉 동안의 최고점, 최저점의 평균을 돌파하면 매수진입하고
전봉의 9개봉 동안의 최고점에 현재가 도달하면 익절 하고싶습니다.
그런데 익절하는부분에서 익절조건에 도달한 다음봉에 청산되는 문제가 있습니다.
도움 바랍니다.
=============================================================================
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0), 이전최고점(0), 이전최저점(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
}
이전최고점 = Highest(High[1], StdLen);
# if (marketposition() == 1) and (High >= 이전최고점) Then
if (marketposition() == 1) Then
{
ExitLong("Tr-1",AtLimit,이전최고점,"매수1",1,1);
}
이전최저점 = Lowest(Low[1], StdLen);
# if (marketposition() == -1) and (Low <= 이전최저점) Then
if (marketposition() == -1) Then
{
ExitShort("Tr+1",AtLimit,이전최저점,"매도1");
}
답변 4
예스스탁 예스스탁 답변
2017-02-28 14:45:50
안녕하세요
예스스탁입니다.
atstop,atlimit은 현재봉완성시 값셋팅하고
다음봉의 현재가와 해당 값을 비교하므로
아래와 같이 청산식 작성하시면 됩니다.
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
}
#매수후 봉완성시 고점값을 셋팅하고 다음봉에서 해당 고점값 이상의 시세가 발생하면 청산
if marketposition() == 1 Then
ExitLong("Tr-1",AtLimit,고점,"매수1",1,1);
#매도후 봉완성시 저점값을 셋팅하고 다음봉에서 해당 저점값 이하의 시세가 발생하면 청산
if marketposition() == -1 Then
ExitShort("Tr+1",AtLimit,저점,"매도1");
즐거운 하루되세요
> 황룡 님이 쓴 글입니다.
> 제목 : 청산 문제
> 수고 하십니다.
9개봉 동안의 최고점, 최저점의 평균을 돌파하면 매수진입하고
전봉의 9개봉 동안의 최고점에 현재가 도달하면 익절 하고싶습니다.
그런데 익절하는부분에서 익절조건에 도달한 다음봉에 청산되는 문제가 있습니다.
도움 바랍니다.
=============================================================================
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0), 이전최고점(0), 이전최저점(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
}
이전최고점 = Highest(High[1], StdLen);
# if (marketposition() == 1) and (High >= 이전최고점) Then
if (marketposition() == 1) Then
{
ExitLong("Tr-1",AtLimit,이전최고점,"매수1",1,1);
}
이전최저점 = Lowest(Low[1], StdLen);
# if (marketposition() == -1) and (Low <= 이전최저점) Then
if (marketposition() == -1) Then
{
ExitShort("Tr+1",AtLimit,이전최저점,"매도1");
}
황룡
2017-02-28 17:22:24
정말 감사합니다,,
그런데 아직도 신규매수봉과 떨어진 봉의 청산은 의도대로 잘되는데,
신규매수봉 바로 다음봉은 조건에 도달해도 인식하지못하고
매수봉 다다음봉에서 청산 조건 확인후 청산됩니다.
한번만 더 수고좀 해주세요....감사합니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 청산 문제
>
안녕하세요
예스스탁입니다.
atstop,atlimit은 현재봉완성시 값셋팅하고
다음봉의 현재가와 해당 값을 비교하므로
아래와 같이 청산식 작성하시면 됩니다.
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
}
#매수후 봉완성시 고점값을 셋팅하고 다음봉에서 해당 고점값 이상의 시세가 발생하면 청산
if marketposition() == 1 Then
ExitLong("Tr-1",AtLimit,고점,"매수1",1,1);
#매도후 봉완성시 저점값을 셋팅하고 다음봉에서 해당 저점값 이하의 시세가 발생하면 청산
if marketposition() == -1 Then
ExitShort("Tr+1",AtLimit,저점,"매도1");
즐거운 하루되세요
> 황룡 님이 쓴 글입니다.
> 제목 : 청산 문제
> 수고 하십니다.
9개봉 동안의 최고점, 최저점의 평균을 돌파하면 매수진입하고
전봉의 9개봉 동안의 최고점에 현재가 도달하면 익절 하고싶습니다.
그런데 익절하는부분에서 익절조건에 도달한 다음봉에 청산되는 문제가 있습니다.
도움 바랍니다.
=============================================================================
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0), 이전최고점(0), 이전최저점(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
}
이전최고점 = Highest(High[1], StdLen);
# if (marketposition() == 1) and (High >= 이전최고점) Then
if (marketposition() == 1) Then
{
ExitLong("Tr-1",AtLimit,이전최고점,"매수1",1,1);
}
이전최저점 = Lowest(Low[1], StdLen);
# if (marketposition() == -1) and (Low <= 이전최저점) Then
if (marketposition() == -1) Then
{
ExitShort("Tr+1",AtLimit,이전최저점,"매도1");
}
예스스탁 예스스탁 답변
2017-03-02 10:27:42
안녕하세요
예스스탁입니다.
진입이 onclose타입입니다.
봉완성시(다음봉시가수신) 조건만족하면
완성봉 종가에 신호를 표시해 주는데
marketposition은 다음봉이 완성되어야 1이나 -1로 인식됩니다,.
아래와 같이 진입봉에서 동시에 셋팅되는 청산을 추가하시면 됩니다.
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
if MarketPosition <= 0 Then
ExitLong("btr",AtLimit,고점,"매수1",1,1);
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
if MarketPosition >= 0 Then
ExitShort("sTr",AtLimit,저점,"매도1");
}
#매수후 봉완성시 고점값을 셋팅하고 다음봉에서 해당 고점값 이상의 시세가 발생하면 청산
if marketposition() == 1 Then
ExitLong("Tr-1",AtLimit,고점,"매수1",1,1);
#매도후 봉완성시 저점값을 셋팅하고 다음봉에서 해당 저점값 이하의 시세가 발생하면 청산
if marketposition() == -1 Then
ExitShort("Tr+1",AtLimit,저점,"매도1");
즐거운 하루되세요
> 황룡 님이 쓴 글입니다.
> 제목 : Re : Re : 아직 문제가....
> 정말 감사합니다,,
그런데 아직도 신규매수봉과 떨어진 봉의 청산은 의도대로 잘되는데,
신규매수봉 바로 다음봉은 조건에 도달해도 인식하지못하고
매수봉 다다음봉에서 청산 조건 확인후 청산됩니다.
한번만 더 수고좀 해주세요....감사합니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 청산 문제
>
안녕하세요
예스스탁입니다.
atstop,atlimit은 현재봉완성시 값셋팅하고
다음봉의 현재가와 해당 값을 비교하므로
아래와 같이 청산식 작성하시면 됩니다.
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
}
#매수후 봉완성시 고점값을 셋팅하고 다음봉에서 해당 고점값 이상의 시세가 발생하면 청산
if marketposition() == 1 Then
ExitLong("Tr-1",AtLimit,고점,"매수1",1,1);
#매도후 봉완성시 저점값을 셋팅하고 다음봉에서 해당 저점값 이하의 시세가 발생하면 청산
if marketposition() == -1 Then
ExitShort("Tr+1",AtLimit,저점,"매도1");
즐거운 하루되세요
> 황룡 님이 쓴 글입니다.
> 제목 : 청산 문제
> 수고 하십니다.
9개봉 동안의 최고점, 최저점의 평균을 돌파하면 매수진입하고
전봉의 9개봉 동안의 최고점에 현재가 도달하면 익절 하고싶습니다.
그런데 익절하는부분에서 익절조건에 도달한 다음봉에 청산되는 문제가 있습니다.
도움 바랍니다.
=============================================================================
Inputs: StdLen(9), oneTick(0.01);
Variables: 고점(0), 저점(0), 평균(0), 이전최고점(0), 이전최저점(0);
고점 = Highest(High, StdLen);
저점 = Lowest(Low, StdLen);
평균 = (고점 + 저점)/2;
# 매수/매도청산
if CrossUP(c, 평균) Then
{
Buy("매수1");
}
# 매도/매수청산
If CrossDown(c, 평균) Then
{
Sell("매도1");
}
이전최고점 = Highest(High[1], StdLen);
# if (marketposition() == 1) and (High >= 이전최고점) Then
if (marketposition() == 1) Then
{
ExitLong("Tr-1",AtLimit,이전최고점,"매수1",1,1);
}
이전최저점 = Lowest(Low[1], StdLen);
# if (marketposition() == -1) and (Low <= 이전최저점) Then
if (marketposition() == -1) Then
{
ExitShort("Tr+1",AtLimit,이전최저점,"매도1");
}
황룡
2017-03-02 19:01:01
감사합니다..
다음글
이전글