커뮤니티

예스랭귀지 Q&A

글쓰기

비리번 님에 의해서 삭제되었습니다.

프로필 이미지
비리번
2023-05-15
7
글번호 168973
검색
답변완료

함수요청

안녕하세요? 국내선물을 거래하고자합니다. 아래 전략에 대해 스크립트 작성 부탁들비니다. 수요일의 종가가 전주 금요일 종가대비 상승하고 월요일 시가보다 크면 목요일 시가 매수, 15시 20분 청산 수요일의 종가가 전주 금요일 종가대비 하락하고 월요일 시가보다 작으면 목요일 시가 매도, 15시 20분 청산
프로필 이미지
흰둥이아빠
2023-05-15
1379
글번호 168971
시스템
답변완료

수식문의드립니다.

항상 감사드립니다. 아래의 3 가지 수식에 이격도 (이평이 서로 너무 벌어지면 진입금지)를 추가해주시면 감사드리겠습니다, 저번처럼 외부변수로 해주시면 정말 감사드리겠습니다.(예 Input : p1(5), p2(20), Per(5);) [1번] Inputs: AvgLen1(10), AvgLen2(10), AvgLen3(10), AvgLen4(10), ARmult(4.5), Div(30); Vars: Avg1(0), Avg2(0), Avg3(0), Avg4(0), MP(0), StopPrice(0); Avg1 = ema(Close, AvgLen1); Avg2 = ema(Close, AvgLen2); Avg3 = ema(Close, AvgLen3); Avg4 = ema(Close, AvgLen4); If CrossUp(Avg1 , Avg2) AND (Avg2 > Avg3) AND (Avg3 > Avg4) then Buy("B",AtMarket); If CrossDown (Avg1 , Avg2) AND (Avg2 < Avg3) AND (Avg3 < Avg4) then Sell("S",AtMarket); If Avg1 < Avg2 then ExitLong("EL",AtMarket); If Avg1 > Avg2 then ExitShort("ES",AtMarket); MP = MarketPosition; if MP == 1 and MP[1] <> 1 then StopPrice = low - ma(range,40)*ARmult; if MP == -1 and MP[1] <> -1 then StopPrice = High + ma(range,40)*ARmult; If MP == 1 then { exitlong ("ExitLong", atstop, stopprice ); stopprice = stopprice + (low-stopprice)/Div; } If MP == -1 then { exitshort ("ExitShort",atstop, stopprice ); stopprice = stopprice - (stopprice-high)/Div; } [2번] Input: DMILen(70), ADXLen(20), entryPoint(0.2), ADXExit(30); Vars: BuySetup(false), SellSetup(false), BuyPrice(0), SellPrice(0), DPlus(0), DMin(0), ADXVal(0), ExitSPrc(0), ExitLPrc(0); DPlus = DIPlus(DMILen); DMin = DIMinus(DMILen); ADXVal = ADX(ADXLen); If DPlus > DMin AND CrossUp( ADXVal , DMin) and MarketPosition <> 1 then begin BuyPrice = High + entryPoint ; BuySetup = true; ExitLPrc = Low - entryPoint ; end; If ADXVal < DMin OR MarketPosition == 1 then BuySetup = False; If DPlus < DMin AND CrossUp( ADXVal , DPlus) and MarketPosition <> -1 then begin SellPrice = Low - entryPoint ; SellSetup = true; ExitSPrc = High + entryPoint ; end; If ADXVal < DPlus or MarketPosition == -1 then SellSetup = False; If BuySetup then Buy("B",atstop,BuyPrice); If SellSetup then Sell("S",atstop,SellPrice); /*If MarketPosition == 1 then Begin BuySetup = false; ExitLong("EL1",atstop,ExitLPrc); end; If MarketPosition == -1 then begin SellSetup = True; ExitShort("ES1",atstop,ExitSPrc); end; If ( ADXVal[1] >= ADXExit AND ADXVal < ADXVal[1] ) then Begin If MarketPosition == 1 and barssinceentry > 1 then ExitLong("EL2"); ; If MarketPosition == -1 and barssinceentry > 1 then ExitShort("ES2");; end; If DPlus < DMin and BarsSinceEntry > 1 then ExitLong("EL3"); If DPlus > Dmin and BarsSinceEntry > 1 then ExitShort("ES3");*/ [3번] Inputs: Length(300), Const(1.4), ChanPcnt(0.8), stopLen(40), stopper(1.0); Vars: KCU(0), KCL(0), ChanRng(0), AvgVal(0), AvgRange(0), SetBar(0), CountL(0), CountS(0); //Assignments of Keltner calculations AvgVal = ma(Close, Length); AvgRange = ma(TrueRange, Length); KCU = AvgVal + AvgRange * Const; KCL = AvgVal - AvgRange * Const; ChanRng = (KCU - KCL) / 2; //Accumulates to count the bars after the SetUps below CountL = CountL + 1; CountS = CountS + 1; //Buy Criteria Evaluation IF CrossUp(Close , KCU) Then Begin SetBar = High; CountL = 1; End; IF Close > KCU AND CountL <= 5 Then Buy("B",atstop,SetBar + (ChanRng * ChanPcnt)); //Sell Criteria Evaluation IF CrossDown(Close , KCL) Then Begin SetBar = Low; CountS = 1; End; IF Close < KCL AND CountS <= 5 Then Sell("S",atstop,SetBar - (ChanRng * ChanPcnt)); //System Stops IF CrossDown( Close , AvgVal) Then ExitLong(); IF CrossUP(Close , AvgVal) Then ExitShort(); //Trailing Stops ExitLong("EL2", atstop,Lowest(Low, StopLen) ); ExitShort("ES2", atstop,Highest(High, StopLen));
프로필 이미지
행복곰
2023-05-15
1686
글번호 168959
시스템
답변완료

문의 드립니다.

안녕하세요. 늘 감사드립니다. 30분봉, 60분봉등 큰봉을 씁니다. 봉의 시가에서 매수하여 (200)틱 익절 (-150)틱 손절 하는 단순한 매매인데, 시뮬레이션 차트로 검증을 해보니, 진입후 해당 진입봉의 꼬리가 (-150)틱 이하로 내려갔다가 (200)틱 이상으로 가도 익절로 계산되어서 아주 과대계산 이 됩니다. (큰시간봉에서는 한 봉내의 가격의 흐름 데이타가 없는 이유인듯) 실제 시스템 매매에는 적용하지 않더라도, 시뮬레이션 차트상에서만 이라도, 조건에 맞아 매수 진입한 해당봉의 꼬리가 input 으로 정한 손절(ex : -150) 이하이거나, 조건에 맞아 매도 진입한 해당봉의 꼬리가 input 으로 정한 손절(ex : 150) 이상이거나 진입하지 않은 다른봉의 꼬리는 상관없으나, 진입한 봉의 꼬리가 손절가이상에 해당하면 무조건 손절로 처리되어서 결과적으로는 손실로 결과 계산되어지게 하는 명령함수는 없을까요 ? 실제 매매시 실제 결과보다 시뮬레이션 결과가 과대 계산되어지는 오류를 막아보고자 합니다. 위의 사항을 구현할 수 없다면, 해당봉(진입한 봉의 꼬리가 손절가 이상) 의 갯수라도 차트상에 표기가 되었으면 좋겠는데요.. --------- 개발자님 곁에 늘 좋은일 가득하길 바랍니다. 감사합니다. ~~
프로필 이미지
하늘선물
2023-05-15
1095
글번호 168958
시스템
답변완료

시스템신호가 조건에 맞는 경우에도 나오지 않습니다.

시스템신호를 이용하여 자동매매 프로그램 모의테스트를 진행중입니다. 예스랭기지 조건식에 맞는 경우에 처음 1번은 신호가 나오는데 이후에는 신호가 나오지 않습니다. 주기는 30틱, 60틱, 1분 등 여러가지로 바꿔 테스트를 해도 실시간 조건에서 신호가 나오지 않습니다. 지나간 신호에 대해서는 조건에 맞는 시스템 매매신호가 나오는 것을 확인했습니다. 예를들어 아래와 비슷한 조건식을 사용하여 테스트를 하는 중입니다. - TSI가 0선 아래로 내려갈 경우 매도하고 - TSI가 0선 위로 올라갈 때 청산 실시간 매매신호가 정상적으로 나오게 하는 설정이 있는지 궁금하여 문의드립니다.
프로필 이미지
눈뜬사람
2023-05-15
1121
글번호 168956
시스템
답변완료

문의

답변 수식으로는 090300 첫봉에 진입하는 결과만 나옵니다. 체결가격도 다릅니다. 살펴주십시요. ***************************************************************************** 안녕하세요 예스스탁입니다. input : ntime(100000); var : T(0); #날짜변경되면 T는 0 if Bdate != Bdate[1] Then T = 0; #10시 이후이면 1 if (bDate != bDate[1] and sTime >= ntime) or (Bdate == Bdate[1] and sTime >= ntime and sTime[1] < ntime) Then T = 1; #10시 이후에 0.01까지 가격이 하락하면 T는 2 if T == 1 and L == 0.01 Then #(종가기준이면 C == 0.01) T = 2; #T는 2이고(0.01까지 하락후) 0.1이상 상승하면 즉시 매수 if T == 2 and H < 0.1 Then { Buy("b",AtStop,0.1); } 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : Re : Re : 문의 > 수식을 그대로 콜atm+2단계에 적용했는데 가격대가 0.01과 0.10 이 아닙니다. 살펴주시기 바랍니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의 > 안녕하세요 예스스탁입니다. input : ntime(100000); var : T(0); if Bdate != Bdate[1] Then T = 0; if (bDate != bDate[1] and sTime >= ntime) or (Bdate == Bdate[1] and sTime >= ntime and sTime[1] < ntime) Then { var1 = O; T = 1; } if T == 1 and C <= var1-0.01 Then T = 2; if T == 2 and C >= var1+0.1 Then { T = 3; Buy(); } 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 문의 > 국내선물 데이트레이딩 if 10시에 가격이 하락하여 0.01 을 체결한 후 다시 상승하여 0.10 을 돌파 then buy(); 입력시간부터 발생한 봉부터 계산하는 것을 반영하여 주십시요. 수식 완성 부탁드립니다.
프로필 이미지
목마와숙녀
2023-05-15
700
글번호 168948
시스템
답변완료

매수매도 조건 설정 문의

수고많으십니다. 조건설정시 1차매수 : 2000주 2차매수 : 500주 3차매수 : 500주 ... 3차까지만 매수하고 싶습니다. 매도는 1차매도 : 평단대비 5% 상승시 비중의 30%만 매도 (최초 5%상승시 1번만 매도) 나머지 전량매도 : 매도조건 달성시 , 혹은 평단대비 -15% 하락시 손절 이렇게 하고 싶은데 어떻게 설정을 해야할까요??
프로필 이미지
spar
2023-05-15
680
글번호 168947
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2023-05-15
10
글번호 168946
지표
답변완료

수식좀 요청 드립니다

* 항상 많은 도움에 고맙습니다. * 아래 수식에서 점 이 다른데 찍히는데 2가지 요청 좀 드림니다. 1. 정배열 상태 에서만 점 찍히게 부탁 드립니다. → 정배열 기준 : VAR1 > VAR2 > VAR3 OR(또는) VAR1> VAR3 > VAR2 2. 역배열 상태 에서도 동일 하게 찍히게 작성 좀 요청 드립니다. → 역배열 기준 : VAR1 < VAR2 < VAR3 OR(또는) VAR1 < VAR3 < VAR2 ## 아래 수식 VAR1 = MA(C,10) ; VAR2 = MA(C,20) ; VAR3 = MA(C,30) ; Plot1(VAR1) ; Plot2(VAR2) ; Plot3(VAR3,"3",Black,DeF,1) ; var : tx01(0); if VAR1 > Var2 AND VAR1 >Var3 Then { if VAR1 > Var2 AND VAR1 > Var3 AND Var2 > Var3 Then { Tx01 = Text_New(sdate,stime,Var3,"■"); Text_SetStyle(Tx01,2,2); Text_SetColor(Tx01,RED ); Text_SetSize(Tx01,12); } } * 좋은 한주 되십시요.
프로필 이미지
요타
2023-05-14
878
글번호 168945
강조
답변완료

자동매매 거래시간

거래시간을 정하지않고 컴퓨터를 계속 켜놓으면 아침에(6시-7시) 사이 거래쉬는시간에 멈췄다가 7시 거래시작하면 자동으로 자동매매 시작되나요? 예를들어) 컴퓨터 1달동안 켜놓아도 (컴퓨터 정지하기전까지) 자동으로 돌아가나요?
프로필 이미지
그린랜드
2023-05-14
1348
글번호 168944
시스템