커뮤니티
문의드립니다
2017-04-28 11:11:20
97
글번호 109243
안녕하세요 9시에 신호가 바로 나오는 이유를 알고싶습니다
시작시간이 9시3분 인데요 3분전에 신호가 나오네요 감사합니다
input : Period(1),당일청산시간(142000),스탑(0.35),시작시간(090300);
var : value1(0),value6(0,data2),value7(0,data3),value3(0),value8(0,data4),value9(0,data5),value5(0),tcond(False),count(0),value10(0);
# 당일진입횟수계산
count = 0 ;
for value1 = 0 to 10 {
if entrydate(value10) == date then count = count + 1 ;
}
value3 = data2("C")-data3("C");
Value1 = data2("C")/data3("C")*100;
value5 = data4("C")/data5("C")*100;
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then {
tcond = true;
}
if tcond == true and count < 3 then {
if CrossDown(value1,200) Then
sell();
if Crossup(value1,50) Then
buy();
}
답변 1
예스스탁 예스스탁 답변
2017-04-28 13:34:09
안녕하세요
예스스탁입니다.
1
tcond변수가 한번 true가 저장되면 false로 변경되는 내용이 없습니다.
당일청산시각에 false로 변경후 다음날 지정한 시각 이후에 true가 다시 저장되게 하셔야 합니다.
2
당일진입횟수 카운트 식에 오류가 있습니다.
entrydate의 매개변수로 value1이 들어가야 합니다.
3
data2("c")에서 ""은 생략가능합니다.
4
수정한 식입니다.
input : Period(1),당일청산시간(142000),스탑(0.35),시작시간(090300);
var : value1(0),value6(0,data2),value7(0,data3),value3(0),value8(0,data4),value9(0,data5),value5(0),tcond(False),count(0),value10(0);
# 당일진입횟수계산
count = 0 ;
for value1 = 0 to 10 {
if entrydate(value1) == date then
count = count + 1 ;
}
value3 = data2(C)-data3(C);
Value1 = data2(C)/data3(C)*100;
value5 = data4(C)/data5(C)*100;
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then
tcond = true;
if stime == 당일청산시간 or (stime > 당일청산시간 and stime[1] < 당일청산시간) Then
tcond = False;
if tcond == true and count < 3 then {
if CrossDown(value1,200) Then
sell();
if Crossup(value1,50) Then
buy();
}
즐거운 하루되세요
> 비상8 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요 9시에 신호가 바로 나오는 이유를 알고싶습니다
시작시간이 9시3분 인데요 3분전에 신호가 나오네요 감사합니다
input : Period(1),당일청산시간(142000),스탑(0.35),시작시간(090300);
var : value1(0),value6(0,data2),value7(0,data3),value3(0),value8(0,data4),value9(0,data5),value5(0),tcond(False),count(0),value10(0);
# 당일진입횟수계산
count = 0 ;
for value1 = 0 to 10 {
if entrydate(value10) == date then count = count + 1 ;
}
value3 = data2("C")-data3("C");
Value1 = data2("C")/data3("C")*100;
value5 = data4("C")/data5("C")*100;
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then {
tcond = true;
}
if tcond == true and count < 3 then {
if CrossDown(value1,200) Then
sell();
if Crossup(value1,50) Then
buy();
}