커뮤니티
질문입니다.
2013-08-22 06:26:56
95
글번호 66693
1.분봉에서 당일의 시가보다 1%이상 상승한 분봉 종가가 발생하면 1 아니면 0를 나타내는 수식부탁드립니다.
2.분봉에서 당일의 시가보다 큰 양봉의 갯수를 나타내는 수식 부탁드립니다.
3.피라미딩으로 진입청산을 구현하였는데... 진입이 2회가 발생한 상황에서 전체잔고의 30%청산 수식을 작성하였더니 30%청산이 2회가 되어 총 60%의 잔고가 청산됩니다. 진입이 3회면 90%청산이 이루어집니다....진입횟수를 곱해서 청산하게 되는데 이를 30%로만 청산하려면 어떻게 해야하나요?
답변 1
예스스탁 예스스탁 답변
2013-08-22 10:00:36
안녕하세요
예스스탁입니다.
1.
if C >= dayopen*1.01 Then
var1 = 1;
Else
var1 = 0;
plot1(var1);
2.
if date != date[1] Then
var1 = 0;
if C > dayopen and C > O Then
var1 = var1+1;
plot1(var1);
3.
해당 부분은 수식이 있어야 정확히 작성해 볼수 잇습니다.
수식에서 분할청산을 구현하실 때는 그 분할의 경우의 수를 고려해서 작성해 가야 합니다.
청산함수는 한개당 진입의 횟수만큼 발동을 하게 되므로
만약 한번만 발생하게 하시려면 한번만 발생하게 하는 조건을 if문으로 지정해 주어야 합니다.
if MarketPosition == 1 Then{
if 청산조건 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then
ExitLong("bx",OnClose,def,"",int(MaxContracts*0.3),1);
}
위와 같이 작성하시면 특정청산조건이 만족하고
현재 포지션 진행중에 청산이 한번도 발생하지 않을때 발생하게 됩니다
아래와 같이 작성하시면 특정조건이 처음 한번 만족했을때만 청산이 발생하고
이후에는 발생하지 않게 됩니다.
if MarketPosition == 1 Then{
if 청산조건 and countif(청산조건,BarsSinceEntry) == 1 Then
ExitLong("bx",OnClose,def,"",int(MaxContracts*0.3),1);
}
식작성에 참고하시기 바랍니다.
즐거운 하루되세요
> HI_JAEYUN01 님이 쓴 글입니다.
> 제목 : 질문입니다.
> 1.분봉에서 당일의 시가보다 1%이상 상승한 분봉 종가가 발생하면 1 아니면 0를 나타내는 수식부탁드립니다.
2.분봉에서 당일의 시가보다 큰 양봉의 갯수를 나타내는 수식 부탁드립니다.
3.피라미딩으로 진입청산을 구현하였는데... 진입이 2회가 발생한 상황에서 전체잔고의 30%청산 수식을 작성하였더니 30%청산이 2회가 되어 총 60%의 잔고가 청산됩니다. 진입이 3회면 90%청산이 이루어집니다....진입횟수를 곱해서 청산하게 되는데 이를 30%로만 청산하려면 어떻게 해야하나요?
다음글
이전글