커뮤니티

수식 요청 드립니다.

프로필 이미지
요타
2019-11-07 11:41:55
174
글번호 133484
답변완료

첨부 이미지

* 전일 데이타 확인 해보니 데이타 차이가 있어 안되었습니다. * 요청 사항1 : 아래 수식에서 매매로직 요청 좀 드립니다. 무포지션 상태에서 매수 : VAR1 이 VAR2 를 3번째 상향돌파 하면 매수 매도 : VAR1 이 VAR2 를 3번째 하향돌파 하면 매도 입니다. →수시로 반복되도 &#44346;찮습니다. var : TL1(0),TL2(0),tx1(0),tx2(0); VAR1 = MA(C,2) ; VAR2 = MA(C,5) ; Plot1(VAR1,"1",RED,DEF,1) ; Plot2(VAR2,"1",BLUE,DEF,1) ; * 요청 사항2 : 아래 수식 에서 최대수익, 최대손실 표현좀 부탁 드립니다. var : TL(0),TX(0); if MarketPosition != 0 Then { if MarketPosition != MarketPosition[1] Then { TL = TL_New(sdate[1],stime[1],EntryPrice,sdate,stime,EntryPrice); tx = Text_New(sdate,stime,EntryPrice,NumToStr(PositionProfit(0),2)); } Else { TL_SetEnd(TL,sdate,stime,EntryPrice); Text_SetString(tx,NumToStr(PositionProfit(0),2)); Text_SetLocation(tx,sdate,stime,EntryPrice); } TL_SetSize(TL,1); if PositionProfit(0) > 0 Then { TL_SetColor(TL,RED); text_SetColor(Tx,RED); } else if PositionProfit(0) < 0 Then { TL_SetColor(TL,BLUE); text_SetColor(Tx,BLUE); } else { TL_SetColor(TL,BLACK); text_SetColor(Tx,BLACK); } } * 매번 많은 도움에 고맙습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-11-07 15:47:05

안녕하세요 예스스탁입니다. 1 3번째의 기준이 모호합니다. 2개의 값의 크로스는 서로 반복적으로 발생하므로 차트 초기에 3번이상 발생하면 이후에는 항상 이전에 2개 이상의 크로스가 있기에 3번째가 만족하게 됩니다. 무포지션에서는 청산이후 3번째 포지션 진행중에는 진입이후 3번째로 작성했습니다. 차트 초기에는 먼저 발생한 쪽으로 진입합니다. var : TL1(0),TL2(0),tx1(0),tx2(0); VAR1 = MA(C,2) ; VAR2 = MA(C,5) ; if crossup(var1,var2) then { if (MarketPosition == 0 and ExitPrice(1)==0 and countif(crossup(var1,var2),Index) == 3) or (MarketPosition == 0 and countif(crossup(var1,var2),BarsSinceExit(1)) == 3) or (MarketPosition == -1 and CountIF(crossup(var1,var2),BarsSinceEntry) == 3) Then buy(); } if CrossDown(var1,var2) then { if (MarketPosition == 0 and ExitPrice(1)==0 and countif(CrossDown(var1,var2),Index) == 3) or (MarketPosition == 0 and countif(CrossDown(var1,var2),BarsSinceExit(1)) == 3) or (MarketPosition == 1 and CountIF(CrossDown(var1,var2),BarsSinceEntry) == 3) Then sell(); } 2 var : TL(0),TX(0),TL1(0),TL2(0),TX1(0),TX2(0); if crossup(c,ma(c,60)) Then buy(); if CrossDown(c,ma(c,60)) Then sell(); if MarketPosition != 0 Then { if MarketPosition != MarketPosition[1] Then { TL = TL_New(sdate[1],stime[1],EntryPrice,sdate,stime,EntryPrice); tx = Text_New(sdate,stime,EntryPrice,NumToStr(PositionProfit(0),2)); if MarketPosition == 1 then { TL1 = TL_New(sdate[1],stime[1],highest(H,BarsSinceEntry),sdate,stime,highest(H,BarsSinceEntry)); tx1 = Text_New(sdate,stime,highest(H,BarsSinceEntry),NumToStr(highest(H,BarsSinceEntry)-EntryPrice,2)); TL2 = TL_New(sdate[1],stime[1],Lowest(L,BarsSinceEntry),sdate,stime,Lowest(L,BarsSinceEntry)); tx2 = Text_New(sdate,stime,Lowest(L,BarsSinceEntry),NumToStr(Lowest(L,BarsSinceEntry)-EntryPrice,2)); TL_SetColor(TL1,RED); text_SetColor(Tx1,RED); TL_SetColor(TL2,BLUE); text_SetColor(Tx2,BLUE); } if MarketPosition == -1 then { TL1 = TL_New(sdate[1],stime[1],Lowest(L,BarsSinceEntry),sdate,stime,Lowest(L,BarsSinceEntry)); tx1 = Text_New(sdate,stime,Lowest(L,BarsSinceEntry),NumToStr(EntryPrice-lowest(L,BarsSinceEntry),2)); TL2 = TL_New(sdate[1],stime[1],highest(H,BarsSinceEntry),sdate,stime,highest(H,BarsSinceEntry)); tx2 = Text_New(sdate,stime,highest(H,BarsSinceEntry),NumToStr(EntryPrice-highest(H,BarsSinceEntry),2)); TL_SetColor(TL1,RED); text_SetColor(Tx1,RED); TL_SetColor(TL2,BLUE); text_SetColor(Tx2,BLUE); } } Else { TL_SetEnd(TL,sdate,stime,EntryPrice); Text_SetString(tx,NumToStr(PositionProfit(0),2)); Text_SetLocation(tx,sdate,stime,EntryPrice); if MarketPosition == 1 then { TL_SetBegin(TL1,EntryDate,EntryTime,highest(H,BarsSinceEntry)); TL_SetEnd(TL1,sDate,sTime,highest(H,BarsSinceEntry)); Text_SetLocation(TX1,sdate,stime,highest(H,BarsSinceEntry)); Text_SetString(TX1,NumToStr(Highest(L,BarsSinceEntry)-EntryPrice,2)); TL_SetBegin(TL2,EntryDate,EntryTime,Lowest(L,BarsSinceEntry)); TL_SetEnd(TL2,sDate,sTime,Lowest(L,BarsSinceEntry)); Text_SetLocation(TX2,sdate,stime,Lowest(L,BarsSinceEntry)); Text_SetString(TX2,NumToStr(Lowest(L,BarsSinceEntry)-EntryPrice,2)); } if MarketPosition == -1 then { TL_SetBegin(TL1,EntryDate,EntryTime,Lowest(L,BarsSinceEntry)); TL_SetEnd(TL1,sDate,sTime,Lowest(L,BarsSinceEntry)); Text_SetLocation(TX1,sdate,stime,Lowest(L,BarsSinceEntry)); Text_SetString(TX1,NumToStr(EntryPrice-Lowest(L,BarsSinceEntry),2)); TL_SetBegin(TL2,EntryDate,EntryTime,highest(H,BarsSinceEntry)); TL_SetEnd(TL2,sDate,sTime,highest(H,BarsSinceEntry)); Text_SetLocation(TX2,sdate,stime,highest(H,BarsSinceEntry)); Text_SetString(TX2,NumToStr(EntryPrice-highest(H,BarsSinceEntry),2)); } } TL_SetSize(TL,1); if PositionProfit(0) > 0 Then { TL_SetColor(TL,RED); text_SetColor(Tx,RED); } else if PositionProfit(0) < 0 Then { TL_SetColor(TL,BLUE); text_SetColor(Tx,BLUE); } else { TL_SetColor(TL,BLACK); text_SetColor(Tx,BLACK); } } 즐거운 하루되세요 > 요타 님이 쓴 글입니다. > 제목 : 수식 요청 드립니다. > * 전일 데이타 확인 해보니 데이타 차이가 있어 안되었습니다. * 요청 사항1 : 아래 수식에서 매매로직 요청 좀 드립니다. 무포지션 상태에서 매수 : VAR1 이 VAR2 를 3번째 상향돌파 하면 매수 매도 : VAR1 이 VAR2 를 3번째 하향돌파 하면 매도 입니다. →수시로 반복되도 괺찮습니다. var : TL1(0),TL2(0),tx1(0),tx2(0); VAR1 = MA(C,2) ; VAR2 = MA(C,5) ; Plot1(VAR1,"1",RED,DEF,1) ; Plot2(VAR2,"1",BLUE,DEF,1) ; * 요청 사항2 : 아래 수식 에서 최대수익, 최대손실 표현좀 부탁 드립니다. var : TL(0),TX(0); if MarketPosition != 0 Then { if MarketPosition != MarketPosition[1] Then { TL = TL_New(sdate[1],stime[1],EntryPrice,sdate,stime,EntryPrice); tx = Text_New(sdate,stime,EntryPrice,NumToStr(PositionProfit(0),2)); } Else { TL_SetEnd(TL,sdate,stime,EntryPrice); Text_SetString(tx,NumToStr(PositionProfit(0),2)); Text_SetLocation(tx,sdate,stime,EntryPrice); } TL_SetSize(TL,1); if PositionProfit(0) > 0 Then { TL_SetColor(TL,RED); text_SetColor(Tx,RED); } else if PositionProfit(0) < 0 Then { TL_SetColor(TL,BLUE); text_SetColor(Tx,BLUE); } else { TL_SetColor(TL,BLACK); text_SetColor(Tx,BLACK); } } * 매번 많은 도움에 고맙습니다.