커뮤니티
뭔지...
2012-03-19 15:09:51
288
글번호 49075
안녕하세요..
책에 보니까 아래와 같은게 있는데 왜 쓰는 건가요?
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
답변 부탁 드립니다.^^
input : len(3.2), len1(3.7);
var : cond1(False), cond2(False);
if dayopen > DayClose(1) Then{ ## 전종가보다 오픈가격이 높으면
var1 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - DayHigh(1);
}
if DayOpen < DayClose(1) then{ ##전종가보다 오프가격이 낮으면
var1 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - DayHigh(1);
}
if DayOpen == DayClose(1) then{ ##전종가보다 오프가격이 같으면
var1 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - DayHigh(1);
}
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
if stime < 150000 then {
if cond1 == False then{
if dayopen > var1 Then{
buy("매수1", atstop, dayopen+(var1-var2)*len1);
}
if dayopen < var2 Then{
buy("매수4", atstop, var2);
}
}
if cond2 == False then{
if dayopen > var1 then{
sell("매도1",atstop, var1);
}
if dayopen <var2 Then{
sell("매도", atstop, dayopen-(var1-var2)*len1);
}
}
}
if MarketPosition <>0 Then {
exitlong("매수청산", atstop, Highest(H,BarsSinceEntry)-atr(20)*len);
exitshort("매도청산", atstop, Lowest(L,BarsSinceEntry)+atr(20)*len);
}
SetStopEndofday(150400);
답변 3
예스스탁 예스스탁 답변
2012-03-19 16:07:16
안녕하세요
예스스탁입니다.
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
당일 매수거래가 한번이라도 있었으면 cond1는 true가 되고
당일 매도거래가 한번이라도 있었으면 cond2는 true가 되는 내용입니다.
당일 매수와 매도거래 각 1번씩만 하고자 할때 사용하는 표현입니다.
즐거운 하루되세요
> rlaxoeh 님이 쓴 글입니다.
> 제목 : 뭔지...
> 안녕하세요..
책에 보니까 아래와 같은게 있는데 왜 쓰는 건가요?
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
답변 부탁 드립니다.^^
input : len(3.2), len1(3.7);
var : cond1(False), cond2(False);
if dayopen > DayClose(1) Then{ ## 전종가보다 오픈가격이 높으면
var1 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - DayHigh(1);
}
if DayOpen < DayClose(1) then{ ##전종가보다 오프가격이 낮으면
var1 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - DayHigh(1);
}
if DayOpen == DayClose(1) then{ ##전종가보다 오프가격이 같으면
var1 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - DayHigh(1);
}
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
if stime < 150000 then {
if cond1 == False then{
if dayopen > var1 Then{
buy("매수1", atstop, dayopen+(var1-var2)*len1);
}
if dayopen < var2 Then{
buy("매수4", atstop, var2);
}
}
if cond2 == False then{
if dayopen > var1 then{
sell("매도1",atstop, var1);
}
if dayopen <var2 Then{
sell("매도", atstop, dayopen-(var1-var2)*len1);
}
}
}
if MarketPosition <>0 Then {
exitlong("매수청산", atstop, Highest(H,BarsSinceEntry)-atr(20)*len);
exitshort("매도청산", atstop, Lowest(L,BarsSinceEntry)+atr(20)*len);
}
SetStopEndofday(150400);
rlaxoeh
2012-03-19 16:34:29
그런데 매수 이후 청산을 하고 다시 바로 매수로 들어가는데요..
...
..
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 뭔지...
> 안녕하세요
예스스탁입니다.
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
당일 매수거래가 한번이라도 있었으면 cond1는 true가 되고
당일 매도거래가 한번이라도 있었으면 cond2는 true가 되는 내용입니다.
당일 매수와 매도거래 각 1번씩만 하고자 할때 사용하는 표현입니다.
즐거운 하루되세요
> rlaxoeh 님이 쓴 글입니다.
> 제목 : 뭔지...
> 안녕하세요..
책에 보니까 아래와 같은게 있는데 왜 쓰는 건가요?
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
답변 부탁 드립니다.^^
input : len(3.2), len1(3.7);
var : cond1(False), cond2(False);
if dayopen > DayClose(1) Then{ ## 전종가보다 오픈가격이 높으면
var1 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - DayHigh(1);
}
if DayOpen < DayClose(1) then{ ##전종가보다 오프가격이 낮으면
var1 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - DayHigh(1);
}
if DayOpen == DayClose(1) then{ ##전종가보다 오프가격이 같으면
var1 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - DayHigh(1);
}
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
if stime < 150000 then {
if cond1 == False then{
if dayopen > var1 Then{
buy("매수1", atstop, dayopen+(var1-var2)*len1);
}
if dayopen < var2 Then{
buy("매수4", atstop, var2);
}
}
if cond2 == False then{
if dayopen > var1 then{
sell("매도1",atstop, var1);
}
if dayopen <var2 Then{
sell("매도", atstop, dayopen-(var1-var2)*len1);
}
}
}
if MarketPosition <>0 Then {
exitlong("매수청산", atstop, Highest(H,BarsSinceEntry)-atr(20)*len);
exitshort("매도청산", atstop, Lowest(L,BarsSinceEntry)+atr(20)*len);
}
SetStopEndofday(150400);
예스스탁 예스스탁 답변
2012-03-19 17:48:39
안녕하세요
예스스탁입니다.
진입은 현재봉의 완성시에 스탑을 걸어 다음봉의 시세를 감시하는 타입이고
exitdate(1)이나 marketposition은 봉완성시에 최종값을 가지므로
봉미완성시에 청산후 또다시 진입이발생할수 있는 식입니다.
아래와 같이 수정하셔서 사용하시면 됩니다.
input : len(3.2), len1(3.7);
var : cnt(0), cond1(False), cond2(False);
if dayopen > DayClose(1) Then{ ## 전종가보다 오픈가격이 높으면
var1 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - DayHigh(1);
}
if DayOpen < DayClose(1) then{ ##전종가보다 오프가격이 낮으면
var1 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - DayHigh(1);
}
if DayOpen == DayClose(1) then{ ##전종가보다 오프가격이 같으면
var1 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - DayHigh(1);
}
cond1 = false;
cond2 = false;
for cnt = 0 to 10{
if EntryDate(cnt) == sdate and MarketPosition(cnt) == 1 Then
Cond1 = true;
if EntryDate(cnt) == sdate and MarketPosition(cnt) == -1 Then
Cond2 = true;
}
if stime < 150000 then {
if cond1 == False then{
if dayopen > var1 and MarketPosition != 1 Then{
buy("매수1", atstop, dayopen+(var1-var2)*len1);
}
if dayopen < var2 Then{
buy("매수4", atstop, var2);
}
}
if cond2 == False and MarketPosition != -1 then{
if dayopen > var1 then{
sell("매도1",atstop, var1);
}
if dayopen <var2 Then{
sell("매도", atstop, dayopen-(var1-var2)*len1);
}
}
}
if MarketPosition <>0 Then {
exitlong("매수청산", atstop, Highest(H,BarsSinceEntry)-atr(20)*len);
exitshort("매도청산", atstop, Lowest(L,BarsSinceEntry)+atr(20)*len);
}
SetStopEndofday(150400);
즐거운 하루되세요
> rlaxoeh 님이 쓴 글입니다.
> 제목 : Re : Re : 뭔지...
> 그런데 매수 이후 청산을 하고 다시 바로 매수로 들어가는데요..
...
..
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 뭔지...
> 안녕하세요
예스스탁입니다.
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
당일 매수거래가 한번이라도 있었으면 cond1는 true가 되고
당일 매도거래가 한번이라도 있었으면 cond2는 true가 되는 내용입니다.
당일 매수와 매도거래 각 1번씩만 하고자 할때 사용하는 표현입니다.
즐거운 하루되세요
> rlaxoeh 님이 쓴 글입니다.
> 제목 : 뭔지...
> 안녕하세요..
책에 보니까 아래와 같은게 있는데 왜 쓰는 건가요?
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
답변 부탁 드립니다.^^
input : len(3.2), len1(3.7);
var : cond1(False), cond2(False);
if dayopen > DayClose(1) Then{ ## 전종가보다 오픈가격이 높으면
var1 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)+DayLow(1)*2)/2 - DayHigh(1);
}
if DayOpen < DayClose(1) then{ ##전종가보다 오프가격이 낮으면
var1 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)*2+DayClose(1)+DayLow(1))/2 - DayHigh(1);
}
if DayOpen == DayClose(1) then{ ##전종가보다 오프가격이 같으면
var1 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - daylow(1);
var2 = (DayHigh(1)+DayClose(1)*2+DayLow(1))/2 - DayHigh(1);
}
cond1 = date == exitdate(1) and MarketPosition(1) == 1;
cond2 = date == exitdate(1) and MarketPosition(1) == -1;
if stime < 150000 then {
if cond1 == False then{
if dayopen > var1 Then{
buy("매수1", atstop, dayopen+(var1-var2)*len1);
}
if dayopen < var2 Then{
buy("매수4", atstop, var2);
}
}
if cond2 == False then{
if dayopen > var1 then{
sell("매도1",atstop, var1);
}
if dayopen <var2 Then{
sell("매도", atstop, dayopen-(var1-var2)*len1);
}
}
}
if MarketPosition <>0 Then {
exitlong("매수청산", atstop, Highest(H,BarsSinceEntry)-atr(20)*len);
exitshort("매도청산", atstop, Lowest(L,BarsSinceEntry)+atr(20)*len);
}
SetStopEndofday(150400);