답변완료
도움을 요청합니다
안녕하세요
아래 지표수식을 거래량에서 거래금액으로 바꾸고자합니다.
도와주시면 대단히 감사하겠습니다.
감사합니다.
==========================================
input : R1(0),G1(0),B1(0);
input : R2(0),G2(0),B2(0);
var : hh(0),ll(0);
if Bdate != Bdate[1] Then
{
var1 = 0;
Var2 = Upvol-DownVol;
}
var1 = var1 + (Upvol-DownVol);
if CurrentDate == sDate Then
Plot1(var1,"당일실매수거래량",iff(var1 > 0,RGB(0,0,0),RGB(0,0,0)));
if CurrentDate == sDate Then
plot2(Var2,"첫봉종가");
if Bdate != Bdate[1] Then
{
hh = var1;
ll = var1;
}
Else
{
if var1 > hh Then
hh = var1;
if var1 < ll Then
ll = var1;
}
if CurrentDate == sDate Then
plot11(Var2+75,"첫봉종가+50");
if Bdate != Bdate[1] Then
{
hh = var1;
ll = var1;
}
Else
{
if var1 > hh Then
hh = var1;
if var1 < ll Then
ll = var1;
}
if CurrentDate == sDate Then
plot12(Var2-75,"첫봉종가-50");
if Bdate != Bdate[1] Then
{
hh = var1;
ll = var1;
}
Else
{
if var1 > hh Then
hh = var1;
if var1 < ll Then
ll = var1;
}
if CurrentDate == sDate Then
{
Plot3(hh,"최고");
plot4(ll,"최저");
plot5(ll+(hh-ll)*0.25,"25.0%");
plot6(ll+(hh-ll)*0.382,"38.2%");
plot7(ll+(hh-ll)*0.500,"50.0%");
plot8(ll+(hh-ll)*0.500+0.02,"50+0.02%");
plot9(ll+(hh-ll)*0.618,"61.8%");
plot10(ll+(hh-ll)*0.75,"75.0%");
plot13(ll+(hh-ll)*0.125,"12.5%");
plot14(ll+(hh-ll)*0.875,"87.5%");
plot15(ll+(hh-ll)*0.500+60,"50+60%");
plot16(ll+(hh-ll)*0.500-60,"50-60%");
}
if CurrentDate == sDate Then
{
PlotBaseLine1(0);
PlotBaseLine2(100);
PlotBaseLine3(-100);
}
2025-03-18
293
글번호 189282
지표
답변완료
수식요청
수식요청에 주신 답들에 심심한 감사를 드립니다.
오늘은 아래의 두 수식변환이 필요하여 올립니다.
1.20캔들
이동=ma(c,60);
최고1=highest(h,120);
최고2=highest(h,20);
최고2(30)==최고1 &&
crossup(c,이동) &&
v(1)*2.5<=v
2.대박이
A=BBandsUp(17,2);
B=BBandsUp(40,2);
M=EnvelopeUp(20,2);
(c>ma(h,5) and Crossup(A,M)) or
(c>ma(h,5) and B>M and Crossup(A,B))
or (A>B and B>M and Crossup(C,A))
or (Crossup(C,A)) and Crossup(C,B) and Crossup(C,M))
2025-03-18
313
글번호 189280
종목검색
답변완료
문의
1) 청산수식 부탁드립니다.
리버스 거래이고
진입은 2번 입니다. ( 매수진입명 "a", 매도진입명 "b" )
매수신호가 먼저 나오면 매수거래 매도거래 하고 거래 종료
매도신호가 먼저 나오면 매도거래 매수거래 하고 거래 종료
매수신호가 먼저 나왔을 때와 매도신호가 먼저 나왔을 때를
구분하여 손절을 적용하고 싶습니다.
input : 손절1(1.25),손절2(2.50);
input : 손절3(2.50),손절4(1.25);
매수진입이 먼저 발생했을 때
진입명이 "a"
SetStopLoss(손절1,PointStop);
진입명이 "b"
SetStopLoss(손절2,PointStop);
매도진입이 먼저 발생했을 때
진입명이 "a"
SetStopLoss(손절3,PointStop);
진입명이 "b"
SetStopLoss(손절4,PointStop);
항상 고맙습니다.
2025-03-17
258
글번호 189268
시스템
답변완료
원 글(91906) 시스템 (수정) 문의 드립니다.
첫째, S&P500선물로 매매하려면,
S&P500선물을 기본차트로
나스닥100선물을 참조데이터로 추가하고 나에차식을 반대로 하여 적용하면 될까요?
원: 나에차 = R1-R2;
수정: 나에차 = R2-R1;
둘째, 당일손실틱수를 수정(사례에선 100을 2000으로)하려면 당일손실틱수 다음의 괄호 안 숫자를 바꿔주면 될까요? 만약 당일손실틱수가 넘어 청산됐다면 더 이상 매매가 없는 게 맞을까요?
이상을 반영하여 시스템 수식을 다음과 같이 수정하면 될까요?
input : 기준(1),일중최대진입횟수(2),당일손실틱수(2000);
var : ST(0,Data1),ET(0,Data1);
var : C1(0,Data1),C2(0,Data2);
var : R1(0,Data1),R2(0,Data2),나에차(0,Data1);
var : Tcond(False),count(0,Data1);
var : TT(0,Data1),N1(0,Data1),dayPL(0,Data1),Xcond(False),당일손실(0,Data1);
TT = TotalTrades;
if ET > 0 and Data1(sDate != sDate[1]) Then
SetStopEndofday(ET);
if data1(Bdate != Bdate[1]) Then
{
SetStopEndofday(0);
if sTime >= 80000 Then
{
ST = 233000;
ET = 060000;
}
Else
{
ST = 223000;
ET = 050000;
}
Xcond = False;
N1 = TT[1];
C1 = Data1(c[1]);
}
daypl = NetProfit-N1;
당일손실 = data1(PriceScale)*당일손실틱수;
if TotalTrades > TotalTrades[1] then
{
if daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
if Data2(Bdate != Bdate[1]) Then
C2 = Data2(c[1]);
R1 = Data1((C-C1)/C1*100);
R2 = Data2((C-C2)/C2*100);
나에차 = R2-R1;
if data1(ET > 0 and
((sdate != sdate[1] and stime >= ET) or
(sdate == sdate[1] and stime >= ET and stime[1] < ET))) Then
{
Tcond = False;
}
if data1(ST > 0 and
((sdate != sdate[1] and stime >= ST) or
(sdate == sdate[1] and stime >= ST and stime[1] < ST))) Then
{
Tcond = true;
count = 0;
if MarketPosition == 0 and 나에차 >= 기준 then
{
count = count+1;
Buy();
}
if MarketPosition == 0 and 나에차 <= 기준 Then
{
count = count+1;
Sell();
}
}
Else
{
if Tcond == true and Xcond == False Then
{
if MarketPosition == 1 and 나에차 < 0 and 나에차[1] < 0 and count < 일중최대진입횟수 Then
{
count = count+1;
Sell("bs");
}
if MarketPosition == -1 and 나에차 > 0 and 나에차[1] > 0 and count < 일중최대진입횟수 Then
{
count = count+1;
Buy("sb");
}
if MarketPosition == 1 and 나에차 < 0 and 나에차[1] < 0 and count == 일중최대진입횟수 Then
{
ExitLong("bx");
}
if MarketPosition == -1 and 나에차 > 0 and 나에차[1] > 0 and count == 일중최대진입횟수 Then
{
ExitShort("sx");
}
}
}
if MarketPosition == 1 then
{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
다시 한번 감사드립니다.
꾸벅^^
2025-03-17
746
글번호 189267
시스템