커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

수식에 어려움이 많습니다 도와주세요!!!!

수고하십니다~~~ 기존에는 영웅문을 사용하다가 지금은 하이투자증권의 예스트레이더를 이용하고 있습니다 영웅문과 다른점이 많아서 많이 헤매고 있습니다 많은 도움 부탁드립니다 아래는 영웅문에서의 신호발생 수식입니다 S=sum(1); M5=ma((H+L+C)/3, 기간1); M20=ma((H+L+C)/3, 기간2); M60=ma((H+L+C)/3, 기간3); 상승전환=M5>M5(1) && M5(1)<M5(2) && M5(2)<M5(3); 하락전환=M5<M5(1) && M5(1)>M5(2) && M5(2)>M5(3); 상전1=Valuewhen(1,상승전환,S); 상전2=Valuewhen(2,상승전환,S); 상전3=Valuewhen(3,상승전환,S); 상전4=Valuewhen(4,상승전환,S); 상승1=Valuewhen(1,상승전환,M5(1)); 상승2=Valuewhen(2,상승전환,M5(1)); 상승3=Valuewhen(3,상승전환,M5(1)); 상승4=Valuewhen(4,상승전환,M5(1)); 하전1=Valuewhen(1,하락전환,S); 하전2=Valuewhen(2,하락전환,S); 하락1=Valuewhen(1,하락전환,M5(1)); 하락2=Valuewhen(2,하락전환,M5(1)); 단기=Valuewhen(1,상승전환,M5(1)); 중기=Valuewhen(1,상승전환,M20(1)); 장기=Valuewhen(1,상승전환,M60(1)); 순서=상전4<상전3 && 상전3<하전1 && 하전1<상전2 && 상전2<상전1; 높이=상승4<상승3 && 상승3<상승2 && 상승2*(1-하락률)>=상승1; 이평=단기<중기 && 중기<장기; 진입=순서 && 높이 && 이평 && Crossup(C,하락1); 진입(1) 지표변수 기간1=5 기간2=20 기간3=60 하락률=0.01 을 넣었습니다 첨부된 그림과 함께 보시고 도움 부탁드립니다
프로필 이미지
인내로다
2022-05-23
1609
글번호 159180
시스템
답변완료

[질문; 77224번] 에 대한 추가 질문 드립니다.

질문사항중 77224번에 대한 추가 질문이 있어서 문의 드립니다. 답변자료의 수식을 그데로 복사해서 넣으니까 10회 이후에 분할 매수되는 부분이 매도가 안되고 계속 보유하게 되어 있어서 아래 수식과 같이 //// 체크 부분의 위치에 수식을 추가하여 전량 매도가 가능하도록 하여 실행은 잘 되어 문제는 없어 보이는데, 1. 첨부한 캡쳐 사진 처럼 통합챠트에 bx3가 안나와도 될 위치에서 다른 종목들도 그렇고 bx1의 신호가 나올때 bx3가 섞여서 나옵니다.(어떤종목은 10회이하 분할 매수시에도 bx3가나오고, 어떤종목은 10회 이하에서는 bx1만 나올 때도 있고 그렇습니다. 해결 방법과 이유가 궁굼합니다. 2. 2번째로 첨부한 캡쳐 사진처럼 위의 1번 질문과 같이 bx3가 안나와야 할 위치에서 나올때는 거래내역에 거래수량이 0.000000 이런식으로 표기가 되는데 이것 또한 위의 1번과 같이 해결 방법을 알려 주시면 감사하겠습니다. ------------------------------------------------------------------------------------ var : AE1(0),Vol1(0),sum1(0),sum2(0),Vol2(0),AE2(0),Vol3(0),AE3(0); var : Xcond1(False),Xcond2(False),Xcond3(False); if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] Then { if LatestExitName(0) == "bx1" Then Xcond1 = true; if LatestExitName(0) == "bx2" Then Xcond2 = true; if LatestExitName(0) == "bx3" Then Xcond3 = true; } if MaxEntries <= 10 Then { AE1 = AvgEntryPrice; vol1 = CurrentContracts; } if Xcond1 == False and Vol1 > 0 Then ExitLong("bx1",AtLimit,AE1*원하는_평단가요율,"",vol1,1); if MaxEntries >= 9 and MaxEntries <= 11 Then { if CurrentContracts > CurrentContracts[1] Then { sum1 = sum1 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0); sum2 = sum2 + (CurrentContracts-CurrentContracts[1]); AE2 = sum1/sum2; } } if MaxEntries >= 11 Then { if CurrentContracts > CurrentContracts[1] Then { Vol2 = Vol2 + (CurrentContracts-CurrentContracts[1]); } if Xcond2 == false Then ExitLong("bx2",AtLimit,AE2*원하는_평단가요율,"",vol2,1); } /////////////////////////////////////////////////////////////////////////// if MaxEntries <= 10 and MaxEntries <= 19 Then { AE3 = AvgEntryPrice; vol3 = CurrentContracts; } if Xcond3 == False and Vol3 > 0 Then ExitLong("bx3",AtLimit,AE3*원하는_평단가요율,"",vol3,1); ///////////////////////////////////////////////////////////////////////////// } Else { AE1 = 0; vol1 = 0; sum1 = 0; sum2 = 0; vol2 = 0; AE2 = 0; AE3 = 0; vol3 = 0; Xcond1 = False; Xcond2 = False; Xcond3 = False; }
프로필 이미지
유경완
2022-05-23
1109
글번호 159178
시스템
답변완료

피보나치 조정대 임의의 기준점부터 표시

input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4); var : HH(0),LL(0),D1(0),T1(0); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0); HH = DayHigh; LL = daylow; var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100)); var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100)); var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100)); var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100)); var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100)); if Bdate != Bdate[1] Then { D1 = sDate; T1 = sTime; TL1 = TL_New(D1,T1,HH,NextBarSdate,NextBarStime,HH); TL2 = TL_New(D1,T1,var1,NextBarSdate,NextBarStime,var1); TL3 = TL_New(D1,T1,var2,NextBarSdate,NextBarStime,var2); TL4 = TL_New(D1,T1,var3,NextBarSdate,NextBarStime,var3); TL5 = TL_New(D1,T1,var4,NextBarSdate,NextBarStime,var4); TL6 = TL_New(D1,T1,var5,NextBarSdate,NextBarStime,var5); TL7 = TL_New(D1,T1,LL,NextBarSdate,NextBarStime,LL); #굵기 TL_SetSize(TL1,1); TL_SetSize(TL2,1); TL_SetSize(TL3,1); TL_SetSize(TL4,4); TL_SetSize(TL5,1); TL_SetSize(TL6,1); TL_SetSize(TL7,1); #색상 TL_SetColor(TL1,Green); TL_SetColor(TL2,Cyan); TL_SetColor(TL3,Red); TL_SetColor(TL4,Pink); TL_SetColor(TL5,Blue); TL_SetColor(TL6,Cyan); TL_SetColor(TL7,Green); } Else { TL_SetBegin(TL1,D1,T1,HH); TL_SetBegin(TL2,D1,T1,var1); TL_SetBegin(TL3,D1,T1,Var2); TL_SetBegin(TL4,D1,T1,Var3); TL_SetBegin(TL5,D1,T1,Var4); TL_SetBegin(TL6,D1,T1,var5); TL_SetBegin(TL7,D1,T1,LL); TL_SetEnd(TL1,Sdate,Stime,HH); TL_SetEnd(TL2,Sdate,Stime,var1); TL_SetEnd(TL3,Sdate,Stime,Var2); TL_SetEnd(TL4,Sdate,Stime,Var3); TL_SetEnd(TL5,Sdate,Stime,Var4); TL_SetEnd(TL6,Sdate,Stime,var5); TL_SetEnd(TL7,Sdate,Stime,LL); } 반등파가 아닌 횡보 파동이 생길 때에는 일중 최고점 최저점 기준의 피보나치 조정대가 아닌 새로운 피보나치 조정대를 살펴봐야 해서, 장중에 임의의 어느 한 지점을 선택해서 숫자를 기입하거나 클릭하거나 안되면 최저점이나 최고점을 기준으로 그 지점부터 상승하면 위로,하락하면 아래로 선이 꺾이면서 벌어지지 않고,고저에 따라 수평 이동하면서 첫 라인도 같이 평행선으로 넓어지게 하는 조정대 부탁합니다. 숫자를 바뀌주면 기존 조정대 없어지고 새로 다시 시작되면 더욱 좋겠습니다. 여러번 감사합니다.
프로필 이미지
고성
2022-05-23
1264
글번호 159177
지표
답변완료

수식 부탁드립니다.

안녕하십니까 며칠전에 같은 내용으로 수식 부탁드렸었는데, 조건을 잘못 전달 드려서 다시 부탁드립니다. ㅇ 매수 1. 개장 후 5일 가격 이평선 하락 후 상승 구간에서 1번 조건 만족 후 2. 5일 가격이평선 직전보다 10%이상 상승 AND 3. 5일 거래량이평선 직전보다 10% 이상 상승 ㅇ 매도 1. 5일 가격이평선 하락 OR 2. 매수 후 5% 수익 OR 3. 오후 3시 15분 전량 매도 *5일 가격이평선을 기준으로 하락, 상승을 한 사이클로 보고, 2번 조건으로 매도가 실행되면 5일 이평선 하락 후 매수 신호가 다시 발생 할수있게 부탁드립니다. *매수 신호는 전일종가 대비 +- 20 이내에서만 나갈수 있게 부탁드립니다. 잘 부탁 드립니다 감사합니다.
프로필 이미지
대한이
2022-05-23
1080
글번호 159157
시스템
답변완료

오른쪽 연장.

항상 감사드립니다. 1)당일 시가선은 추세선처럼 오른쪽 연장은 안되나요?
프로필 이미지
좋운날
2022-05-23
970
글번호 159152
지표
답변완료

LatestEntryPrice 함수 질문

LatestEntryPrice 가 가장 최근 피라미딩 포지션 말고 처음진입한 포지션에도 해당이 되는 함수인가요? (보통 피라미딩이 아닌 처음 진입한 포지션에 대해서는 LatestEntryPrice 가 아닌 EntryPrice 만 쓰길레 여쭈어 봅니다) 예를 들면 처음 진입한 포지션 이후 피라미딩을 안해도 LatestEntryPrice 함수를 이용하면 처음 진입한 포지션에 함수가 적용이 되는지 궁금합니다.
프로필 이미지
히익
2022-05-23
1118
글번호 159146
시스템
답변완료

청산조건 2가지로 운용 문의

언제나 감사드립니다. 진입조건에 따라 청산식을 다르게 적용하는 수식좀 부탁드립니다 1.cond1(일반진입)충족시 매수, 매수청산은 SetStopTrailing(dn,ts,PercentStop) 적용 2.cond2:(강한진입: 앞에 10봉내에서 3회이상 수익거래 발생한 후 진입할 때는 추적청산(atr) 적용 ///////////////////// Input: DN(4),TS(10),이익횟수(3),AT(15),MUL(2); var : cnt(0),이익횟수(0); var : cond1(),cond2();//?? value1 = ma(C, 5); value2 = ma(C, 20); # 매수 If CrossUP(value1, value2) Then // 일반진입 { Buy("b1"); } If cond2 Then { Buy("b2"); } cond2= ? // 강한진입(앞에 10봉내에서 3회이상 이익발생후 진입) ##여기서 성능보고 거래내역을 보면 SetStopTrailing 신호발생 청산후, 같은시간 같은가격으로 신규진입이 동시신호 발생할 때가 있는 데,이것 제어하는 방법도 좀 부탁드립니다. settrailing 하는 순간에도 매수조건 충족이라 발생하는 것 같은 데요,이것 제어방법도 하나 부탁드립니다.지진입가!= 진입가[1]//진입시간!= ??? if bdate != bdate[1] Then{ 이익횟수 = 0; } For cnt = 1 to 10 { if positiionprofit(cnt) > 0 Then 이익횟수 = 이익횟수+1; } #??? if IsEntryName("b1") Then{ SetStopTrailing(dn,ts,PercentStop); } if IsEntryName("b2") Then{ exitlong("t청산",atstop,highest(High,barsSinceEntry)-atr(at)*mul); }
프로필 이미지
피카2
2022-05-23
1192
글번호 159144
시스템
답변완료

파라볼릭 수식 사용중입니다 전일 종가부터 반영되는데 오늘 시가부터 반영되게 할수 없을까요?

Input : af(0.02), maxAF(0.2); var1 = SAR(af,maxAF); if sDate == CurrentDate Then { if var1 > C Then Plot1(var1, "SAR",MAGENTA); Else Plot1(var1, "SAR",LightGreen); } 이렇게 수식 사용중인대 전일 종가부터 적용되는대 오늘 시가부터 적용되게 할수 없을까요? 할수 있다면 수식 좀 부탁드립니다
프로필 이미지
실버라인1
2022-05-23
1314
글번호 159140
지표
답변완료

사용수식인데요 추가할 사항 부탁드리겠습니다.

아래수식으로 해외선물 사용중에 있는데 청산 관련 수정하고 싶습니다. 1. 1회 매수진입할때와 다수 매수진입했을때도 같은 조건으로 청산하였는데요 if MarketPosition == 1 and var2 > 매도MFI값 Then ExitLong("MFI청산",atlimit,AvgEntryPrice*1.001); 이수식으로요.... 1회만 매수진입한것은 1% 상승 수익시 청산하는 것으로 하고 싶습니다. ExitLong("MFI청산",atlimit,AvgEntryPrice*1.01); 2회이상 매수진입한것은 기존대로 하고요 ExitLong("MFI청산",atlimit,AvgEntryPrice*1.001); 수식 부탁드려요~~~ input : 매수MFI기간(25); input : 매수MFI값(26); input : 최대진입계약수(4),추가매수하락퍼센트(4),급락매수하락퍼센트(8); input : 매도MFI기간(8); input : 매도MFI값(82); input : X(1000),Y(4); var1 = MFi(매수MFI기간); var2 = MFi(매도MFI기간); if MarketPosition == 0 and var1 < 매수MFI값 and C < O and V > V[1] and C <= Highest(H,X)*(1-Y/100)and c<c[매수MFI기간/2] Then Buy("b",OnClose,DEF,1); if MarketPosition == 1 and MaxEntries < 최대진입계약수 Then Buy("-4% 하락추가매수",AtLimit,LatestEntryPrice(0)*(1-추가매수하락퍼센트/100)); if MarketPosition == 1 Then Buy("-8%하락 추가매수",AtLimit,LatestEntryPrice(0)*(1-급락매수하락퍼센트/100)); if MarketPosition == 1 and var2 > 매도MFI값 Then ExitLong("MFI청산",atlimit,AvgEntryPrice*1.001); if DayOfWeek(Bdate) == 5 and ((NextBarSdate != sDate and NextBarStime >= 050000) or (NextBarSdate == sDate and NextBarStime >= 050000 and sTime < 050000)) Then { if C > AvgEntryPrice Then ExitLong("주말 편히 청산",atlimit,AvgEntryPrice*1.01); }
프로필 이미지
이형지
2022-05-23
1304
글번호 159139
시스템
답변완료

문의

해외선물 지수가 예를 들어 112.20에서 112.22로 112.21을 건너뛰고 상승했을 경우, 반대로 112.22에서 112.21을 건너뛰고 112.20으로 하락했을 경우, 이런 경우를 알아내거나 표시할 수 있는 수식이 가능할까요?
프로필 이미지
검은약
2022-05-23
975
글번호 159138
지표