답변완료
문의드립니다~
var : shortPeriod(12), longPeriod(26),sigPeriod(9);
Var : macdv(0),macds(0);
macdv = MACD(shortPeriod, longPeriod);
macds = ema(macdv,sigPeriod);
If CrossUP(macdv, macds)
Then
{
if MarketPosition == 0 then
{Buy("매수");}
if MarketPosition == -1 then
{Buy("리버스매수");}
}
If CrossDown(macdv, macds)
Then
{
if MarketPosition == 0 then{
Sell("매도");}
if MarketPosition == 1 then{
Sell("리버스매도");}
}
반자동매매를 고려한 식을 작성하고 싶은데요~
위 식에서 매수진입후에 리버스매도가 잡히면은
시장가로 2계약매도가 들어가는 식으로 적용되는데요.
매수를 하고나서 수동으로 청산했을때에
리버스매도신호가 떴을때 1계약만 매도로 진입하는 방법은 없을까요?
1.리버스매도를 기존에 매수진입한 물량을 일괄청산 또는 청산으로 포지션정리하고
다시 매도1계약진입하는 형태로 구현이 가능한가요?
2.위 조건이 안된다면은 현재 잔고상태를 실시간으로 파악해서 리버스매도신호가 매도신호로(1계약만매도로) 뜨게끔 설정은 가능한 건지요?
2025-04-11
309
글번호 190058
시스템
답변완료
문의드립니다.
함수를 공부중에 있어 기초적이지만 문의드립니다.
예를 들어 아래와 같은 시스템식이 있을 때
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
}
함수를 써서 줄이고 싶습니다.
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
또는
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
}
을 함수를 써서 표현할 수 있을까요?
함수로 수식을 간결하게 할려는 목적도 있고
신호뿐만 아니라 신호안의 수식을 지인과 공유하더라도
특정 로직이나 수치는 감출려는 목적도 있습니다.
방법설명 그럼 부탁드립니다~
2025-04-11
293
글번호 190041
사용자 함수
답변완료
수식 수정 의뢰 드립니다.
안녕하세요!
만들어 주신 수식을 적용해보니 국내선물은 정상적으로 작동하는데 해선은 막대모양이 최고가와 최저가사이에 들어가지 않고 밖으로 돌출됩니다. 확인 부탁드립니다 .
#plot1만 막대로 지정하시면 됩니다.
#상승 보라, 하락 형광, 최고갱신 빨강, 최저갱신 파랑으로 표시됩니다.
#최고격차와 최저격차는 선으로 표시되고 각각 텍스트 출력됩니다.
var : diff(0,data1),hh(0,Data1),ll(0,Data1),clr(0,Data1),tx(0),Htx(0),Ltx(0);
diff = Data1(c)-Data2(c);
if Data1(Bdate != Bdate[1]) Then
{
hh = diff;
LL = diff;
if diff > diff[1] Then
clr = Magenta;
Else
clr = Cyan;
Htx = text_new_self(sDate,sTime,HH,NumToStr(HH,2));
Text_SetStyle(Htx,2,1);
Text_SetColor(Htx,Red);
Ltx = text_new_self(sDate,sTime,LL,NumToStr(LL,2));
Text_SetStyle(Ltx,2,1);
Text_SetColor(Ltx,Blue);
}
Else
{
if diff > hh Then
{
hh = diff;
clr = Red;
Text_SetString(Htx,NumToStr(HH,2));
}
else if diff < ll Then
{
ll = diff;
clr = Blue;
Text_SetString(Ltx,NumToStr(LL,2));
}
Else
{
if diff > diff[1] Then
clr = Magenta;
Else
clr = Cyan;
}
Text_SetLocation(Htx,sDate,sTime,HH);
Text_SetLocation(Ltx,sDate,sTime,LL);
}
Plot1(diff,"diff",clr);#막대
plot2(hh,"hh",Red);#선
plot3(ll,"ll",Blue);#선
tx = text_new_self(sDate,sTime,diff,NumToStr(diff,2));
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Black);
그리고 아래 요청 사항도 좀 부탁드립니다.
감사합니다.
-----------------------------------------------------
2. 봉이 완성되고 진폭이 0.55 이상일때 화살표나 점이 표시되는 강조식을 만들고 싶습니다.
진폭값이 표시되어도 좋습니다.
-----------------------------------------------------
3. 아래 수식이 당일 Data1값에 적용이 안되는 것 같습니다.
확인 좀 부탁드려요!
if Data2(c) == data3(c) Then
var1 = Data1(c);
if Data4(c) == data5(c) Then
var1 = Data1(c);
if Data6(c) == data7(c) Then
var1 = Data1(c);
if Data8(c) == data9(c) Then
var1 = Data1(c);
Plot1(var1);
2025-04-11
310
글번호 190040
지표
답변완료
수식 부탁드립니다.
// 사용자 설정
input: 선물기준치(0), 현물기준치(0);
// 외국인 선물 누적 포지션
vars: 선물변동(0), 선물매수(true);
선물변동 = 외국인선물누적 - 외국인선물누적[1];
선물매수 = 선물변동 > 선물기준치;
// 외국인 현물 누적 포지션
vars: 현물변동(0), 현물매수(true);
현물변동 = 외국인현물누적 - 외국인현물누적[1];
현물매수 = 현물변동 > 현물기준치;
// 지수 왜곡 판단
vars: 왜곡(false);
왜곡 = (선물매수 <> 현물매수);
// 시각화
if 선물매수 and 현물매수 then
Plot1(1, "동시 매수"); // 예: 녹색 점
else if not 선물매수 and not 현물매수 then
Plot2(-1, "동시 매도"); // 예: 빨간 점
else if 왜곡 then
Plot3(0, "왜곡"); // 예: 노란 점
위 수식을 지표로 나오게 수정좀 해주세요.
2025-04-11
321
글번호 190039
지표
답변완료
강조 수식 문의 드립니다
A=supertrend(12,3);
A1=supertrend(11,2);
A2=supertrend(10,1);
B=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4;
B1=(highest(high,52)+lowest(low,52))/2;
B2=AVG(C,200);
A<C && A1<C && A2<C && CROSSUP(C, MAX(B,B1,B2))
2025-04-11
277
글번호 190026
강조