커뮤니티

문의 드립니다.

프로필 이미지
에구머니
2013-10-04 15:03:21
117
글번호 68091
답변완료
감사합니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-10-04 14:32:11

안녕하세요 예스스탁입니다. 1. 지표에 따라 수량증감(청산/추가진입)이 있는데 수량증감을 모두 추적해서 손익을 계산하기에는 무리가 있습니다. 아래는 지표값이 변경이 되면 전량 청산하고 해당 수량만큼 다시 매도하는 것으로 간주하고 작성한 식입니다. 아래식 참고하셔서 수정/보완하셔서 사용하시기 바랍니다. 1) # data1 선물 # data2 콜 # data3 풋 var : C1(0,data2),CP(0,data2),CE(0,data2),CPL(0,data2); var : P1(0,data2),PP(0,data2),PE(0,data2),PPL(0,data2); #C1 = ~~~; #C2 = ~~~; if data2(dayindex == 0) Then{ CP = data2(c); CE = C1; CPL = 0; } if data2(dayindex > 0 ) Then{ if C1 != C1[1] Then{ CPL = CPL+(data2(CP-C)*CE); } CP = data2(c); CE = C1; } if data2(dayindex == 0) Then{ PP = data3(c); PE = C1; PPL = 0; } if data2(dayindex > 0 ) Then{ if P1 != P1[1] Then{ PPL = PPL+(data2(PP-C)*PE); } PP = data2(c); PE = P1; } plot1(CPL+PPL); 2) # data1 선물 # data2 콜 # data3 풋 var : C1(0,data2),CP(0,data2),CE(0,data2),CPL(0,data2); var : P1(0,data2),PP(0,data2),PE(0,data2),PPL(0,data2); #C1 = ~~~; #C2 = ~~~; if data2(dayindex == 0) Then{ CP = data2(c); CE = C1; CPL = 0; } if data2(dayindex > 0 ) Then{ if C1 != C1[1] Then{ CPL = CPL+(data2(CP-C)*CE) -data2(c)*0.0004 -CP*0.0004 -data2(iff(data2(c)>=3.0,0.025,0.005)) -data2(iff(CP>=3.0,0.025,0.005)); } CP = data2(c); CE = C1; } if data2(dayindex == 0) Then{ PP = data3(c); PE = C1; PPL = 0; } if data2(dayindex > 0 ) Then{ if P1 != P1[1] Then{ PPL = PPL+(data2(PP-C)*PE) -data2(c)*0.0004 -CP*0.0004 -data2(iff(data2(c)>=3.0,0.025,0.005)) -data2(iff(CP>=3.0,0.025,0.005)); } PP = data2(c); PE = P1; } plot1(CPL+PPL); 2 1) date != date[1] 2) 해당 부분은 if문으로 특정이름의 신호가 발생할때 카운트를 하여 횟수별로 값을 저장해 사용하셔야 합니다. if date != date[1] then var1 = 0; if A신호 Then buy("A신호"); if B신호 Then buy("B신호"); if MarketPosition == 1 and BarsSinceEntry == 1 then{ if IsEntryName("신호A") == true Then{ var1 = var1+1' if var1 == 1 Then var2 = H[BarsSinceEntry]; if var2 == 2 Then var3 = H[BarsSinceEntry]; } if IsEntryName("신호B") == true Then{ var4 = H[BarsSinceEntry]; } } if MarketPosition == 0 and var1 >= 2 and C > var2 and C > var3 and C < var4 Then buy(); 3) if MarketPosition == 0 Then var1 = 0; if MarketPosition == 1 Then var1 = CurrentContracts; if MarketPosition == -1 Then var1 = -CurrentContracts; > 에구머니 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 감사합니다.