커뮤니티

도움 부탁드립니다

프로필 이미지
이만스닥
2022-06-27 16:41:28
1361
글번호 160232
답변완료
안녕하세요 항상 성실한 답변/도움에 감사드립니다. 아래와 같은 식을 만들고 싶은데 도와주시면 감사하겠습니다. 부탁드립니다. 궁극적인 목표는 아래와 같습니다 1. 각 매매 신호마다 변수에 저장하여 저번 매매에 대한 평가 수행 1-a. 익절이라면 다음 숏 신호를 무시 1-b. 손절이라면 숏 신호 참여 밑에 최대한 제가 생각해본데로 식을 적어봤는데 많이 지저분합니다. 최대한 노력해봤는데, 깔끔하게 더 좋은 방식이 있다면 그 방식대로 작성 부탁드립니다. 보시면 제가 어떤것을 하려하는지 바로 보이실 겁니다 (__) ---- var : 익절(0), filter(0) //롱포지션용 롱포용 익절 신호 = L < 특정 가격; If filter == 0 && 매수조건 then 매수trigger = 1 //필터가 0이고 매수조건이 참이면 트리거가 1 If 매수trigger == 1 then begin //트리거가 1이라면 [ Buy(); // 매수 매수Trigger = 0; // 매수 후 트리거는 다시 0으로 ] end; if marketposition ==1 then begin // 롱포라면 아래의 프로세스 시작 [ a = 진입가; <-- 해당 진입가는 a라는 변수에 저장되고 다음 매수 신호가 나올때까지 유효하게 해주세요 // a라는 변수에 진입가 지정. 해당 변수는 다음 롱포 잡을때까지 유효. 새로 롱포 잡으면 해당 진입가를 a라는 변수에 대입 If 손절신호 then trigger2 = 1 //(롱포인 상태에서) 손절신호 나오면 트리거2 가 참 If trigger 2 == 1 then begin [ 특정 가격 = b //트리거2가 참이라면 b라는 변수에 특정 가격 대입 exitlong("손절"); // (트리거2가 참이라면 손절 ㄱㄱ) ] ] end; If marketposition[1] == 1 and marketposition == 0 //전에는 롱포였고 이제는 무포라면(청산했다면) and B < A //손절가 < 진입가라면 (돈 잃었다면) then filter = 1 //필터는 1 If marketposition[1] == 1 and marketposition == 0 //전에는 롱포였고 이제는 무포라면(청산했다면) and B > A // 돈 벌었다면 then filter = 0 //필터는 0 숏포지션용 If filter == 1 && 매도조건 then 매도trigger = 1 //필터가 1이고 매도조건 참이면 매도트리거가 1 손절 및 익절은 위와 비슷 If marketposition[1] == -1 and marketposition == 0 //전에는 숏포였고 이제는 무포라면 and D < C then filter = 1 // 익절가 < 진입가 라면(돈 벌었다면) 필터는 1 If marketposition[1] == -1 and marketposition == 0 //전에는 숏포였고 이제는 무포라면 and D > C then filter = 0 //익절가 >진입가 (손절했다면)라면 필터는 0
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-28 10:32:34

안녕하세요 예스스탁입니다. 올려주신 내용으로 수정해 드리기는 어렵습니다. 올리신 내용으로 손절조건시 가격은 저장이 되지만 다른 청산으로 청산될때의 값은 알수가 없습니다. 청산이후에 직전거래의 손익이 수익이면 1, 아니면 0을 filter변수에 할당해서 진입에 이용하고자 하시면 아래와 같이 간단히 작성해 사용하시면 됩니다. if TotalTrades > TotalTrades[1] and MarketPosition == 0 Then { if MarketPosition(1) == 1 Then { if PositionProfit(1) < 0 Then filter = 1; Else filter = 0; } } 즐거운 하루되세요 > 이만스닥 님이 쓴 글입니다. > 제목 : 도움 부탁드립니다 > 안녕하세요 항상 성실한 답변/도움에 감사드립니다. 아래와 같은 식을 만들고 싶은데 도와주시면 감사하겠습니다. 부탁드립니다. 궁극적인 목표는 아래와 같습니다 1. 각 매매 신호마다 변수에 저장하여 저번 매매에 대한 평가 수행 1-a. 익절이라면 다음 숏 신호를 무시 1-b. 손절이라면 숏 신호 참여 밑에 최대한 제가 생각해본데로 식을 적어봤는데 많이 지저분합니다. 최대한 노력해봤는데, 깔끔하게 더 좋은 방식이 있다면 그 방식대로 작성 부탁드립니다. 보시면 제가 어떤것을 하려하는지 바로 보이실 겁니다 (__) ---- var : 익절(0), filter(0) //롱포지션용 롱포용 익절 신호 = L < 특정 가격; If filter == 0 && 매수조건 then 매수trigger = 1 //필터가 0이고 매수조건이 참이면 트리거가 1 If 매수trigger == 1 then begin //트리거가 1이라면 [ Buy(); // 매수 매수Trigger = 0; // 매수 후 트리거는 다시 0으로 ] end; if marketposition ==1 then begin // 롱포라면 아래의 프로세스 시작 [ a = 진입가; <-- 해당 진입가는 a라는 변수에 저장되고 다음 매수 신호가 나올때까지 유효하게 해주세요 // a라는 변수에 진입가 지정. 해당 변수는 다음 롱포 잡을때까지 유효. 새로 롱포 잡으면 해당 진입가를 a라는 변수에 대입 If 손절신호 then trigger2 = 1 //(롱포인 상태에서) 손절신호 나오면 트리거2 가 참 If trigger 2 == 1 then begin [ 특정 가격 = b //트리거2가 참이라면 b라는 변수에 특정 가격 대입 exitlong("손절"); // (트리거2가 참이라면 손절 ㄱㄱ) ] ] end; If marketposition[1] == 1 and marketposition == 0 //전에는 롱포였고 이제는 무포라면(청산했다면) and B < A //손절가 < 진입가라면 (돈 잃었다면) then filter = 1 //필터는 1 If marketposition[1] == 1 and marketposition == 0 //전에는 롱포였고 이제는 무포라면(청산했다면) and B > A // 돈 벌었다면 then filter = 0 //필터는 0 숏포지션용 If filter == 1 && 매도조건 then 매도trigger = 1 //필터가 1이고 매도조건 참이면 매도트리거가 1 손절 및 익절은 위와 비슷 If marketposition[1] == -1 and marketposition == 0 //전에는 숏포였고 이제는 무포라면 and D < C then filter = 1 // 익절가 < 진입가 라면(돈 벌었다면) 필터는 1 If marketposition[1] == -1 and marketposition == 0 //전에는 숏포였고 이제는 무포라면 and D > C then filter = 0 //익절가 >진입가 (손절했다면)라면 필터는 0