답변완료
매수, 매도식 요청
안녕하세요 아래 시스템식을 예트에 반영하면,
"논리값(참/거짓)이나 논리표현식이 와야 합니다.. 팝업이 나타나면서 시스템 반영이 안됩니다.
매매 수식 수정을 부탁드립니다
감사합니다.
input : length(14);
input : k(1);
input : method (1);
input : show(false);
var : upper(0),lower(0),slope_ph(0),slope_pl(0),src(0),n(0);
var : ph(0),pl(0),slope(0),single_upper(0),single_lower(0);
var : upper_breakout(False),lower_breakout(False),tx(0);
var : alpha(0),ATrV(0);
upper = 0;
lower = 0;
slope_ph = 0;
slope_pl = 0;
src = close;
n = index;
ph = SwingHigh(1,H,length,length,length*2+1);
pl = Swinglow(1,L,length,length,length*2+1);
if method == 1 Then
{
alpha = 1 / length ;
ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,length) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1]));
slope = atrv / length * k;
}
if method == 2 Then
slope = std(src, length) / length * k;
if method == 3 Then
slope = abs(ma(src * index, length) - ma(src, length) * ma(index, length)) / variance(n, length,1) / 2 * k;
slope_ph = iff(ph != -1 , slope , slope_ph[1]);
slope_pl = iff(pl != -1 , slope , slope_pl[1]);
upper = IFf(ph != -1 , ph , upper[1] - slope_ph);
lower = iff(pl != -1 , pl , lower[1] + slope_pl);
single_upper = 0;
single_lower = 0;
single_upper = iff(src[length] > upper , 0 , iff(ph != -1 ,1 , single_upper[1]));
single_lower = iff(src[length] < lower , 0 , iff(pl != -1 ,1 , single_lower[1]));
upper_breakout = single_upper[1] != 0 and src[length] > upper and IFF(show , src > src[length] , true);
lower_breakout = single_lower[1] != 0 and src[length] < lower and IFF(show , src < src[length] , true);
if (upper_breakout == True) then
buy("매수", AtMarket);
if (lower_breakout == True) then
sell("매도", AtMarket);
2025-06-12
155
글번호 191662
시스템
답변완료
조건검색식 문의드립니다.
T = LinearRegressionValue(C, 1, 0) + LinearRegressionSlope(C, 1);
상승 = T > Ref(T,1);
하락 = T < Ref(T,1);
조건 = Sum(하락, 20) == 20 && Sum(상승, 20) == 20;
TH = ValueWhen(1, 조건, Ref(T,20));
THBreak = T > TH;
// V > Ref(MA(V,20),1) * 2
// C > O
위 수식을 검색식으로 변환 부탁드리겠습니다(__)
감사드립니다 :)
2025-06-12
163
글번호 191649
검색
답변완료
해외선물 거래 문의
항상 감사합니다
시스템식을 해선에서 사용해보고 싶습니다
starttime과 endtime은 22시 30분부터 23시까지를 기준으로 하고
04시부터는 진입하지 않도록 수식 도움 부탁드립니다
input : startTime(90000), endTime(93000), AtrMult(3.0);
Var1 = TimeHigh(startTime,endTime);
Var2 = TimeLow(startTime,endTime);
# 당일 진입횟수 제한
Function EntriesToday Numeric
Var : Count(0);
Count = 0 ;
For Value1 = 0 To 10 {
If EntryDate(Value1) == date Then
Count = Count + 1;
}
EntriesToday = Count;
endFunction
# 진입
if stime < 143000 and sTime > endTime and EntriesToday < 1 then {
if bids > asks * 2 then
Buy("B", AtStop, Var1);
if bids < asks / 2 then
Sell("S", AtStop, Var2);
}
# 추적청산
If marketposition <> 0 Then {
exitlong("EL1",Atstop,Highest(H,BarsSinceEntry+1)-ATR(30)*AtrMult);
exitshort("ES1",Atstop, Lowest(L,BarsSinceEntry+1)+ ATR(30)*AtrMult);
}
# 장후반 청산
If sTime > 142000 Then {
If Ema(C,2) < Ema(C,10) Then
ExitLong("EL2", AtStop, Lowest(L,3));
If Ema(C,2) >= Ema(C,10) Then
ExitShort("ES2", AtStop, Highest(H,3));
}
# 당일청산
SetStopEndofday(1520);
2025-06-12
168
글번호 191648
시스템
답변완료
시스템 수식 문의 드립니다.
아래 시스템 수식에서
자동매매시스템 시작후 현재 총수익금이 5000달러이상일때
모든포지션 청산후 자동매매 중지되도록 시스템 수식을 추가작성 부탁드립니다.
(참고로, 하나증권의 시그널메이커 자동매매시스템을 사용중입니다.)
항상 성실히 답변 주셔서 대단히 감사드립니다.
Params : Period(20), cnt(2);
Vars : oMa1(0), TickSize(0),mp(0);
oMa1 = Ma(C, Period);
TickSize = OneTick * PriceScale;
mp = MarketPosition;
If mp = 0 And CrossUp(C, oMa1) Then Buy("B",DEF,DEF,cnt);
If mp = 0 And CrossDown(C, oMa1) Then Sell("S",DEF,DEF,cnt);
///////////////////익절//////////////////////////////////
If mp = 1 And v1 = 0 And CrossUp(C, EntryPrice + 103*TickSize) Then
Begin
v1 = 2;
ExitLong("매수익절",AtLimit,EntryPrice + 103*TickSize,"B",cnt/2);
End;
If mp = -1 And v2 = 0 And CrossDown(C, EntryPrice - 103*TickSize) Then
Begin
v2 = 2;
ExitShort("매도익절",AtLimit,EntryPrice - 103*TickSize,"S",cnt/2);
End;
//////////////////////////////////////////////////////////
If mp<>mp[1] And mp = 0 Then
Begin
v1 = 0;
v2 = 0;
v11 = 0;
v22 = 0;
End;
2025-06-12
163
글번호 191647
시스템
답변완료
문의 드립니다.
평소 많은 도움 주셔서 감사합니다.
현재 가격이 아래의 2가지, 신호와 라인을 돌파할 때 검색식 부탁드립니다.
1. 신호
BOpen =LinearRegressionValue(O, LinReg_Length,0);
BHigh = LinearRegressionValue(H, LinReg_Length,0);
BLow =LinearRegressionValue(L, LinReg_Length,0);
BClose =LinearRegressionValue(C, LinReg_Length,0);
A=MA(BClose, Signal_Length);
CROSSUP(BClose,A) && bclose>bopen && C>O
지표변수 : LinReg_Length 11
Signal_Length 7
2. 박스 라인
A=avg(c,2);
B=A+AvgIf(c-A,1,0.0)+1.4*Stdevif(c-A,1,0.0);
D=Bbandsup(9,2);
d1=crossup(D,B);
d2=crossdown(D,B);
valuewhen(1, d1 or d2,o)
감사합니다.
2025-06-11
198
글번호 191646
검색