답변완료
도움 요청합니다.
안녕하세요
아래 지표를 Data2에서 구현할 수 있도록 수정을 부탁드립니다.
늘 도와주심에 감사드립니다.
=========================
input : N(2),Pre(0);
var : HH(0),LL(0),cnt(0);
var : sum(0),mav(0);
HH = 0;
LL = 0;
sum = DayOpen(Pre+0);
For cnt = Pre+0 to Pre+N-1
{
if HH == 0 or (HH > 0 and DayHigh(cnt) > HH) Then
HH = DayHigh(cnt);
if LL == 0 or (LL > 0 and DayLow(cnt) < LL) Then
LL = DayLow(cnt);
if cnt > pre+0 Then
sum = sum + DayClose(cnt);
}
mav = sum/N;
Plot1(HH, "TOP");
plot2(LL, "BOT");
plot3((HH+LL)/2, "중심선");
plot4((HH+LL)/2+0.02, "중심선+0.02");
plot5((HH+LL)/2-0.02, "중심선-0.02");
plot6(((HH+LL)/2 + (DayHigh(0)+DayLow(0))/2)/2 , "둘둘둘");
plot7(((HH+LL)/2 + (DayHigh(0)+DayLow(0))/2)/2+0.05 , "둘둘둘+0.05");
plot8(((HH+LL)/2 + (DayHigh(0)+DayLow(0))/2)/2-0.05 , "둘둘둘+0.05");
plot9((DayHigh(0)+DayLow(0))/2,"당일중심");
plot11(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.125,"12.5%");
plot12(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.25,"25.0%");
plot13(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.382,"38.2%");
plot14(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.500,"50.0%");
plot15(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.618,"61.8%");
plot16(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.75,"75.0%");
plot17(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.875,"87.5%");
plot18(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.50+0.015,"+0.03%");
plot19(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.50-0.015,"-0.03%");
plot20(mav,"N일이평시초가값");
plot21(DayOpen,"시가");
plot26(DayOpen+0.025,"시가+0.025");
plot27(DayOpen-0.025,"시가-0.025");
plot22(C,"종가값");
plot23(DayHigh,"고가값");
plot24(DayLow,"저가값");
plot25(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.500,"당일50%");
plot28(DayHigh-0.03,"고가값-0.03");
plot29(DayLow+0.03,"저가값+0.03");
plot30(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.253,"25.30%");
plot31(DayHigh(0)-(DayHigh(0)-DayLow(0))*0.753,"75.50%");
2023-12-06
1348
글번호 174612
지표
답변완료
문의 드립니다
input: length(21),hh(8),mult(2),k(2);
var: src(0),n(0),tx(0),sume(0),i(0),j(0),y2(0),sum(0),sumw(0),w(0),mae(0);
src = close;
n = BarIndex;
sum = 0;
For i = 0 to length-1
{
sum = 0;
sumw =0;
For j = 0 to length-1
{
w = exp(-(pow(i-j,2)/(hh*hh*2)));
sum = sum+src[j]*w;
sumw = sumw+w;
}
y2 = sum/sumw;
sume = sume+abs(src[i]-y2);
}
mae = sume/length*mult;
if CrossDown(src,y2+mae) Then
{
tx = text_new(sDate,sTime,h,"▼");
Text_SetStyle(tx,2,1);
Text_Setcolor(tx,red);
}
if Crossup(src,y2-mae) Then
{
tx = text_new(sDate,sTime,l,"▲");
Text_SetStyle(tx,2,0);
Text_Setcolor(tx,green);
}
Plot1(y2,"상한",Red);
plot2(y2+mae,"중심",Black);
plot3(y2-mae,"하한",blue);
위 수식에서 plot2와 plot3 가 나오지 않습니다
mae를 구하는 수식에서 문제가 있는 것 같은데 좀 확인해 주시길 바랍니다
2023-12-06
769
글번호 174607
지표
답변완료
손절식 수정 문의 드립니다.
항상 많은 도움 감사드립니다. 아래와 같이 시스템 식을 작성하였는데 생각대로 작동하지 않는 부분이 있어서 수정 문의 드립니다.
Q&A 관리자 분의 도움으로 아래와 같이 작성을 하였는데요..
MarketPosition == -1 매도 포지션 일때는 stoploss가 제대로 작동하는데
MarketPosition == 1 매수 포지션 일때 stoploss 가 작동을 하지 않습니다.
어떤 부분을 수정해야 하나요? 혹은 다른 시스템식으로 작성을 하여야 하나요?
매도,매수 모두 분할청산 및 청산은 문제없이 작동합니다.
///////////////////////////////////////////////////////////////
if MarketPosition == 1 Then
{
if IsEntryName("A매수") == true Then
{
ExitLong("Sp1",AtLimit,EntryPrice+20,"",1,1);
SetStopLoss(20,PointStop);
if A-1 Then
ExitLong("A매수정리",atmarket,def,"A매수");
}
if IsEntryName("b매수") == true Then
{
ExitLong("Sp2",AtLimit,EntryPrice+10,"",1,1);
SetStopLoss(10,PointStop);
if A-1 Then
ExitLong("B매수정리",atmarket,def,"B매수");
}
}
Else
SetStopLoss(0);
////////////////////////////////////////////////////////////////////////
if MarketPosition == -1 Then
{
if IsEntryName("A매도") == true Then
{
Exitshort("Bp1",AtLimit,EntryPrice-20,"",1,1);
SetStopLoss(20,PointStop);
if A-1 Then
Exitshort("A매도정리",atmarket,def,"A매도");
}
if IsEntryName("b매도") == true Then
{
Exitshort("Bp2",AtLimit,EntryPrice-10,"",1,1);
SetStopLoss(10,PointStop);
if B-1 Then
ExitLong("B매도정리",atmarket,def,"B매도");
}
}
Else
SetStopLoss(0);
2023-12-05
648
글번호 174602
시스템