커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식 문의

항상 도움 주셔서 감사합니다. 127틱 차트에 246틱의 볼린저밴드를 표시할 수 있도록 수식 작성을 부탁 드립니다.
프로필 이미지
디차트
2020-11-15
580
글번호 143892
지표
답변완료

수식 문의 드립니다

1. 상승신호 상승을 연속으로 이어가는 3번째 캔들이 2번째 캔들 보다 1틱 이상 위에서 시작하고 상승 을 유지하면 1번째 캔들 하단부에 첨부 그림1 의 상승신호(빨간색)가 나타나게 한다(상승 을 유지하지 못하고 2번째 캔들 종가나 이하로 내려가게 되면 상승신호는 사라지게 한다) 2. 하락신호 하락을 연속으로 이어가는 3번째 캔들이 2번째 캔들 보다 1틱 이하 아래에서 시작하고 하락 을 유지하면 1번째 캔들 상단부에 첨부 그림1 의 하락신호(파란색)가 나타나게 한다(하락 을 유지하지 못하고 2번째 캔들 종가나 이상으로 올라가게 되면 하락신호는 사라지게 한다)
프로필 이미지
수지짱
2020-11-15
699
글번호 143891
지표
답변완료

글 번호-58459 수식에 관한 자세한 주석을 부탁드립니다

안녕하세요. 항상 수고가 많으십니다. 질문드립니다 ----------------------------------------------------------------------- 아래 수식은 글 번호 58459 수식입니다. 죄송하지만 각각의 수식에 대해 자세한 주석을 달아 주시면 감사하겠습니다. Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0), Text1(0),처리구분(""); Array:고점[10,2](0),저점[10,2](0); //가격,위치 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1], sDate[eBar],sTime[eBar],고점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(고점[1,1],2) +NewLine+"진폭"+NumToStr((고점[1,1]-저점[1,1]),2)); Text_SetStyle(Text1, 2, 1); } } If 처리구분 == "저점처리" Then { lastLoVal = L; If 저점[1,2] < 고점[1,2] then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1], sDate[eBar],sTime[eBar],저점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],2) +NewLine+"진폭"+NumToStr((고점[1,1]-저점[1,1]),2)); Text_SetStyle(Text1, 2, 0); } } // TL_SetSize(TL1,2); TL_SetColor(TL1,BLACk); // ---------------------------------------------------------------------------------- 다시 한번 감사드립니다.
프로필 이미지
샐리짱
2020-11-15
558
글번호 143890
지표
답변완료

문의

래리 윌리엄스의 변동성돌파 전략을 만들어 보고 싶습니다. 로직은 아래와 같습니다. 1. 가격이 금일 시가 + (전일 고가 - 전일 저가) * 0.5 를 돌파할 경우 매수. 2. 다음날 시가 청산. 4. 반대의경우인 매도도 부탁합니다.
프로필 이미지
엉덩공주
2020-11-15
693
글번호 143889
시스템
답변완료

안녕하세요?

안녕하세요. 69774 수식에서 수식 수정 2가지 요청드립니다. 1. 그림1 a3 출력라인 최저점(DAYLOW) 이탈시 a3 라인중 노란박스 부분이 출력되지 않게 수식수정. 그림2 b3 출력라인 최고점(DAYHIGH) 돌파시 b3 라인중 노란박스 부분이 출력되지 않게 수식수정. 2. 그림3 최저가(daylow)에서 최고가(dayhigh) 돌파시 노란박스에 라인이 그려지는데요 이부분을 첫최고가 부분은 나오지 않고 두번째 이후의 최고가 돌파시 라인이 나오게 수정. 최근 고가의 조정파동이 변수에 저장 되게 수식수정. 작성해주신 수식은 지난 파동의 조정파동이 변수에 저장되어 이를 보완할려고 합니다. 이반대의 상황도 수식 수정 부탁드립니다. (그림3의 노란박스부분의 라인이 나오지 않게수정) 수식작성에 항상 감사드립니다.
프로필 이미지
상중하
2020-11-16
745
글번호 143888
지표
답변완료

문의

검증과 누적계약수 조건은 그대로 두고 상승하는 간격을 제어하는 상승pyra와 하락pyra 부분을 아래처럼 대체하여 주십시요. 상승pyra는 음봉양봉음봉...순으로 번갈아 피라미딩(검증주문 후 음봉부터 시작)을 반복 ex)맥스 5개 원주문 b1 검증주문 bb1 음봉 bb1 양봉 bb1 음봉 bb1 하락pyra는 양봉음봉양봉...순으로 번갈아 피라미딩(검증주문 후 양봉부터 시작)을 반복 ex)맥스 5개 원주문 s1 검증주문 ss1 양봉 ss1 음봉 ss1 양봉 ss1 항상 고맙습니다. ****************************************************************************** input : uppyra검증1(0),상승pyra1(0),상승N1(0); if C >= EntryPrice+uppyra검증1 and MaxContracts < 상승N1 Then buy("bb1",AtStop,LatestEntryPrice(0)+상승Pyra1); input : dnpyra검증1(0),하락pyra1(0),하락N1(0) if C <= EntryPrice-dnpyra검증1 and MaxContracts < 하락N1 Then sell("ss1",AtStop,LatestEntryPrice(0)-하락Pyra1);
프로필 이미지
목마와숙녀
2020-11-15
535
글번호 143887
시스템
답변완료

시스템 수식 문의드립니다.

안녕하세요~ 수고 많으십니다. 지표수식을 시스템으로 바꾸려고 하니 어렵네요ㅠ 도움 부탁드립니다. 감사합니다. Input : period1(5),period2(20); var : a1(0), a2(0); //highestsince (1,CrossUp(ma(c,period1,가중),ma(c,period2,가중)),ma(c,period2,가중)); //lowestsince(1,CrossUp(ma(c,period1,가중),ma(c,period2,가중)),ma(c,period2,가중)); var1 = wma((H+L)/2,period1); var2 = wma((H+L)/2,period2); if crossup(var1,var2) Then value1 = var1; if var2 > value1 Then value1 = var2; if CrossDown(var1,var2) Then value2 = var1; if var2 < value2 Then value2 = var2; a1 = plot1(value1); a2 = plot2(value2); // 매수진입 //plot2(value2) < var2 If a2 < var2 then Begin Buy(); end; // 매도진입 // plot1(value1) > var2 If a1 > var2 then Begin Sell(); end;
프로필 이미지
모센
2020-11-14
569
글번호 143886
시스템
답변완료

문의드립니다.

1. 연속 2개 양봉 시 다음봉 시가에서 매수 진입 2. 진입 후 음봉 발생 시 다음 봉 시가에서 청산 수식 부탁드립니다.
프로필 이미지
마켓어쌔신
2020-11-14
519
글번호 143885
시스템
답변완료

현재 있는 수식에서 분할매도 기능 추가 부탁드려요~~

제가 사용하고 있는 수식인데요.... 매도 되는 수식이 두개가 있는데 1) 전체 진입 매수 평균가에 10% 수익시 일괄 청산 2) 기타 보조지수 를 충족시 분할 청산 거기에서 2번의 경우는 분할매도로 청산되는데 1번의 조건을 만족시에도 분할 매도 되게 수식 부탁드림니다.~~ input : 시작일(19000101); input : 일봉RSI기간(30); input : 일봉RSI값1(52),일봉RSI값2(36),일봉RSI값3(30); input : 최대투자금액(1500); input : 진입금액1(5); input : 진입금액2(15); input : 진입금액3(20); input : 진입금액4(25); input : 진입금액5(30); input : 진입금액6(35); input : 진입금액7(40); input : 진입금액8(50); input : 진입금액9(60); input : 진입금액10(70); input : 이차진입금액(100); input : 삼차진입금액(200); input : MFI기간(15),MFI값(90); input : 심리도기간(15),심리도값(80); # 보조지수 충족시 input : 분할매도횟수(25); input : 분할매도퍼센트(10); input: 청산수익률(1.09); var : mav(0,data2),MM(0,Data3),SS(0,Data3); var : MMM(0,Data2),SSS(0,Data2),Xcnt(0,Data2),Xvol(0,data1); MM = Data3(mfi(MFI기간)); SS = Data3(Simrido(심리도기간)); MMM = Data2(mfi(MFI기간)); SSS = Data2(Simrido(심리도기간)); var : vol(0); var : RSI2(0,Data2); RSI2 = Data2(RSI(일봉RSI기간)); if Data1(sDate) >= 시작일 Then { if MarketPosition == 0 or (MarketPosition == 1 and AvgEntryPrice*CurrentContracts < 최대투자금액*10000 ) Then { if data1(sTime == 93000 or sTime == 120000 ) Then # or sTime == 123000 { if Data2(RSI2 > 일봉RSI값1) Then { if MarketPosition == 0 or (MarketPosition == 1 and C >= AvgEntryPrice*0.98) Then vol = Floor(진입금액1*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.98 and C >= AvgEntryPrice*0.96 Then vol = Floor(진입금액2*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.96 and C >= AvgEntryPrice*0.94 Then vol = Floor(진입금액3*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.94 and C >= AvgEntryPrice*0.92 Then vol = Floor(진입금액4*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.92 and C >= AvgEntryPrice*0.90 Then vol = Floor(진입금액5*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.90 and C >= AvgEntryPrice*0.88 Then vol = Floor(진입금액6*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.88 and C >= AvgEntryPrice*0.86 Then vol = Floor(진입금액7*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.86 and C >= AvgEntryPrice*0.84 Then vol = Floor(진입금액8*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.84 and C >= AvgEntryPrice*0.82 Then vol = Floor(진입금액9*10000/c); if MarketPosition == 1 and C < AvgEntryPrice*0.82 and C >= AvgEntryPrice*0.80 Then vol = Floor(진입금액10*10000/c); Buy("불타기매매1",OnClose,DEf,vol); } if Data2(RSI2 < 일봉RSI값2 and RSI2 > 일봉RSI값3 ) Then { Buy("하락과도매매1",OnClose,DEf,Floor(이차진입금액*10000/c)); } if Data2(RSI2 < 일봉RSI값3) Then { Buy("폭락과도매매1",OnClose,DEf,Floor(삼차진입금액*10000/c)); } } } } if MarketPosition == 1 Then { ExitLong("bx",AtLimit,AvgEntryPrice*청산수익률); } if MM > MFI값 or SS > 심리도값 or MMM > MFI값 or SSS > 심리도값 Then { xcnt = xcnt+1; if Xcnt <= (분할매도횟수-1) Then Xvol = Floor(MaxContracts*분할매도퍼센트/100); else Xvol = CurrentContracts; if Xcnt <= 분할매도횟수 Then exitlong("청산",atlimit,C,"",Xvol,2); } Else xcnt = 0;
프로필 이미지
이형지
2020-11-14
526
글번호 143884
시스템
답변완료

주종목(Data1) 시스템과 참조종목(Data2) 시스템의 합성

안녕하세요. 간단히 말씀드리면 파라볼릭 시스템과 주가 이평선 골드크로스 시스템을 AND 조건으로 합성하고자 합니다. 1. 아래 로직을 시스템으로 작성하고 싶습니다. 1-1. 매수 진입 (1) 주종목(Data1)은 3분봉이고, 주종목의 파라볼릭(0.02, 0.2) 시스템에서 매수 신호가 발생하거나 매수 신호가 유지된다. (2) 참조종목(Data2, 정확하게는 타주기)은 5분봉이고, 참조종목은 종가가 20봉 이평선을 상향 돌파하거나 상향 돌파가 유지된다. (3) 위 (1), (2) 조건을 모두 만족하면, 매수 진입하라. 1-2. 매수 청산 (1) 주종목(Data1)의 파라볼릭(0.02, 0.2) 시스템에서 매도 신호가 발생하면 매수 청산하라. <매도 진입, 매도 청산: 위에 있는 매수 진입, 매수 청산과 반대 조건입니다> 1-3. 매도 진입 (1) 주종목(Data1)은 3분봉이고, 주종목의 파라볼릭(0.02, 0.2) 시스템에서 매도 신호가 발생하거나 매도 신호가 유지된다. (2) 참조종목(Data2)은 5분봉이고, 참조종목은 종가가 20봉 이평선을 하향 이탈하거나 하향 이탈이 유지된다. (3) 위 (1), (2) 조건을 모두 만족하면, 매도 진입하라. 1-4. 매도 청산 (1) 주종목(Data1)의 파라볼릭(0.02, 0.2) 시스템에서 매수 신호가 발생하면 매도 청산하라. 2. 주의 사항 2-1. 위 진입(매수, 매도)은 파라볼릭 시스템과 주가 이평선 골드크로스(데드크로스) 시스템을 AND 조건으로 합성한 것입니다. 그런데, 주가 이평선의 진입 신호를 참조종목(같은 종목의 타주기)에서 가져오겠다는 것이 핵심인데, 작성한 시스템의 결과가 예상과 다르게 나타납니다. 2-2. 아래는 매수 진입, 매수 청산의 경우에 한정한 시스템입니다. 그러나 아래 시스템을 적용했더니 첨부화일 1(그림 1)에 있듯이 매수신호가 발생해야 하는 봉에서 매수신호가 전혀 없네요. 첨부화일 2(그림 2)에는 예상과 다른 봉에서 매수신호가 발생합니다. 예상과 다르게 신호가 나오게 어디가 잘못되서 그런지 모르겠네요. Input : af(0.02), maxAF(0.2); Input : shortPeriod(20), longPeriod(50); Var : value(0); Var : mav(0), sarv(0), Bcond(false), Scond(false); Var : mav1(0,Data1),mav2(0,Data1); Var : avg1(0,Data2),avg2(0,Data2); mav = Ema(c,shortPeriod); sarv = csar(af,maxAF); mav1 = Data1(Ema(C,shortPeriod)); mav2 = Data1(Ema(C,longPeriod)); avg1 = Data2(Ema(C,shortPeriod)); avg2 = Data2(Ema(C,longPeriod)); Bcond = Data2(C) > avg1 and Data1(C) > sarv; # 매수 진입 If MarketPosition<=0 and Bcond == true and Bcond[1] == false Then { Buy(); } # 매수 청산 If MarketPosition==1 and C < sarv Then { ExitLong(); } 많은 도움에 대단히 감사합니다.
프로필 이미지
스터디
2020-11-14
519
글번호 143883
시스템