커뮤니티
보유수량 체크
2017-06-22 13:11:46
125
글번호 110661
input : P(20),진입수량(2);
var : mav(0);
mav = ma(c,P);
if C > DayOpen and
C >= mav and C[1] >= mav[1] and
C <= mav+PriceScale*10 then
buy("b",OnClose,def,진입수량);
if MarketPosition == 1 then
{
if C < mav and C[1] < mav[1] and C[2] < mav[2] Then
exitlong("bx1",OnClose,def,"",1,1);
if C >= mav+PriceScale*10 Then
exitlong("bx2",OnClose,def,"",1,1);
}
-------------------------
1. 진입수량(2) ----->3으로 바꾸면 3개가 진입되나요?
2. if MarketPosition == 1 then ------> == 1 이라는건 매수가 잇다라는 포괄적의미인지...아니면 매수가 1개잇다라는 의미인지요? 1이 갯수를 의미한다면 == 2 라고해야하는지..
3. 2개진입을 가지고 잇을때 1개매도...그리고 1개만 있을때 다시 매도.. 이 조건을 따로두고 싶은데...갯수체크를 어떻게 하나요?
4. exitlong("bx2",OnClose,def,"",1,1) -------> ""이건이렇게 그냥 두면되나요? 뒤에 1,1이 있는데...각각 1이 무슨의미인지요...
5. 보유수량을 체크해서 만일 2개면 if 보유수량=2. 이런식으로 하고 싶은데.보유수량을 체크하는 함수는 무언가요?
------------------------------------------------------
왕초보라 자꾸 여쭤봐서 죄송하고...답변 감사합니다.
답변 1
예스스탁 예스스탁 답변
2017-06-22 13:25:11
안녕하세요
예스스탁입니다.
1
예 3개가 진입됩니다.
2
MarketPosition은 신호상 현재 포지션 상태입니다.
현재 무포지션이면 0, 매수포지션이면 1, 매도포지션이면 -1입니다.
if MarketPosition == 1 then
은 매수진입을 해서 지금 매수포지션 상태임을 나타내는 표현입니다.
3
현재 보유수량은 CurrentContracts함수가 리턴합니다.
현재보유수량이 2개다라는 것은 CurrentContracts == 2
현재보유수량이 1개다라는 것은 CurrentContracts == 1
과 같이 표현하시면 됩니다.
if MarketPosition == 1 Then
#수량이 2개가 있을때 지정한 조건 만족하면 1개 청산
if CurrentContracts == 2 and 조건 Then{
ExitLong("bx1",OnClose,def,"",1,1);
}
#수량이 1개가 있을때 지정한 조건 만족하면 1개 청산
if CurrentContracts == 1 and 조건 Then{
ExitLong("bx1",OnClose,def,"",1,1);
}
}
4
ExitLong("명칭",신호타입,신호가격,"진입명",수량,수량옵션);
청산함수의 5번째 매개변수가 청산할 수량을 지정하는 부붑입니다.
6번째는 수량옵션을 지정하는 부분입니다. 수량옵션은 3가지(0,1,2)가 제공되고 있습니다.
0 : 진입을 여러번 피라미딩(중복진입) 했을 경우에만 의미있는 옵션으로
해당 청산이 발동하면 각 진입별로 지정된 수량만큼을 청산
1 : 가장많이 사용되는 옵션으로 보유중인 총수량에서 지정된 수량만큼만 청산
2 : 청산함수는 진입신호 1개당 1번만 발생하는데 옵션을 2로 설정하면
청산조건이 만족하면 해당 청산조건으로 반복해서 여러 번 청산을 하게할수 있는 옵션.
즉 1,1은 현재 보유한 수량에서 1개만 청산하는다는 설정입니다.
5
예스랭귀지 도움말 다운받으셔서 읽어보시기 바랍니다
예스랭귀지 도움말에 각 함수에 대한 설명이 있습니다.
즐거운 하루되세요
> 노블사랑 님이 쓴 글입니다.
> 제목 : 보유수량 체크
> input : P(20),진입수량(2);
var : mav(0);
mav = ma(c,P);
if C > DayOpen and
C >= mav and C[1] >= mav[1] and
C <= mav+PriceScale*10 then
buy("b",OnClose,def,진입수량);
if MarketPosition == 1 then
{
if C < mav and C[1] < mav[1] and C[2] < mav[2] Then
exitlong("bx1",OnClose,def,"",1,1);
if C >= mav+PriceScale*10 Then
exitlong("bx2",OnClose,def,"",1,1);
}
-------------------------
1. 진입수량(2) ----->3으로 바꾸면 3개가 진입되나요?
2. if MarketPosition == 1 then ------> == 1 이라는건 매수가 잇다라는 포괄적의미인지...아니면 매수가 1개잇다라는 의미인지요? 1이 갯수를 의미한다면 == 2 라고해야하는지..
3. 2개진입을 가지고 잇을때 1개매도...그리고 1개만 있을때 다시 매도.. 이 조건을 따로두고 싶은데...갯수체크를 어떻게 하나요?
4. exitlong("bx2",OnClose,def,"",1,1) -------> ""이건이렇게 그냥 두면되나요? 뒤에 1,1이 있는데...각각 1이 무슨의미인지요...
5. 보유수량을 체크해서 만일 2개면 if 보유수량=2. 이런식으로 하고 싶은데.보유수량을 체크하는 함수는 무언가요?
------------------------------------------------------
왕초보라 자꾸 여쭤봐서 죄송하고...답변 감사합니다.
다음글
이전글