답변완료
수식수정 부탁드립니다.
현재식에 시작날짜와 시작시간을 넣고 싶습니다.
시작날짜와 시작시간 이후에는 반복재진입하도록 하고 싶습니다.
Input : Period1(40),Period2(20);
var : CCIv(0),CCIsig(0);
var : dnV1(0),dnA1(0),dnV2(0),dnA2(0);
var : upV1(0),upA1(0),upV2(0),upA2(0);
CCIv = CCI(Period1);
CCIsig = ema(CCIv,Period2);
input : Period31(40),signal31(20);
var : LRLv31(0),FO31(0),forecastsig31(0);
LRLv31 = LRL(c,period31);
FO31 = ((c-LRLv31)/c)*100;
forecastsig31 = ema(FO31,Signal31); #signal#
if crossup(ccisig,-100) Then
{
upV1 = c;
upA1 = forecastsig31;
upV2 = upV1[1];
upA2 = upA1[1];
if countif(crossup(ccisig,-100),50) >= 2 and
upV1<upV2 and upA1>upA2 Then
buy("b");
}
if CrossDown(ccisig,100) Then
{
dnV1 = c;
dnA1 = forecastsig31;
dnV2 = dnV1[1];
dnA2 = dnA1[1];
if countif(CrossDown(ccisig,100),50) >= 2 and
dnV1>dnV2 and dnA1<dnA2 Then
sell("s");
}
2021-11-19
548
글번호 153711
시스템
답변완료
문의드립니다
그림과같이 제가 작성한 수식은 맞지않는것같습니다
PMAX 아래이면 파랑이어야하는데 빨강이고 위에 막대표현된 검색식과는
다르게 나오고 있습니다
전문가님의 손길이 필요합니다
검색식입니다 추운데 감기 조심하시고 노고에 다시한번 감사 드립니다
input : Periods(10),Multiplier(3.0),length(10);
var : src(0),ATRv(0),valpha(0),VARr(0),vud1(0),vDD1(0),vUD(0),vDD(0),vCMO(0);
var : wwalpha(0),WWMA(0),zxLag(0),zxEMAData(0),ZLEMA(0);
var : lrc(0),lrc1(0),lrs(0),TSF(0);
var : MAvg(0),longStop(0),longStopPrev(0);
var : shortStop(0),shortStopPrev(0);
var : dir(0),PMax(0);
src = (h+l)/2;
atrv = atr(Periods);
valpha=2/(length+1);
vud1 = iff(src>src[1],src-src[1],0);
vdd1 = iff(src<src[1],src[1]-src,0);
vUD=AccumN(vud1,9);
vDD=AccumN(vdd1,9);
vCMO=(vUD-vDD)/(vUD+vDD);
VARr = 0;
VARr = (valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*VARr[1];
wwalpha = 1/ length;
WWMA = 0;
WWMA = wwalpha*src + (1-wwalpha)*WWMA[1];
zxLag = IFf(length/2==round(length/2,0) , length/2 , (length - 1) / 2);
zxEMAData = (src + (src - src[zxLag]));
ZLEMA = ema(zxEMAData, length);
lrc = LRL(src, length);
lrc1 = lrc[1];
lrs = (lrc-lrc1);
TSF = Lrc+lrs;
MAvg = ma(src, length);
longStop = MAvg - Multiplier*atrv;
longStopPrev = IFf(isnan(longStop[1]) == true,longStop,longStop[1]);
longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop);
shortStop = MAvg + Multiplier*atrv;
shortStopPrev = IFf(isnan(shortStop[1]) == true,shortStop,shortStop[1]);
shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop);
dir = 1;
dir = IFf(isnan(dir[1]) == true,dir,dir[1]);
dir = iff(dir == -1 and MAvg > shortStopPrev , 1 ,IFf(dir == 1 and MAvg < longStopPrev , -1 , dir));
PMax = IFf(dir == 1 , longStop , shortStop);
if CrossUp(MAvg,PMax) Then
Plot1(H,"검색",RED);
if CrossDown(MAvg,PMax) Then
Plot1(L,"검색",BLUE);
2021-11-19
829
글번호 153710
지표
답변완료
수식 문의
특정 조건을 만족한 경우에 어떤 값이 도출되고,
해당 조건을 다시 만족하기 전까지는 그 값이 유지되는 수식을 알고 싶습니다.
가령 5일 이평선이 20일 이평선을 돌파하는 것이 조건이라고 하고,
그때 도출되는 값은 돌파한 날의 종가라고 할때,
10월 20일에 5일 이평선이 20일 이평선을 한번 돌파하고, 이후에 11월 10일에 다시한번 돌파할 때,
10월 20일부터 11월 9일까지는 10월 20일의 종가가 값으로 유지되고, 11월 10일부터 다음 조건 발생전까지는 11월 10일의 종가로 값이 유지되는 수식을 알고 싶습니다
(10월 20일, 10월 21일, 10월 22일 등등 11월 9일까지 해당 수식의 값은 10월 20일 종가, 11월 10일부터는 다음 조건 만족전까지는 특정일자의 값이 11월 10일의 종가로)
2021-11-18
845
글번호 153707
지표
답변완료
문의 드립니다.
수고많으십니다.
아래수식에 아래 내용으로 수정 부탁드립니다.
현재캔들에서 이전 N번째 캔들들의 최고가 돌파와 최저가 돌파시 매수 매도가 아닌
N번째 캔들 고가 돌파시 종가에 매수, 저가 돌파시 종가에 매도 수식 부탁드립니다.
bx,cx는 매수는 n번째 캔들 저가 돌파시, 매도는 n번째 캔들 고가 돌파시로 해주세요.
감사합니다.
input : n1(5);
input : StartTime(233000),EndTime(013000);
input : 익절틱수(80),손절틱수(0),거래횟수(3);
var : Tcond(false), T(0), entry(0);
Array : H1[50](0),L1[50](0);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (NextBarSdate != sdate and NextBarStime >= EndTime) or
(NextBarSdate == sdate and NextBarStime >= EndTime and stime < EndTime) Then
Tcond = False;
if (NextBarSdate != sdate and NextBarStime >= StartTime) or
(NextBarSdate == sdate and NextBarStime >= StartTime and stime < StartTime) Then
{
T = 0;
Tcond = true;
entry = 0;
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if Tcond == true Then
{
if H > Highest(H,n1)[1] and C > O and entry < 거래횟수 Then
Buy("b");
if L < Lowest(L,N1)[1] and C < O and entry < 거래횟수 Then
Sell("s");
if MarketPosition == 1 Then
ExitLong("bx",AtStop,L[BarsSinceEntry]-PriceScale*1);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,H[BarsSinceEntry]+PriceScale*1);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2021-11-18
805
글번호 153704
시스템