커뮤니티
간단한 실수 같은데...
2010-11-19 12:58:25
1010
글번호 33742
var1 = TimeHigh(090000, 110000);
value1 = 0;
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond == 1;
}
}
청산 "EL1" 이 발생했으면(cond ==1 로 조절), Buy("B1")이 발생하지 말고...
다른식으로 청산된 경우는 Buy("B1")이 발생 되게 하려고 하는데...
!(cond == 1) , cond == 1 사용하면, "EL1" 발생후에도 "B1"이 발생합니다.
!(cond = 1) , cond = 1 사용하면, "B1"이 아예 발생하지 않는것 같고요..
뭐가 잘못 되었나요?
그리고 cond()이 아니고 value1()를 사용할 경우에는 어떻게 하는지도 좀 알려주세요..
부탁드려요~
답변 4
캐빈이야
2010-11-19 12:30:03
var : cond(0);
var1 = TimeHigh(090000, 110000);
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond = 1; <============================ 여기 수정합니다.
}
}
> 초인 님이 쓴 글입니다.
> 제목 : 간단한 실수 같은데...
> var : cond(0);
var1 = TimeHigh(090000, 110000);
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond == 1;
}
}
청산 "EL1" 이 발생했으면(cond ==1 로 조절), Buy("B1")이 발생하지 말고...
다른식으로 청산된 경우는 Buy("B1")이 발생 되게 하려고 하는데...
!(cond == 1) , cond == 1 사용하면, "EL1" 발생후에도 "B1"이 발생합니다.
!(cond = 1) , cond = 1 사용하면, "B1"이 아예 발생하지 않는것 같고요..
뭐가 잘못 되었나요?
부탁드려요~
초인
2010-11-19 12:41:47
그럴경우 EL1이후 발생되지 말아야할 B1 이 발생하는데요...
> 캐빈이야 님이 쓴 글입니다.
> 제목 : Re : 간단한 실수 같은데...
>
var : cond(0);
var1 = TimeHigh(090000, 110000);
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond = 1; <============================ 여기 수정합니다.
}
}
> 초인 님이 쓴 글입니다.
> 제목 : 간단한 실수 같은데...
> var : cond(0);
var1 = TimeHigh(090000, 110000);
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond == 1;
}
}
청산 "EL1" 이 발생했으면(cond ==1 로 조절), Buy("B1")이 발생하지 말고...
다른식으로 청산된 경우는 Buy("B1")이 발생 되게 하려고 하는데...
!(cond == 1) , cond == 1 사용하면, "EL1" 발생후에도 "B1"이 발생합니다.
!(cond = 1) , cond = 1 사용하면, "B1"이 아예 발생하지 않는것 같고요..
뭐가 잘못 되었나요?
부탁드려요~
예스스탁 예스스탁 답변
2010-11-19 16:46:50
안녕하세요
예스스탁입니다.
=와 ==를 혼동하시는 것 같습니다.
예스랭귀지에서 =는 할당을 ==는 같다를 나타냅니다.
A = B 로 작성하시면
B의 값을 A에 저장한다는 의미입니다.
A == B는 A와 B가 같다라는 표현입니다.
그러므로 if ~ then 안에서는 =는 사용되지 않고
if~then 밖에서는 ==가 사용되지 않습니다.
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then# cond = 1 이나 !(cond = 1)은 잘못된 표현입니다.
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond = 1;#Cond == 1;은 잘못된 표현입니다.
}
}
즐거운 하루되세요
> 초인 님이 쓴 글입니다.
> 제목 : 간단한 실수 같은데...
> var1 = TimeHigh(090000, 110000);
value1 = 0;
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond == 1;
}
}
청산 "EL1" 이 발생했으면(cond ==1 로 조절), Buy("B1")이 발생하지 말고...
다른식으로 청산된 경우는 Buy("B1")이 발생 되게 하려고 하는데...
!(cond == 1) , cond == 1 사용하면, "EL1" 발생후에도 "B1"이 발생합니다.
!(cond = 1) , cond = 1 사용하면, "B1"이 아예 발생하지 않는것 같고요..
뭐가 잘못 되었나요?
그리고 cond()이 아니고 value1()를 사용할 경우에는 어떻게 하는지도 좀 알려주세요..
부탁드려요~
캐빈이야
2010-11-19 18:40:41
var : cond(0);
var1 = TimeHigh(090000, 110000);
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and (cond != 1) Then <= 수정요
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond = 1; <============================ 여기 수정합니다.
}
}
예스스탁 답변에서 수정된 내용이 없고 설명만 되어 있어 변경해서 올려드립니다.
> 초인 님이 쓴 글입니다.
> 제목 : Re : Re : 간단한 실수 같은데...
> 그럴경우 EL1이후 발생되지 말아야할 B1 이 발생하는데요...
> 캐빈이야 님이 쓴 글입니다.
> 제목 : Re : 간단한 실수 같은데...
>
var : cond(0);
var1 = TimeHigh(090000, 110000);
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond = 1; <============================ 여기 수정합니다.
}
}
> 초인 님이 쓴 글입니다.
> 제목 : 간단한 실수 같은데...
> var : cond(0);
var1 = TimeHigh(090000, 110000);
if stime >= 110000 then {
if CrossUp(ma(c,SP),var1) and marketposition == 0 and !(cond == 1) Then
Buy("B1");
if CrossDown(ma(c,SP),var1) Then{
ExitLong("EL1");
cond == 1;
}
}
청산 "EL1" 이 발생했으면(cond ==1 로 조절), Buy("B1")이 발생하지 말고...
다른식으로 청산된 경우는 Buy("B1")이 발생 되게 하려고 하는데...
!(cond == 1) , cond == 1 사용하면, "EL1" 발생후에도 "B1"이 발생합니다.
!(cond = 1) , cond = 1 사용하면, "B1"이 아예 발생하지 않는것 같고요..
뭐가 잘못 되었나요?
부탁드려요~
다음글
이전글