커뮤니티
청산관련 질문입니다
2006-01-28 17:51:27
1125
글번호 9248
Input : Period(9);
Var : value(0);
value = RSI(Period);
# 50 이상에서 진입/50이하가 되면 청산 진입이름은 "매수0"
If CrossUp(value,50) Then
{
Buy("매수0", OnClose, DEF, 1);
}
If CrossDown(value,50) Then
{
Exitlong("매수청산0", OnClose, 1);
}
# 60 이상에서 진입/60 이하가 되면 청산 진입이름은 "매수1"
If CrossUp(value,60) Then
{
Buy("매수1", OnClose, DEF, 1);
}
If CrossDown(value,60) Then
{
Exitlong("매수청산1", OnClose, 1);
}
위에서 작성한 바와 같이 RSI가 50 에서 1계약 진입 후
60이 되면 2번째 계약이 진입하고 만약 60을 내려와 50과 60사이에 RSI가 있으면
"매수1"만 청산이 되고 "매수0" 은 정산이 되지 않은 채 1계약 매수가 유지되어야
하는데 ...
첨부한 그림과 같이 계속해서 같이 청산이 되어 버리는 군요,,
어디가 잘못된 것인지 문의 드립니다
- 1. 00-예스에러그림.jpg (0.09 MB)
답변 1
예스스탁 예스스탁 답변
2006-02-01 13:41:49
안녕하세요
예스스탁입니다.
청산주문함수를 잘못 사요하셨습니다.
수정해서 올려드립니다.
Input : Period(9);
Var : value(0);
value = RSI(Period);
# 50 이상에서 진입/50이하가 되면 청산 진입이름은 "매수0"
If CrossUp(value,50) Then
{
Buy("매수0", OnClose, DEF, 1);
}
If CrossDown(value,50) Then
{
exitlong("청산1", OnClose, DEF, "", 1, 1);
}
# 60 이상에서 진입/60 이하가 되면 청산 진입이름은 "매수1"
If CrossUp(value,60) Then
{
Buy("매수1", OnClose, DEF, 1);
}
If CrossDown(value,60) Then
{
exitlong("청산2", OnClose, DEF, "", 1, 1);
}
아래의 링크에 청산주문함수에 관련된 설명이 있습니다.
http://www.yesstock.com/YesTrader/YesLanguage/Function/orderfunction.asp
즐거운 하루되세요
> 로완 님이 쓴 글입니다.
> 제목 : 청산관련 질문입니다
> Input : Period(9);
Var : value(0);
value = RSI(Period);
# 50 이상에서 진입/50이하가 되면 청산 진입이름은 "매수0"
If CrossUp(value,50) Then
{
Buy("매수0", OnClose, DEF, 1);
}
If CrossDown(value,50) Then
{
Exitlong("매수청산0", OnClose, 1);
}
# 60 이상에서 진입/60 이하가 되면 청산 진입이름은 "매수1"
If CrossUp(value,60) Then
{
Buy("매수1", OnClose, DEF, 1);
}
If CrossDown(value,60) Then
{
Exitlong("매수청산1", OnClose, 1);
}
위에서 작성한 바와 같이 RSI가 50 에서 1계약 진입 후
60이 되면 2번째 계약이 진입하고 만약 60을 내려와 50과 60사이에 RSI가 있으면
"매수1"만 청산이 되고 "매수0" 은 정산이 되지 않은 채 1계약 매수가 유지되어야
하는데 ...
첨부한 그림과 같이 계속해서 같이 청산이 되어 버리는 군요,,
어디가 잘못된 것인지 문의 드립니다