커뮤니티
ask
2024-09-02 11:49:03
227
글번호 108382
2017년 3월 30일 기준
틱이 아닌 1초봉(주차트 1초, 보조차트 1초)으로
수식을 적용한 결과
buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)은
1초봉(주차트 1초, 보조차트 1초)에 정상 진입함 _ 그림 1참조.
sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)은
1초봉(주차트 1초, 보조차트 1초)에 반응하지 않음_ 그림 2참조.
2초봉(주차트 1초, 보조차트 2초)에 정상 진입함_ 그림 3참조.
문의사항
sell전용 수식에서
1초봉에서 신호가 나오지 않는 점과
2초봉에서야 신호가 나오는 이유가 궁금합니다.
**********************************
안녕하세요
예스스탁입니다.
수식에 atstop이나 atlimit등의 타입은 기본차트에만 적용되는 내용입니다.
지정된 값과 기본차트의 실시간 현재가와만 비교를 합니다.
해당 내용을 참조데이터로 변경하면 봉안성시로만 가능합니다.
이용에 참고하시기 바랍니다.
1
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1);
C2 = data2(C);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
data2(C <= HighD(0)-PriceScale*B1 and C[1] > HighD(0)-PriceScale*B1) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EL = data2(L);
if data2(L) < EL Then
EL = data2(L);
if entry == 1 and MarketPosition == -1 and data2(C >= EL+PriceScale*X1) Then
ExitLong("sx1");
}
if TotalTrades > TotalTrades[1] Then
HH = data2(H);
if data2(H) > HH Then
HH = data2(H);
if MarketPosition == 0 and entry == 1 and data2(C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2) Then
buy("b2");
if MarketPosition== -1 and entry == 2 and data2(H >= C2[BarsSinceEntry]+PriceScale*13) Then
ExitLong("bx2");
2
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),LL(0,data1),EH(0,data1),C2(0,data1);
C2 = data2(c);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
data2(C >= lowD(0)+PriceScale*B1 and C[1] < lowD(0)+PriceScale*B1) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EH = data2(H);
if data2(H) > EH Then
EH = data2(H);
if entry == 1 and data2(C <= EH-PriceScale*X1) Then
exitlong("bx1");
}
if TotalTrades > TotalTrades[1] Then
LL = data2(L);
if data2(L) < LL Then
LL = data2(L);
if MarketPosition == 0 and entry == 1 and data2(C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2) Then
buy("b2");
if MarketPosition== 1 and entry == 2 and data2(L <= C2[BarsSinceEntry]-PriceScale*13) Then
exitlong("bx2");
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 주차트 /보조차트 수식
> 아래 수식을 주차트 / 보조차트 수식으로 변경바랍니다.
1. sell 전용 수식
2. buy 전용 수식
항상 고맙습니다.
1) sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0),entry(0),HH(0),EL(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
C <= DayHigh-PriceScale*B1 and C[1] > DayHigh-PriceScale*B1 Then
sell("s1");
if MarketPosition == -1 Then{
if CurrentContracts > CurrentContracts[1] Then
EL = L;
if L < EL Then
EL = L;
if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then
ExitShort("sx1");
}
if TotalTrades > TotalTrades[1] Then
HH = H;
if H > HH Then
HH = H;
if MarketPosition == 0 and entry == 1 and C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2 Then
sell("s2");
if MarketPosition== -1 and entry == 2 Then
ExitShort("sx3",AtStop,EntryPrice+PriceScale*13);
2) buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0),entry(0),LL(0),EH(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EH = H;
if H > EH Then
EH = H;
if entry == 1 and C <= EH-PriceScale*X1 Then
exitlong("bx1");
}
if TotalTrades > TotalTrades[1] Then
LL = L;
if L < LL Then
LL = L;
if MarketPosition == 0 and entry == 1 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then
buy("b2");
if MarketPosition== 1 and entry == 2 Then
exitlong("bx3",AtStop,EntryPrice-PriceScale*13);
- 1. buy_1초.JPG (0.17 MB)
- 2. sell_1초.JPG (0.17 MB)
- 3. sell_2초.JPG (0.17 MB)
답변 1
예스스탁 예스스탁 답변
2017-04-03 15:07:29
안녕하세요
예스스탁입니다.
차트의 주기가 낮아 거래가 없는 봉이 생기기 때문입니다.
data2의 하향이탈이나 상향돌파시점에 data1의 봉이 없으면 신호가 발생하지 못합니다.
나중에 data1의 봉이 발생하는 시점에는 이미 지나간후이기 때문입니다.
data2의 종가와 최고가도 data1기준으로 값을 저장해서 사용하게 수정했습니다.
1
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1),H2(0,data1),DH2(0,data1);
C2 = data2(C);
H2 = data2(H);
DH2 = data2(HighD(0));
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
C2 <= DH2-data2(PriceScale*B1) and C2[1] > DH2-data2(PriceScale*B1) Then{
buy("b1");
}
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EL = data2(L);
if data2(L) < EL Then
EL = data2(L);
if entry == 1 and MarketPosition == -1 and C2 >= EL+data2(PriceScale*X1) Then
ExitLong("sx1");
}
if TotalTrades > TotalTrades[1] Then
HH = data2(H);
if data2(H) > HH Then
HH = data2(H);
if MarketPosition == 0 and entry == 1 and C2 <= HH-PriceScale*B2 and C[1] > HH-data2(PriceScale*B2) Then
buy("b2");
if MarketPosition== -1 and entry == 2 and H2 >= C2[BarsSinceEntry]+data2(PriceScale*X2) Then
ExitLong("bx2");
2
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),LL(0,data1),EH(0,data1),C2(0,data1),L2(0,data1),DL2(0,data1);
C2 = data2(c);
L2 = data2(L);
DL2 = data2(LowD(0));
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
C2 >= DL2+data2(PriceScale*B1) and C2[1] < DL2+data2(PriceScale*B1) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EH = data2(H);
if data2(H) > EH Then
EH = data2(H);
if entry == 1 and C2 <= EH-data2(PriceScale*X1) Then
exitlong("bx1");
}
if TotalTrades > TotalTrades[1] Then
LL = data2(L);
if data2(L) < LL Then
LL = data2(L);
if MarketPosition == 0 and entry == 1 and C2 >= LL+data2(PriceScale*B2) and C2[1] < LL+data2(PriceScale*B2) Then
buy("b2");
if MarketPosition== 1 and entry == 2 and L2 <= C2[BarsSinceEntry]-data2(PriceScale*13) Then
exitlong("bx2");
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 주차트, 보조차트 관련 문의사항
> 2017년 3월 30일 기준
틱이 아닌 1초봉(주차트 1초, 보조차트 1초)으로
수식을 적용한 결과
buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)은
1초봉(주차트 1초, 보조차트 1초)에 정상 진입함 _ 그림 1참조.
sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)은
1초봉(주차트 1초, 보조차트 1초)에 반응하지 않음_ 그림 2참조.
2초봉(주차트 1초, 보조차트 2초)에 정상 진입함_ 그림 3참조.
문의사항
sell전용 수식에서
1초봉에서 신호가 나오지 않는 점과
2초봉에서야 신호가 나오는 이유가 궁금합니다.
**********************************
안녕하세요
예스스탁입니다.
수식에 atstop이나 atlimit등의 타입은 기본차트에만 적용되는 내용입니다.
지정된 값과 기본차트의 실시간 현재가와만 비교를 합니다.
해당 내용을 참조데이터로 변경하면 봉안성시로만 가능합니다.
이용에 참고하시기 바랍니다.
1
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1);
C2 = data2(C);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
data2(C <= HighD(0)-PriceScale*B1 and C[1] > HighD(0)-PriceScale*B1) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EL = data2(L);
if data2(L) < EL Then
EL = data2(L);
if entry == 1 and MarketPosition == -1 and data2(C >= EL+PriceScale*X1) Then
ExitLong("sx1");
}
if TotalTrades > TotalTrades[1] Then
HH = data2(H);
if data2(H) > HH Then
HH = data2(H);
if MarketPosition == 0 and entry == 1 and data2(C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2) Then
buy("b2");
if MarketPosition== -1 and entry == 2 and data2(H >= C2[BarsSinceEntry]+PriceScale*13) Then
ExitLong("bx2");
2
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0,data1),entry(0,data1),LL(0,data1),EH(0,data1),C2(0,data1);
C2 = data2(c);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
data2(C >= lowD(0)+PriceScale*B1 and C[1] < lowD(0)+PriceScale*B1) Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EH = data2(H);
if data2(H) > EH Then
EH = data2(H);
if entry == 1 and data2(C <= EH-PriceScale*X1) Then
exitlong("bx1");
}
if TotalTrades > TotalTrades[1] Then
LL = data2(L);
if data2(L) < LL Then
LL = data2(L);
if MarketPosition == 0 and entry == 1 and data2(C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2) Then
buy("b2");
if MarketPosition== 1 and entry == 2 and data2(L <= C2[BarsSinceEntry]-PriceScale*13) Then
exitlong("bx2");
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 주차트 /보조차트 수식
> 아래 수식을 주차트 / 보조차트 수식으로 변경바랍니다.
1. sell 전용 수식
2. buy 전용 수식
항상 고맙습니다.
1) sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0),entry(0),HH(0),EL(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and
C <= DayHigh-PriceScale*B1 and C[1] > DayHigh-PriceScale*B1 Then
sell("s1");
if MarketPosition == -1 Then{
if CurrentContracts > CurrentContracts[1] Then
EL = L;
if L < EL Then
EL = L;
if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then
ExitShort("sx1");
}
if TotalTrades > TotalTrades[1] Then
HH = H;
if H > HH Then
HH = H;
if MarketPosition == 0 and entry == 1 and C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2 Then
sell("s2");
if MarketPosition== -1 and entry == 2 Then
ExitShort("sx3",AtStop,EntryPrice+PriceScale*13);
2) buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)
input : b1(11),b2(13),X1(13),X2(13);
var : T1(0),entry(0),LL(0),EH(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then
buy("b1");
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then
EH = H;
if H > EH Then
EH = H;
if entry == 1 and C <= EH-PriceScale*X1 Then
exitlong("bx1");
}
if TotalTrades > TotalTrades[1] Then
LL = L;
if L < LL Then
LL = L;
if MarketPosition == 0 and entry == 1 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then
buy("b2");
if MarketPosition== 1 and entry == 2 Then
exitlong("bx3",AtStop,EntryPrice-PriceScale*13);