커뮤니티
안녕하세요. 시스템식 수정 부탁드립니다.
2008-09-04 15:44:35
728
글번호 16918
안녕하세요.
도움말씀에 깊은 감사 드립니다.
[문의사항]
시스템을 만들었는데요. 신호 발생이 잘 정확하지 않아서 문의 드립니다.
죄송하지만 아래의 시스템식의 수정을 부탁드립니다.
고맙습니다.
<시스템식은 다음의 조건을 만족시키고자 합니다>
1. 진입식을 만족하면 3계약이 진입된다.
2. 방향이 맞다면 3개의 청산식에서 각각 한계약씩 청산된다.
동일한 청산식이 재반복 되지 않는다.
3. 1개의 청산식이라도 청산이 됐다면, 동일한 방향의 재진입은 되지 않는다.
반대쪽 진입식은 진입이 가능하다.
4. 청산식이 1개라도 수행되지 않았으면, 진입식은 조건이 일치할때 계속 진입된다.
< 시스템식 입니다. 아래의 식을 위의 조건에 맞게 수정 부탁드립니다 >
if date != date[1] Then{
count1 = 0;
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
count6 = 0;
}
Value1 = ************
Value2 = ************
Value3 = ************
Value4 = ************
Value5 = ************
Value6 = ************
Value7 = ************
Value8 = ************
Value9 = ************
Value11 = ************
Value12 = ************
Value13 = ************
Value14 = ************
Value15 = ************
Value16 = ************
Value17 = ************
Value18 = ************
Value19 = ************
Value20 = ************
Value21 = ************
Value22 = ************
value23 = ************
value24 = ************
value25 = ************
value26 = ************
value27 = ************
value28 = ************
value29 = ************
value30 = ************
value99 = ************
# 진입식
if date != date[1] Then
var1 = 0;
if dayindex() == 0 then {
if C > Value8 and value31 > 0 and value32 > 0 and value33 > 0 then
buy("buy.",onclose,def,3) ;
if C < Value9 and value31 < 0 and value32 < 0 and value33 < 0 then
sell("sell.",onclose,def,3);
}
if (c > Value8) and value31 > 0 and value32 > 0 and value33 > 0 Then
buy("buy,",onclose,def,3) ;
if (c < Value9) and value31 < 0 and value32 < 0 and value33 < 0 Then
sell("sell,",onclose,def,3);
# 청산식
if MarketPosition() == 1 Then {
If (Value1 >= value27) and count4 < 1 Then{
ExitLong("Oⓤ",onclose,def,"",1,1);
var1 = 1;
count4 = 1; }
If (Value1 >= value23) and count5 < 1 Then{
ExitLong("Bⓤ",onclose,def,"",1,1);
var1 = 1;
count5 = 1; }
If (Value6 >= value25) and C > value99 and count6 < 1 Then{
ExitLong("Hⓤ",onclose,def,"",1,1);
var1 = 1;
count6 = 1; }
}
if MarketPosition() == 1 Then {
If (Value2 <= value28) and count1 < 1 Then{
ExitShort("OLⓓ",onclose,def,"",1,1);
var1 = 1;
count1 = 1; }
If (Value2 <= value24) and count2 < 1 Then{
ExitShort("Bⓓ",onclose,def,"",1,1);
var1 = 1;
count2 = 1; }
If (Value7 <= value26) and C < value99 and count3 < 1 Then{
ExitShort("Hⓓ",onclose,def,"",1,1);
var1 = 1;
count3 = 1; }
}
# 손절식
if CrossUp(c, value99) Then
ExitShort("cutⓓ");
if CrossDown(c, value99) Then
ExitLong("cutⓤ");
도움말씀에 깊이 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2008-09-04 17:33:12
안녕하세요
예스스탁입니다.
var1은 매수청산식 중 하나가 발생하면 1값을 가지게 됩니다.
매수진입식에 var1 < 1과 같은 표현을 추가하면 매수 이후
매수청산이 하나만 발생해도 이후 매수진입은 발생하지 않습니다.
var2는 매도청산식 중 하나가 발생하면 1값을 가지게 됩니다.
매도진입식에 var2 < 1과 같은 표현을 추가하면 매도 이후
매도청산이 하나만 발생해도 이후 매도진입은 발생하지 않습니다.
즐거운 하루되세요
if date != date[1] Then{
var1 = 0;
var2 = 0;
count1 = 0;
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
count6 = 0;
}
if dayindex() == 0 then {
if C > Value8 and value31 > 0 and value32 > 0 and value33 > 0 then
buy("buy.",onclose,def,3) ;
if C < Value9 and value31 < 0 and value32 < 0 and value33 < 0 then
sell("sell.",onclose,def,3);
}
if var1 < 1 Then{
if (c > Value8) and value31 > 0 and value32 > 0 and value33 > 0 Then
buy("buy,",onclose,def,3) ;
}
if var2 < 2 then{
if (c < Value9) and value31 < 0 and value32 < 0 and value33 < 0 Then
sell("sell,",onclose,def,3);
}
# 청산식
if MarketPosition() == 1 Then {
If (Value1 >= value27) and count4 < 1 Then{
ExitLong("Oⓤ",onclose,def,"",1,1);
var1 = 1;
count4 = 1; }
If (Value1 >= value23) and count5 < 1 Then{
ExitLong("Bⓤ",onclose,def,"",1,1);
var1 = 1;
count5 = 1; }
If (Value6 >= value25) and C > value99 and count6 < 1 Then{
ExitLong("Hⓤ",onclose,def,"",1,1);
var1 = 1;
count6 = 1; }
}
if MarketPosition() == -1 Then {
If (Value2 <= value28) and count1 < 1 Then{
ExitShort("OLⓓ",onclose,def,"",1,1);
var2 = 1;
count1 = 1; }
If (Value2 <= value24) and count2 < 1 Then{
ExitShort("Bⓓ",onclose,def,"",1,1);
var2 = 1;
count2 = 1; }
If (Value7 <= value26) and C < value99 and count3 < 1 Then{
ExitShort("Hⓓ",onclose,def,"",1,1);
var2 = 1;
count3 = 1; }
}
# 손절식
if MarketPosition() != 0 Then{
if CrossUp(c, value99) Then{
ExitShort("cutⓓ");
var2 = 1;
}
if CrossDown(c, value99) Then{
ExitLong("cutⓤ");
var1 = 1;
}
}
> 시소월 님이 쓴 글입니다.
> 제목 : 안녕하세요. 시스템식 수정 부탁드립니다.
> 안녕하세요.
도움말씀에 깊은 감사 드립니다.
[문의사항]
시스템을 만들었는데요. 신호 발생이 잘 정확하지 않아서 문의 드립니다.
죄송하지만 아래의 시스템식의 수정을 부탁드립니다.
고맙습니다.
<시스템식은 다음의 조건을 만족시키고자 합니다>
1. 진입식을 만족하면 3계약이 진입된다.
2. 방향이 맞다면 3개의 청산식에서 각각 한계약씩 청산된다.
동일한 청산식이 재반복 되지 않는다.
3. 1개의 청산식이라도 청산이 됐다면, 동일한 방향의 재진입은 되지 않는다.
반대쪽 진입식은 진입이 가능하다.
4. 청산식이 1개라도 수행되지 않았으면, 진입식은 조건이 일치할때 계속 진입된다.
< 시스템식 입니다. 아래의 식을 위의 조건에 맞게 수정 부탁드립니다 >
if date != date[1] Then{
count1 = 0;
count2 = 0;
count3 = 0;
count4 = 0;
count5 = 0;
count6 = 0;
}
Value1 = ************
Value2 = ************
Value3 = ************
Value4 = ************
Value5 = ************
Value6 = ************
Value7 = ************
Value8 = ************
Value9 = ************
Value11 = ************
Value12 = ************
Value13 = ************
Value14 = ************
Value15 = ************
Value16 = ************
Value17 = ************
Value18 = ************
Value19 = ************
Value20 = ************
Value21 = ************
Value22 = ************
value23 = ************
value24 = ************
value25 = ************
value26 = ************
value27 = ************
value28 = ************
value29 = ************
value30 = ************
value99 = ************
# 진입식
if date != date[1] Then
var1 = 0;
if dayindex() == 0 then {
if C > Value8 and value31 > 0 and value32 > 0 and value33 > 0 then
buy("buy.",onclose,def,3) ;
if C < Value9 and value31 < 0 and value32 < 0 and value33 < 0 then
sell("sell.",onclose,def,3);
}
if (c > Value8) and value31 > 0 and value32 > 0 and value33 > 0 Then
buy("buy,",onclose,def,3) ;
if (c < Value9) and value31 < 0 and value32 < 0 and value33 < 0 Then
sell("sell,",onclose,def,3);
# 청산식
if MarketPosition() == 1 Then {
If (Value1 >= value27) and count4 < 1 Then{
ExitLong("Oⓤ",onclose,def,"",1,1);
var1 = 1;
count4 = 1; }
If (Value1 >= value23) and count5 < 1 Then{
ExitLong("Bⓤ",onclose,def,"",1,1);
var1 = 1;
count5 = 1; }
If (Value6 >= value25) and C > value99 and count6 < 1 Then{
ExitLong("Hⓤ",onclose,def,"",1,1);
var1 = 1;
count6 = 1; }
}
if MarketPosition() == 1 Then {
If (Value2 <= value28) and count1 < 1 Then{
ExitShort("OLⓓ",onclose,def,"",1,1);
var1 = 1;
count1 = 1; }
If (Value2 <= value24) and count2 < 1 Then{
ExitShort("Bⓓ",onclose,def,"",1,1);
var1 = 1;
count2 = 1; }
If (Value7 <= value26) and C < value99 and count3 < 1 Then{
ExitShort("Hⓓ",onclose,def,"",1,1);
var1 = 1;
count3 = 1; }
}
# 손절식
if CrossUp(c, value99) Then
ExitShort("cutⓓ");
if CrossDown(c, value99) Then
ExitLong("cutⓤ");
도움말씀에 깊이 감사드립니다.
다음글
이전글