커뮤니티
간단한 질문.
2010-11-22 17:25:02
738
글번호 33792
no.1 하루에 최초한번만 진입
no.2 하루에 두번만 진입
no.3 이익실현 ts실행(이익0.5p 부터감지, 고점대비0.2 이익보존)
no.4 0.2p 손절
no.5 손절후 당일 진입 금지
if dayindex == 0 then{
var1 = O;
var2 = C;
}
if var1 < var2 Then{
if crossup(c,Var2) Then
buy();
if CrossDown(c,Var1) Then
sell();
}
if var1 > var2 then{
if crossup(c,Var1) Then
buy();
if CrossDown(c,Var2) Then
sell();
}
처음이라 이래저래 물어보는게 많습니다.
각 질문에 대한 식을 따로 따로 적어주시구요.
마지막으로 위내용들을 아래 식에 최초 한번만 진입을 적용해서 식을 대입해 적어주세용. 그리고
이익 실현과 손절 식은 각조건 마다 적어주어야 하나요, 아닌 종가 청산 처럼 끝에 한번 적어 놓으면 되나요.
성실한 답변에 늘 감사 드립니다.
답변 1
예스스탁 예스스탁 답변
2010-11-22 18:07:15
안녕하세요
예스스탁입니다.
1, 하루에 한번만 진입
input : N(1);
var : cnt(0),count(0);
#당일 진입횟수 지정
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if dayindex == 0 then{
var1 = O;
var2 = C;
}
if count < N then{
if var1 != var2 Then{
if crossup(c,max(var1,Var2)) Then
buy();
if CrossDown(c,min(Var1,var2)) Then
sell();
}
}
if MarketPosition == 1 Then{
if CrossDown(c,min(var1,var2)) Then
exitlong();
}
if MarketPosition == -1 Then{
if CrossUp(c,max(var1,var2)) Then
ExitShort();
}
2. 하루에 두번만 진입(N값을 2로 설정하시면 됩니다.)
input : N(2);
var : cnt(0),count(0);
#당일 진입횟수 지정
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if dayindex == 0 then{
var1 = O;
var2 = C;
}
if count < N then{
if var1 != var2 Then{
if crossup(c,max(var1,Var2)) Then
buy();
if CrossDown(c,min(Var1,var2)) Then
sell();
}
}
if MarketPosition == 1 Then{
if CrossDown(c,min(var1,var2)) Then
exitlong();
}
if MarketPosition == -1 Then{
if CrossUp(c,max(var1,var2)) Then
ExitShort();
}
#1번과 2번에 청산식을 따로 적은 이유는
#진입제한으로 인해 반대방향으로 갈경우 청산이 발생되지 않을 수 있기
#때문입니다.
#수식을 조금 간략하게 다시 작성했습니다.
3번과 4번의 경우에는 수식 제일 아래에 한번만 적어 주시면 됩니다.
input : N(1);#당일 두번진입은 2로 설정하시면 됩니다.
var : cnt(0),count(0);
#당일 진입횟수 지정
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if dayindex == 0 then{
var1 = O;
var2 = C;
}
if count < N then{
if var1 != var2 Then{
if crossup(c,max(var1,Var2)) Then
buy();
if CrossDown(c,min(Var1,var2)) Then
sell();
}
}
if MarketPosition == 1 Then{
if CrossDown(c,min(var1,var2)) Then
exitlong();
}
if MarketPosition == -1 Then{
if CrossUp(c,max(var1,var2)) Then
ExitShort();
}
SetStopLoss(0.2,PointStop);
SetStopTrailing(0.2,0.5,PointStop);
5번
손절후 당일 진입금지는
수식을 2개으로 나누셔야 합니다.
당일 첫진입과 첫진입 이후 진입니다.
또한 첫진입 이후 진입도 청산이 여러개 이므로
직전청산으 종류에 따라 다시 분류하셔야 합니다.
1. 첫진입
2. 첫진입 이후 진입
2-1 첫진입이후 현재 무포지션 상태인데 직전청산이 손절매가 아닌경우
2-2 현재 포지션이 진행중일 경우
input : N(2);
var : cnt(0),count(0);
#당일 진입횟수 지정
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if dayindex == 0 then{
var1 = O;
var2 = C;
}
#당일 첫진입
if count == 0 then{
if var1 != var2 Then{
if crossup(c,max(var1,Var2)) Then
buy();
if CrossDown(c,min(Var1,var2)) Then
sell();
}
}
#첫진입 이후 진입
if count > 0 then{
# 첫진입 이후 현재 무포지션이지만 직전청산이 손절매가 아닐경우
if var1 != var2 and MarketPosition == 0 and IsExitName("stopLoss",1) == false Then{
if crossup(c,max(var1,Var2)) Then
buy();
if CrossDown(c,min(Var1,var2)) Then
sell();
}
# 현재 포지션이 진행중일 경우
if var1 != var2 and MarketPosition != 0 Then{
if crossup(c,max(var1,Var2)) Then
buy();
if CrossDown(c,min(Var1,var2)) Then
sell();
}
}
if MarketPosition == 1 Then{
if CrossDown(c,min(var1,var2)) Then
exitlong();
}
if MarketPosition == -1 Then{
if CrossUp(c,max(var1,var2)) Then
ExitShort();
}
SetStopLoss(0.2,PointStop);
SetStopTrailing(0.2,0.5,PointStop);
즐거운 하루되세요
> 휴식 님이 쓴 글입니다.
> 제목 : 간단한 질문.
> no.1 하루에 최초한번만 진입
no.2 하루에 두번만 진입
no.3 이익실현 ts실행(이익0.5p 부터감지, 고점대비0.2 이익보존)
no.4 0.2p 손절
no.5 손절후 당일 진입 금지
if dayindex == 0 then{
var1 = O;
var2 = C;
}
if var1 < var2 Then{
if crossup(c,Var2) Then
buy();
if CrossDown(c,Var1) Then
sell();
}
if var1 > var2 then{
if crossup(c,Var1) Then
buy();
if CrossDown(c,Var2) Then
sell();
}
처음이라 이래저래 물어보는게 많습니다.
각 질문에 대한 식을 따로 따로 적어주시구요.
마지막으로 위내용들을 아래 식에 최초 한번만 진입을 적용해서 식을 대입해 적어주세용. 그리고
이익 실현과 손절 식은 각조건 마다 적어주어야 하나요, 아닌 종가 청산 처럼 끝에 한번 적어 놓으면 되나요.
성실한 답변에 늘 감사 드립니다.
다음글
이전글