커뮤니티
변수 값 저장 문의
2016-12-08 16:52:21
100
글번호 104805
안녕하세요.
시스템 식 작성 시, 특정 조건이 발생하면 변수값에 그 값을 저장할 수 있는지요?
예를 들면 변수를
var : end(0);
이렇게 설정한 후,
If crossup(C, dayopen()) and end==0 Then{
buy();
end=1;
}
if stime==101000{
end=0;
}
이런 식으로 식을 작성해 하루에 한번만 매매할 수 있도록 변수에 특정 데이터를 저장해 놓을 수 있는지요?
캔들을 하나 지나갈때마다 변수가 0으로 초기화되는 것 같아 질문드립니다.
답변 1
예스스탁 예스스탁 답변
2016-12-08 17:25:13
안녕하세요
예스스탁입니다.
1
var선언은 매봉 초기화 되는 것이 아닙니다.
해당 변수의 최초의 값을 지정할 뿐입니다.
작성하신 식은 종가가 시초가 돌파하면 1
10시에는 0이라는 내용일 뿐입니다.
10시에 0이 되므로 다시 10시이후에 신호가 또 발생하게 됩니다.
매봉마다 var에서 선언한 값으로 초기화 되는지
시각으로 확인해 보실수 있는 지표입니다.
var : vv(0);
if crossup(c,dayopen) Then
vv= C;
plot1(vv);
차트상 첫 돌파 이전에는 0값이고
이후에는 모두 돌파봉의 종가값이 다음돌파까지 유지되는 것을 확인하실수 있습니다.
선언에서 지정하는 값은 단순 차트에서 저장이 발생하기 전에 최초의 값일 뿐이고
수식에서 값을 저장해 주기전까지는 최근에 저장된것이 유지됩니다.
2
하루 한번 진입하기 위해서는
날짜가 변경될때 변수를 0으로 하고
이후 조건충족하면 1로 변경해야 합니다.
end는 수식에서 변수로 사용할수 없는 단어라 entry로 변수를 지정했습니다
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
If crossup(C, dayopen()) and entry==0 and stime < 100000 Then{
buy();
entry = 1;
}
3
일반적으로 당일 진입은 아래식으로 카운트해서 사용합니다.
식작성에 참고하시기 바랍니다.
var : N1(0),entry(0);
if Bdate != Bdate[1] Then
N1 = TotalTrades;
If MarketPosition == 0 Then
entry = TotalTrades-N1;
Else
entry = (TotalTrades-N1)+1;
#10시 이전에 당일 첫진입일때만 시초가 돌파하면 매수
If crossup(C, dayopen()) and entry==0 and stime < 100000 Then{
buy();
}
즐거운 하루되세요
> loaded 님이 쓴 글입니다.
> 제목 : 변수 값 저장 문의
> 안녕하세요.
시스템 식 작성 시, 특정 조건이 발생하면 변수값에 그 값을 저장할 수 있는지요?
예를 들면 변수를
var : end(0);
이렇게 설정한 후,
If crossup(C, dayopen()) and end==0 Then{
buy();
end=1;
}
if stime==101000{
end=0;
}
이런 식으로 식을 작성해 하루에 한번만 매매할 수 있도록 변수에 특정 데이터를 저장해 놓을 수 있는지요?
캔들을 하나 지나갈때마다 변수가 0으로 초기화되는 것 같아 질문드립니다.
다음글
이전글