답변완료
시스템 스위칭 문의 드립니다.
항상 많은 도움 감사드립니다. 항상 고맙고 죄송한 마음이지만 덕분에 시스템이 나날이 디테일되고 향샹되고 있습니다.
하나의 시스템에 여러가지의 시스템 식을 넣다 보니 서로 부딪히는 상황이 발생되어 도움을 요청드립니다. 예를들면 보통의 수식은
if MarketPosition == 0 &&
조건A then buy ("A매수",atmarket,def,1);
if MarketPosition == 1 &&
조건A-1 then Exitlong("A매수정리",atmarket,def,"A매수");
if MarketPosition == 0 &&
조건B then sell ("B매도",atmarket,def,1);
if MarketPosition == -1 &&
조건B-1 then Exitshort("B매도정리",atmarket,def,"B매도");
이런식으로 정리했었는데요 문제는 exitlong조건 A-1이 발생하기 전에 매도 조건 B가 발생을 하면 스위칭을 하여야 하는데 시스템을 어떻게 구성해야 할지 잘 모르겠습니다.
아마도
if MarketPosition == 0 &&
조건B then sell ("B매도",atmarket,def,1);
if MarketPosition == 1(그리고 1에 해당하는 매수명을 지정할 수 있는도 궁금합니다) &&
-매수 계약을 정리하고 B매도를 실행하라.
if MarketPosition == -1 &&
조건B-1 then Exitlong("B매도정리",atmarket,def,"B매도");
이런식으로 되야 할 것 같은게 수식 작성 방법이 어렵네요..
총 들어가는 수식이 매수,매도 각각 3개 정도식은 되어서 반대로 매수로 들어갈때도 부딪히는 경우가 있을때 어떤식으로 스위칭을 해야하는지 도움 요청드립니다.
혹시 수식상에만 스위칭 되는게 아닌 실제 한 계약의 보증금으로 스위칭할 수 있는 수식 부탁드겠습니다.
2023-12-05
896
글번호 174579
시스템
답변완료
전환 부탁드립니다
키움 수식 변환 부탁드려요
1.
V > avg(V, Period) * Multiple
&&
V > V(1) * Multiple
&&
o<c
&&
c-o>(h-c)*1.2
Period 5
Multiple 3.0
라인설정 막대
2.
수식1
c>=c(1)*1.15
and v>=v(1)*몇배
and v>=거래량
and highest(H, HH,1)<C
수식2
c>=c(1)*1.2
and v>=v(1)*몇배
and v>=거래량
and highest(H, HH,1)<C
수식3
c>=c(1)*1.29
and v>=v(1)*몇배
and v>=거래량
and highest(H, HH,1)<C
몇배 10
거래량 1000000
HH 20
라인설정 막대 (Red Blue Green)
-----------------------------------------------
될수 있으면 1,2번에 맞는 검색식도 부탁드려요.
감사합니다.
2023-12-04
904
글번호 174576
지표
답변완료
수식수정 및 질문 드려요
안녕하세요?
수정 : 아래수식에서 캔들봉이 마감될때 진입이 될수있게 부탁드립니다.
질문1 : length가 어떤길이인지 알수있을까요?
질문2 : 두번째질문은, 현재 캔들30분봉이상으로 셋팅하여 거래를하면
실제거래와 성능보고서와 차이가 많이나서요.
주로 성능보고서 수익이 실제로는 손실인경우가 꽤있어요.
캔들주기가 길어서 그런것인지, 수식에 어떤문제가 있는건지 꼭 찾아야하는데 ㅠㅠ
혹시 전문가 분들이시니, 어떤원인일 것이다 라고 몇가지만이라도 말씀해주시면 참고하고 싶습니다.
감사합니다.
inputs: Length(10), Pval(0.05),당일청산(153000);
input : 익절틱수(10), 손절틱수(10), 진입횟수(3);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1 ;
if entry < 진입횟수 then Sell("CBI", AtStop, Lowest(Low, Length) - Pval);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopEndofday(당일청산);
2023-12-04
717
글번호 174573
시스템
답변완료
문의드립니다.
안녕하십니까? 날씨가 정말 추운데 이렇게 도움을 받을 곳이 있어서 따뜻한 느낌이 듭니다.
항상 건강 조심하시기 바랍니다.
질문) 아래 수식으로 돌파 자동매매를 해보고 있는데요 프로그램을 끄고 다시 켜면
돌파가 아니라 이미 돌파된 것들도 매수가 되더라고요
아래 수식에다가 이미 돌파된 것이 아니라 딱 crossup될 때만 매수가 될수 있게 구현 가능할까요?
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),A(0),A1(0),A2(0),A3(0);
src = Close;
n = barindex;
sume = 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;
A=y2;
A1=y2+mae;
A2=y2-mae;
input : keyvalue(1),atrperiod(10);
var : xATR(0),nLoss(0),xATRTrailingStop(0),pos(0),xcolor(0);
src = close ;
xATR = atr(atrperiod);
nLoss = keyvalue * xATR;
xATRTrailingStop = iff(src > xATRTrailingStop[1] and src[1] > xATRTrailingStop[1], max(xATRTrailingStop[1], src - nLoss),
iff(src < xATRTrailingStop[1] and src[1] < xATRTrailingStop[1], min(xATRTrailingStop[1], src + nLoss),
iff(src > xATRTrailingStop[1], src - nLoss, src + nLoss)));
pos = iff(src[1] < xATRTrailingStop[1] and src > xATRTrailingStop[1], 1,
iff(src[1] > xATRTrailingStop[1] and src < xATRTrailingStop[1], -1,pos[1]));
input : 기간(5);
var : Tema1(0),Tema2(0),Tema3(0),TemaM(0);
Tema1= EmA(close, 기간);
Tema2= EmA(Tema1, 기간);
Tema3= EmA(Tema2, 기간);
TemaM= 3 * Tema1 -3 * Tema2 + Tema3;
IF pos==1 && CROSSUP(TemaM,A1) && CROSSUP(xATRTrailingStop,A1) && C>O TheN
Find(1);
주봉매매를 해보더라도 이미 돌파된 것들이 매수되더라고요 ^^
항상 감사합니다.
2023-12-04
997
글번호 174570
검색