답변완료
수식부탁드립니다.
안녕하세요. 거래량지표를 ,( 일봉 캔들에서, 위아래꼬리를 배제하고)
변형한 키움 HTS 수식을 에스랭귀지로 부타드립니다.
Up=V*(C-L)/(H-L);
Dn=V*(H-C)/(H-L);
VV=if(C>0,Up, if(C<),Dn,0));
A=sum(VV,Preiod)/sum(V,Period)*100;
B=eavg(A,signal);
Crossup(A, B)
Period (20) signal(5)
A를 지수평균한 값을 돌파하는 검색식을 부탁드립니다, 감사합니다
2022-08-30
1470
글번호 161842
종목검색
답변완료
수식 작성 부탁드립니다
1. Period1(20) 지표속성에서 변수를 (20이평을 5, 60 이평으로) 변경 하는것과 같이data2, data3를 data3, data4로 변경 선택할수 있도록 수식 부탁 드립니다.
Input : Period1(20);
var1 = ma(C,Period1);
var2 = data2(ma(C,Period1));
var3 = data3(ma(C,Period1));
var4 = data4(ma(C,Period1));
Plot1(var1, "MA");
Plot2(var2, "MA2");
Plot3(var1, "MA3");
Plot4(var2, "MA4");
2. 남은시간 막대그래프 시간이 맞지 않습니다 수정 부탁 드립니다
#봉 시작 시각(stime)을 초로 변환
var1 = sTime;
Var2 = int(var1/10000); //시간 추출
Var3 = var1 - int(var1/10000)*10000; //분초 추출
Var4 = int(Var3/100);//분 추출
Var5 = Var3 - int(Var3/100)*100; //초 추출
Var6 = Var2*3600; //시간을 초로
Var7 = Var4*60; //분을 초로
Var8 = Var6+Var7+Var5; //초로 변환 된 값
#봉 끝 시각(time)을 초로 변환
var11 = Time;
Var12 = int(var11/10000); //시간 추출
Var13 = var11 - int(var11/10000)*10000; //분초 추출
Var14 = int(Var13/100);//분 추출
Var15 = Var13 - int(Var13/100)*100; //초 추출
Var16 = Var12*3600; //시간을 초로
Var17 = Var14*60; //분을 초로
Var18 = Var16+Var17+Var15; //초로 변환 된 값
# 차트의 주기를 초로 변환(봉 완성시각 계산을 위한 것)
Var21 = BarInterval * 60;
# 분봉 일간단위 마지막봉(9시 전봉)의 봉완성시간 조정
if Var8 < 32400 and Var8 + Var21 > 32400 Then //봉시작 시각은 9시보다 작고 봉 끝시간은 9시보다 크면
Var21 = 32400 - Var8;
# 밤12시에 걸쳐 있는 봉의 경과 시간 계산 조정
if Var8 < 32400 and Var8 + Var21 >= 32400 Then {
if time >= sTime Then
Var31 = (Var8 + Var21) - var18;
Else
Var31 = (Var8 + Var21) - (32400+var18);
}
Else
Var31 = (Var8 + Var21) - var18;
# 봉 시작 후 경과된 초를 시분초로 변환
Var41 = int(Var31/3600); //시간 추출
Var42 = Mod(Var31, 3600); //분초 추출
Var43 = int(Var42/60); //분추출
Var44 = Mod(Var42, 60); //초 추출
Var45 = Var41*10000;//시간 자리수 조정
Var46 = Var43*100; //분 자리수 조정
Var47 = Var45+Var46+Var44; //시+분+초
plot1(Var31); //남은 시간을 초로 표시
2022-08-30
1435
글번호 161839
지표
답변완료
수식 부탁드립니다
먼저 감사드립니다
해외선물 페어트레이딩으로 두 데이터 차를 구하고 그값의 이동평균값으로
매수 매도를 하려 합니다
아래수식과 같이 해보았는데 잘안되서요
수식 수정 부탁드립니다.
Input :익절(0),손절(0);
Inputs: FastLen(5), SlowLen(40);
Variables: FastAvg(0), SlowAvg(0);
var : diff(0,Data1);
diff = abs(Data1(c)-Data2(c));
FastAvg = MA(diff(c), FastLen);
SlowAvg = MA(diff(c), SlowLen);
if CrossUp(FastAvg, SlowAvg) Then
Buy();
if CrossDown(FastAvg, SlowAvg) Then
Sell();
SetStopProfittarget(익절,PointStop);
SetStopLoss(손절,PointStop);
2022-08-30
1656
글번호 161838
시스템
답변완료
선굵기 및 글자크기
아래 수식에서 선 색상과 글자 크기(색상)도 변경 가능하게 수정 부탁드립니다^^
input : N(150),소숫점자리표시(2);
if Bdate != Bdate[1] Then
{
TL_Delete(var4);
Text_Delete(Var5);
var1 = sdate[1];
var2 = stime[1];
}
if abs(C-O) >= PriceScale*N Then
{
var3 = (C+O)/2;
TL_Delete(var4);
var4 = TL_New(var1,var2,var3,sDate,Stime,var3);
TL_SetExtRight(var4,true);
Text_Delete(Var5);
var5 = Text_New(NextBarSdate,NextBarStime,var3," "+NumToStr(Var3,소숫점자리표시));
Text_SetStyle(var5,0,2);
}
Text_SetLocation(Var5,NextBarSdate,NextBarStime,Var3);
2022-08-30
1987
글번호 161837
지표
답변완료
수식 문의
input: CC(Numeric), n(Numeric);
CC(C 나 H, ...)에 대해서
현재봉의 과거 n(10)봉 중에서 큰 순위를 리턴해 주는 함수 mrank(CC,n)을 부탁드립니다.
예컨대,
현재봉의 H가 과거 10봉 중에서 최고치를 갱신해서 1번째로 크다면 mrank(H,10) == 1이고,
현재봉의 종가가 과거 10봉 중에서 3번째로 크다면 mrank(C,10) == 3 이 되어야 합니다.
감사합니다.
2022-08-30
1461
글번호 161835
사용자 함수
답변완료
파라볼릭 폭
Input : AF(0.02), AFMAX(0.2);
Var:Direction(0),SAR_Value(Close),AF_Value(.02),HighValue(High),LowValue(Low),EP(0),CSarv(0);
if Bdate != Bdate[1] Then
{
Direction = 0;
SAR_Value = C;
AF_Value = 0.02;
HighValue = H;
LowValue = L;
EP = 0;
}
if EP != 0 Then
{
if Direction == 1 then
{
EP = HighValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close < SAR_Value then
{
Direction = -1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
LowValue = low;
}
}
else
{
EP = LowValue;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + Af;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
if Close > SAR_Value then
{
Direction = 1;
SAR_Value = EP;
AF_Value = 0;
EP = 0;
HighValue = High;
}
}
CSarv = SAR_Value;
}
else
{
if SAR_Value != 0 && EP == 0 then
{
if Direction == 1 then
{
EP = HighValue;
AF_Value = AF;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if High > HighValue then
{
HighValue = High;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
else
{
EP = LowValue;
AF_Value = Af;
SAR_Value = SAR_Value + AF_Value * (EP - SAR_Value);
if Low < LowValue then
{
LowValue = Low;
AF_Value = AF_Value + AF;
if AF_Value >= AFMAX then AF_Value = AFMAX;
}
}
CSarv = SAR_Value;
}
else
{
if Direction == 0 then
{
if Close > Close[1] then Direction = 1;
else
if Close < Close[1] then Direction = -1;
}
else
{
if Direction == 1 then
{
if Close < Close[1] then
{
Direction = -1;
SAR_Value = HighValue;
CSarv = SAR_Value;
}
}
if Direction == -1 then
{
if Close > Close[1] then
{
Direction = 1;
SAR_Value = LowValue;
CSarv = SAR_Value;
}
}
}
LowValue = min(Low, LowValue);
HighValue = max(High, HighValue);
}
}
var : hh(0),LL(0),t(0);
if Bdate != Bdate[1] Then
Var10 = 0;
if CrossUp(C,CSarv) Then
{
t = 1;
hh = h;
var1 = LL+0.5;
var2 = LL+1.0;
Var3 = LL+1.5;
Var4 = LL+2;
Var5 = LL+2.5;
Var6 = LL+3;
Var7 = LL+3.5;
Var8 = LL+4;
Var9 = LL+4.5;
if Var10 == 0 or (Var10 > 0 and LL < Var10) Then
var10 = LL;
}
if CrossDown(C,CSarv) Then
{
t = -1;
LL = l;
var1 = hh-0.5;
var2 = hh-1.0;
Var3 = hh-1.5;
Var4 = hh-2.0;
Var5 = hh-2.5;
Var6 = hh-3.0;
Var7 = hh-3.5;
Var8 = hh-4.0;
Var9 = hh-4.5;
}
if t == 1 Then
{
if hh > 0 and h > hh Then
hh = h;
}
if t == -1 Then
{
if LL > 0 and l < LL Then
LL = l;
}
if var1 > 0 Then
{
plot1(var1,"HL1");
plot2(var2,"HL2");
plot3(var3,"HL3");
plot4(var4,"HL4");
Plot5(Var5,"HL5");
Plot6(Var6,"HL6");
Plot7(Var7,"HL7");
Plot8(Var8,"HL8");
Plot9(Var9,"HL9");
}
if Var10 > 0 Then
Plot10(Var10+0.1,"l+0.1");
Else
NoPlot(10);
if Var10 > 0 Then
Plot11(Var10-0.25,"l-0.25");
Else
NoPlot(11);
+0.1~-0.25 채우기 부분이 시초에 갭 보정을 하면 정상인데, 갭 보정을 안하면 전일 하락파라 영향을 받아 차이가 납니다.
전일은 출력이 안되어도 상관 없습니다. 수정 부탁드립니다.
2022-08-30
2275
글번호 161834
지표