답변완료
문의드립니다.
수고 많으십니다.
1. 전략실행차트와 시뮬레이션차트와의 신호발생 차이에 대한 문의입니다.
시뮬레이션 차트의 수익시뮬 결과는 단순이평등 단순한 지표로 만든 시스템 신호가 아니라면 기간이 길면 왜곡된 손익 결과를 보여줄수도 있다고 예전에 전화로 답변 받았습니다.
그런데 전략실행차트와 시뮬레이션차트를 같은 기간을 잡고 비교해봐도 전략실행차트에는 나오는 신호가 시뮬레이션차트에서는 나오지 않는 경우도 간혹 있습니다. (5분봉이며 신호에 들어간 지표는 macd와 s-roc 딱 2개 사용했습니다)
이경우 실전에서는 어떤 쪽의 결과가 더 맞는지 궁금합니다.
그리고 전략실행차트의 기간만큼 시뮬레이션차트 기간을 동일하게 해도 한쪽 신호가 누락되는 경우는 신호개발에 다소 어려움이 있는데 향후 해결이 가능할지도 궁금합니다.
2. 트레일링스탑과 강제청산 설정에 대한 문의입니다.
"시스템 성능 보고서"의 강제청산에서 수익대비에 체크한 손익 결과값과 아래의 수식을 시스템신호에 삽입하여 동일하게 돌렸을 때 전략실행차트 성능보고서의 손익 결과값이 서로 다르게 나옵니다.
강제청산 설정으로 했을 때가 좀 더 좋게 나와서 수식을 삽입해 쓰지 못하고 있습니다. (수식으로 쓰는 것이 정확한 결과인건 맞습니다) 강제청산 설정(수익대비)과 같은 결과를 낼 수 있는 수식을 삽입해서 쓸 수 있는 방법이 있다면 알고 싶습니다.
if MarketPosition == 1 Then{
if Highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*매도_최대수익 Then
ExitLong("매수청",AtStop,Highest(H,BarsSinceEntry)-PriceScale*매수_수익보전,"",1,1);
}
if MarketPosition == -1 Then{
if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*매도_최대수익 Then
ExitShort("매도청",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*매도_수익보전,"",1,1);
}
3. 전략실행차트에서 시간제한 수식을 사용했을 경우와 그렇지 않을 경우를 비교해보면 시간제한 수식을 사용하면 가끔씩 신호가 누락되는 현상을 발견했습니다.
해외선물 개장시부터 종료시까지이며 누락신호는 중간쯤에서도 누락됩니다. 시간제한 수식을 삭제하면 신호가 다 나옵니다. 시간제한 수식을 쓰지 않으면 원치않게 오버나잇이 될 수 있고 쓰자니 누락되는 경우가 가끔 발생합니다.
시간제한 수식을 쓰면 이렇게 누락되는 경우가 발생할 수 있는건지, 발생한다면 회피하는 방법이 있는지 궁금합니다.
4. 해외선물에서 계약수를 많이 진입하면 호가창이 얇아 불리합니다.
이경우 2계약을 처음 진입하고 2~3초뒤 2개를 추가로 진입할 수 있는 방법이나
진입후 5틱 추가 상승하면 2개를 추가로 진입하는 방법이 있다면 수식을 알고 싶습니다.
답변 미리 감사드립니다.
2022-08-08
1072
글번호 161348
시스템
답변완료
문의드립니다.
안녕하세요
전에 그리드 시스템에 대해서 문의 드렸엇는데
아래 전략은 1개씩 청산이 아니라 모두 청산되는데
혹시 이 부분 수정 가능할까요~?
안녕하세요
예스스탁입니다.
input : a(325),N(10);
if MarketPosition == 0 Then
{
if CrossUp(C,A+PriceScale*N) Then
{
Buy("b1");
var1 = c;
}
if CrossDown(C,A-PriceScale*N) Then
{
Sell("s1");
var1 = c;
}
}
Else
{
if C >= var1+PriceScale*N Then
{
var1 = C;
Buy("b");
}
if C <= var1-PriceScale*N Then
{
var1 = C;
Sell("s");
}
}
즐거운 하루되세요
> JTH 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요
피라미딩 시스템을 고민중인데요.
기준가격(a)에서 특정 간격(N틱)으로 위,아래로 1개씩 줄을 긋고
처음에는 물량이 없는 상태로 시작하여
상단에 있는 줄을 상향 돌파하면 1개를 매수 진입하고,
매수 진입한 가격을 다시 기준가격으로 설정하고, 다시 위아래로 1개씩 줄을 긋습니다.
하단에 있는 줄을 하향 돌파하면 1개를 매도 진입하고,
매도 진입한 가격을 다시 기준가격으로 설정하고, 다시 위아래로 1개씩 줄을 긋습니다.
위 로직을 무한 반복하는 시스템 부탁드리겠습니다.
2022-08-06
1138
글번호 161346
시스템
답변완료
macd signai
Input : shortPeriod(24), longPeriod(52), Period(9);
Var : MACDv(0), MACDsig(0),macdosc(0), sigcolor(0),t(0);
MACDv = MACD(shortPeriod, longPeriod);
MACDsig = ma(MACDv,Period);
if macdsig > macdsig [1] Then
T = 1;
if macdsig <macdsig [1] Then
T = -1;
Plot1(macdsig ,"macdsig ",IFF(T == 1,Red,Blue));
Plot2(0.05);
plot3(-0.05);
PlotBaseLine1(0, "기준선1");
macd signal선이 -0.05 아래에서 양선으로 전환시만 매수.
음선으로 전환되면 형식적인 매수청산,-0.05는 조정가능.
두번째로 현재 지표식에 signal이 -0.05 아래에서 양선전환시만 빨간 세로선 부탁합니다.
2022-08-06
1224
글번호 161345
시스템
답변완료
수정부탁드립니다
선발생시 상승방향적색 과 하락방향청색 수치표시와 도형표시부탁드립니다
Input:chngRate(1),d굵기(1),중간선d굵기(1);
input : Per1(0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100),Per8(123.6),Per9(161.8);
Var : jk(0),zlastHiVal(0),zlastLoVal(0),turnPntBit(""),zTL1(0),zTL2(0);
var : zTL11(0),zTL12(0),zTL13(0),zTL14(0),zTL15(0),zTL16(0),zTL17(0),zTL18(0),zTL19(0);
var : Tx11(0),Tx12(0),Tx13(0),Tx14(0),Tx15(0),Tx16(0),Tx17(0),Tx18(0),Tx19(0);
Array:valArr[10](0),barArr[10](0),turnPntArr[10]("");
For jk = 0 To 9
{
barArr[jk] = barArr[jk] + 1;
}
Condition91 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and zlastHiVal < H;
Condition92 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (zlastLoVal > L || zlastLoVal == 0);
If Condition91 Then { zlastHiVal = H; zlastLoVal = 0; }
If Condition92 Then { zlastLoVal = L; zlastHiVal = 0; }
turnPntBit = "";
If Condition91 and Condition92 Then
{
If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then
turnPntBit = "HiLo";
Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi";
Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo";
}
Else If Condition91 Then turnPntBit = "Hi";
Else If Condition92 Then turnPntBit = "Lo";
If turnPntBit <> "" Then
{
If turnPntBit == "HiLo" Then
{
valArr[1] = IFF(turnPntArr[1] == "Hi",H,L);
barArr[1] = 0;
TL_SetEnd(zTL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
If turnPntArr[1] == "Hi" Then
turnPntBit = "Lo";
Else
turnPntBit = "Hi";
}
If turnPntBit <> turnPntArr[1] Then
{
for jk = 8 downto 1
{
valArr[jk+1] = valArr[jk];
barArr[jk+1] = barArr[jk];
turnPntArr[jk+1] = turnPntArr[jk];
}
}
var: Text글11(0);
If turnPntBit <> turnPntArr[1] or
(turnPntBit == turnPntArr[1] and
((turnPntBit == "Hi" and valArr[1] < H) or
(turnPntBit == "Lo" and valArr[1] > L))) Then
{
valArr[1] = IFF(turnPntBit == "Hi",H,L);
barArr[1] = 0;
turnPntArr[1] = turnPntBit;
If turnPntArr[1][1] <> turnPntArr[1][0] Then
{
zTL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
Text글11 = text_New(sdate,stime,Value12,"매수 ▲▲▲"+NumToSTr(Value12,2));
value61 = valArr[2]-valArr[3];
}
}
}
value61 = valArr[2]-valArr[3];
TL_SetEnd(zTL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]);
TL_SetSize(zTL1,d굵기);
TL_SetColor(zTL1,black);
2022-08-05
1672
글번호 161338
지표