커뮤니티

수고많으십니다. 수식수정부탁드립니다.

프로필 이미지
멋진감자
2023-04-18 22:43:23
663
글번호 168300
답변완료
/*수고많으십니다. 수식작성 왕초보입니다. 기본차트와 종목추가(Data2)두종목의 체결정보를 수동으로 입력하고, 두종목의 손익의 합이 일정금액이상이면 두종목 모두 동시청산을 하고 재진입 안되도록 수동입력정보를 (0)으로 리셋하는 시스템을 만드는 것이 목표입니다.*/ Inputs: 보유포지션(1), 보유수량(2), 체결가격(13,270.50),호가(0.25),틱가치(5),목표수익(500),보유포지션2(-1), 보유수량2(2), 체결가격2(2),호가2(0.01),틱가치2(10); //기본차트 //기본챠트 매도인지매수인지 포지션현황 MarketPosition==(보유포지션); //기본챠트 보유수량 CurrentContracts==(보유수량); //기본챠트 체결가격 EntryPrice==(체결가격); //기본차트의 가격차이 진입가격이 13,270.50이고 기본차트 종가가 13,300.50 이라면 차이나는 지수는 30 var1=MarketPosition-c; //차이나는 지수30 이나 호가0.25 이므로 120포인트로 환산한다. Var2=var1/호가; //수익포인트 120에 틱가치5달러를 하면 기본챠트수익이 600달러 Var3=Var2 *(틱가치); //보조챠트 //보조챠트 매도인지매수인지 포지션현황 var21=data2(MarketPosition==(보유포지션)); //보조챠트 보유수량 data2(CurrentContracts==(보유수량)); //보조챠트 체결가격 data2(EntryPrice==(체결가격)); //보조차트의 가격차이 진인가격이 80.00이고 기본차트 종가가 80.10이라면 차이나는지수는 0.10 var11=var21-data2(c); //차이나는 지수0.10이나 호가0.01이므로 10포인트로 환산한다. Var12=var11/호가; //손실포인트 10에 틱가치10달러를 하면 보조챠트손익이 100달러 Var13=Var12 *(틱가치); //기본챠트수익과 보조챠트손실 합계 수익500달러 var14=var3+var13; //목표수익발생되었으므로 두종목포지션 일괄동시청산 //기본챠트 청산 if 목표수익>=500 and MarketPosition==1 Then { Sell(); } if 목표수익>=500 and MarketPosition==-1 Then { Buy(); } //보조챠트 청산 if 목표수익>=500 and Var21==1 Then { Sell(); } if 목표수익>=500 and Var21==-1 Then { Buy(); } /*질문 : 1. 위와같이 수식을 작성하는 것이 맞는지 검토 부탁드립니다. 2. 포지션이 여러개인경우 청산수식 부탁드립니다. 3. 포지션이 쳥산된 경우 수동입력값을 (0)으로 리셋하는 수식 부탁드립니다.*/ 검증시 에러가 나네요 줄수6 열수 37 배열형 입력변수는 함수에서만 쓸수 있습니다. 줄수6 열수 48 문번에러, 잘몰된 토큰:comma(,)올 수 있는 것 줄수30 열수1 뒤의수식에는 데이터번호가 일요 없습니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-04-19 08:50:10

안녕하세요 예스스탁입니다. 1 수식은 차트에 진입신호가 없으면 청산이 발생할 수 없습니다. 랭귀지에서 제공되는 모든 포지션함수는 차트 신호상의 내용입니다. 또한 하나의 차트에서는 기본차트 한종목만 신호와 주문이 가능합니다. 올려주신 내용은 차트기반의 언어로는 구현이 되지 않습니다. 만약 구현한다면 예스스팟과 같이 API급 언어로 전략을 만들어 보셔야 합니다. 2 체결가격(13,270.50), 변수는 값을 하나만 가질수 있습니다. 천단위 자리를 표시한 내용이면 해당 기호는 제외하셔야 합니다. 체결가격(13270.50) 3 //기본차트 //기본챠트 매도인지매수인지 포지션현황 MarketPosition==(보유포지션); //기본챠트 보유수량 CurrentContracts==(보유수량); //기본챠트 체결가격 EntryPrice==(체결가격); 수식 상단의 위 내용이 어떤 의도에서 작성된 내용인지 알수 없습니다. 포지션 함수에 임의의 값을 지정하는 내용이면 불가능합니다. 랭귀지의 모든 포지션 함수는 차트 신호상의 내용을 리턴만합니다. 특정값을 지정할 수 없습니다. 즐거운 하루되세요 > 멋진감자 님이 쓴 글입니다. > 제목 : 수고많으십니다. 수식수정부탁드립니다. > /*수고많으십니다. 수식작성 왕초보입니다. 기본차트와 종목추가(Data2)두종목의 체결정보를 수동으로 입력하고, 두종목의 손익의 합이 일정금액이상이면 두종목 모두 동시청산을 하고 재진입 안되도록 수동입력정보를 (0)으로 리셋하는 시스템을 만드는 것이 목표입니다.*/ Inputs: 보유포지션(1), 보유수량(2), 체결가격(13,270.50),호가(0.25),틱가치(5),목표수익(500),보유포지션2(-1), 보유수량2(2), 체결가격2(2),호가2(0.01),틱가치2(10); //기본차트 //기본챠트 매도인지매수인지 포지션현황 MarketPosition==(보유포지션); //기본챠트 보유수량 CurrentContracts==(보유수량); //기본챠트 체결가격 EntryPrice==(체결가격); //기본차트의 가격차이 진입가격이 13,270.50이고 기본차트 종가가 13,300.50 이라면 차이나는 지수는 30 var1=MarketPosition-c; //차이나는 지수30 이나 호가0.25 이므로 120포인트로 환산한다. Var2=var1/호가; //수익포인트 120에 틱가치5달러를 하면 기본챠트수익이 600달러 Var3=Var2 *(틱가치); //보조챠트 //보조챠트 매도인지매수인지 포지션현황 var21=data2(MarketPosition==(보유포지션)); //보조챠트 보유수량 data2(CurrentContracts==(보유수량)); //보조챠트 체결가격 data2(EntryPrice==(체결가격)); //보조차트의 가격차이 진인가격이 80.00이고 기본차트 종가가 80.10이라면 차이나는지수는 0.10 var11=var21-data2(c); //차이나는 지수0.10이나 호가0.01이므로 10포인트로 환산한다. Var12=var11/호가; //손실포인트 10에 틱가치10달러를 하면 보조챠트손익이 100달러 Var13=Var12 *(틱가치); //기본챠트수익과 보조챠트손실 합계 수익500달러 var14=var3+var13; //목표수익발생되었으므로 두종목포지션 일괄동시청산 //기본챠트 청산 if 목표수익>=500 and MarketPosition==1 Then { Sell(); } if 목표수익>=500 and MarketPosition==-1 Then { Buy(); } //보조챠트 청산 if 목표수익>=500 and Var21==1 Then { Sell(); } if 목표수익>=500 and Var21==-1 Then { Buy(); } /*질문 : 1. 위와같이 수식을 작성하는 것이 맞는지 검토 부탁드립니다. 2. 포지션이 여러개인경우 청산수식 부탁드립니다. 3. 포지션이 쳥산된 경우 수동입력값을 (0)으로 리셋하는 수식 부탁드립니다.*/ 검증시 에러가 나네요 줄수6 열수 37 배열형 입력변수는 함수에서만 쓸수 있습니다. 줄수6 열수 48 문번에러, 잘몰된 토큰:comma(,)올 수 있는 것 줄수30 열수1 뒤의수식에는 데이터번호가 일요 없습니다. 감사합니다.