답변완료
키움수식 변환 부탁드립니다.
지수평균((highest(종가,(기간/2))+highest(종가,기간))/2,기간)+
if(종가>시가,1-(abs(종가-시가)/abs(highest((종가-
시가),기간))),1)*D1*stdev((저가+고가+종가)/3,기간);
2023-10-02
838
글번호 172821
시스템
답변완료
지표수식요청
아래의 4가지 함수를 사용자함수에 등록하려합니다 예스랭귀지로 변환 부탁드립니다^^
요일(DATE)함수
M=floor(D/100)%100;
YY=if((M+1-1) == 1 or (M+1-1) == 2, floor(D/10000)-1, floor(D/10000));
YA=floor(YY/100);
YB=YY%100;
MM=if((M+1-1) ==1, 13, if((M+1-1) == 2, 14, M));
DD=D%100;
A=(DD+floor(13*(MM+1)/5) + YB + floor(YB/4) + floor(YA/4) + YA*5)%7;
if(A==0,6,A-1)
이전주고가(N)함수
A=요일(DATE);
HH=HIGHESTSINCE(1, A(1)>A && DATE != DATE(1) , H);
Valuewhen(n, A(1)>A && DATE != DATE(1), HH(1));
이전주누적거래량(N)
S=SUM(V);
A=요일(DATE);
B=Valuewhen(n, A(1)>A && DATE != DATE(1), S(1));
B1=Valuewhen(n+1, A(1)>A && DATE != DATE(1), S(1));
B-B1
주0봉누적거래량()
S=SUM(V);
A=요일(DATE);
B=Valuewhen(1, A(1)>A && DATE != DATE(1), S(1));
S-B
감사합니다
2023-10-01
996
글번호 172820
사용자 함수
답변완료
틱봉에서 30분봉 점찍기좀 부탁 드립니다
* 좋은 한주 되십시요.
* 30분 분봉 crossup , crossdown시 차트에 점찍기(●) 요청 드립니다.
단 틱봉 사용 예정 입니다.
즉 틱 봉을 사용 하는데 30분봉 이평선(ma(c,30))이 ma(c,5) 와크로스 되거나 다운되면
점찍기를 요청 드립니다.
틱봉은 몇 틱봉을 사용 해야할지 아무리 찾아봐도 잘 모르겠습니다.
30분봉 점찍기 적당한 틱봉(또는 비슷) 계산해 주시면 사용 하겠습니다.
즉 매매시 30분봉 크로스업 다운이 중요한 변화라서 필요 합니다.
분봉을 틱봉에 점찍기 안되는 건가요?
* 항상 많은 도움에 고맙습니다. 수고하십시요.
2023-10-04
912
글번호 172819
지표
답변완료
업비트에서는 결과가 나오는데 동일전략이 다른 상품에서는 나오지 않습니다.
동일한 전략을 btckrw에서는 잘 적용이 되나
btc 마켓 종목에서는 적용이 되지 않습니다.
또한 아래 수식이 계산이 많이 들어가는 느낌이 드는데...
최적화할때에도 결과들이 누락되고 그래서...
속도를 더 빠르게 할 수 있는 코드로 수정이 가능할까요??
Input:maperiod(144),profittarget(0.8),stloss(15),water1(1),pleng(100),natrs(3),capital(1),trendscore(1.5);
var : cont(0),mascoring(0);
//추세판정
if ma(c,maperiod*7)>ma(c,maperiod*7)[maperiod*7] Then Value1=1; Else value1=-1;
if ma(c,maperiod*5)>ma(c,maperiod*5)[maperiod*5] Then Value2=0.5; Else Value2=-0.5;
if ma(c,maperiod*3)>ma(c,maperiod*3)[maperiod*3] Then Value3=0.25; Else Value3=-0.25;
if ma(c,maperiod*2)>ma(c,maperiod*2)[maperiod*2] Then Value4=0.125; Else Value4=-0.125;
if ma(c,maperiod*1)>ma(c,maperiod*1)[maperiod*1] Then Value5=0.0625; Else value5=-0.0625;
Value10= value1+value2+value3+value4+value5;
value11 = ATR( pLeng ) * nAtrs ;
cont=(capital*0.01)/c;
if marketposition==0 and Value10 >= trendscore and CrossDown(c,BollBandDown(60,2)) Then
Begin
Buy("매수",AtMarket,def,cont);
End;
if MarketPosition == 1 and MaxEntries == 1 Then
Buy("mt1",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*2);
if MarketPosition == 1 and MaxEntries == 2 Then
Buy("mt2",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*4);
if MarketPosition == 1 and MaxEntries == 3 Then
Buy("mt3",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*8);
if MarketPosition == 1 and MaxEntries == 4 Then
Buy("mt4",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*16);
if MarketPosition == 1 and MaxEntries == 5 Then
Buy("mt5",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*32);
if MarketPosition == 1 and MaxEntries == 6 Then
Buy("mt6",AtLimit,LatestEntryPrice(0)*(1-water1*0.01),cont*64);
if MarketPosition==1 and (OpenPositionProfit/CurrentContracts)/AvgEntryPrice >= profittarget*0.01 Then
Begin
ExitLong("매수청산",AtMarket);
End;
2023-10-01
1143
글번호 172818
시스템