커뮤니티

수식 수정 좀 부탁드립니다.

프로필 이미지
산수유
2024-06-14 16:13:29
791
글번호 180659
답변완료
1. If MarketPosition <= 0 and c> value1 and stm1 > stm2 Then Buy("b2",OnClosE,DeF,2) 2계약 매수진입 2 .If MarketPosition <= 0 and c> value1 and stm1 < stm2 Then Buy("b3",OnClosE,DeF,1) 1계약 매수진입. 3. 그런데 2번 조건에서 1계약 매수후 c> value1 and stm1 > stm2 로 변경되면 추가로 Buy("b4",OnClosE,DeF,1) 1계약 매수진입 1.번과3.번은 아래의 손절과 목표수익으로 한다.(매수단가별 익절 .손절 처리) 2.번은 손실포인트1과 목표수익 1으로 처리한다.는 식 좀 부탁드립니다. (1.과2은 매수단가가 같아서 수익과 손실을 정하기 쉬운데 3.번은 최초 매수단가와 추가 매수단가가 다릅니다.-평균 매입가가 아니라 각각의 매수단가에 적용하려고 합니다.) if MarketPosition == 1 Then { ExitLong("bp1",AtLimit,EntryPrice+목표수익1,"",1,1); ExitLong("bp2",AtLimit,EntryPrice+목표수익2,"",1,1); ExitLong("bl1",AtStop,EntryPrice-손실포인트1,"",1,1); ExitLong("bl2",AtStop,EntryPrice-손실포인트2,"",1,1); }
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2024-06-17 10:25:52

안녕하세요 예스스탁입니다. 추가진일이 가능한 내용이므로 적용시에 설정창의 피라미딩탭에서 피라미딩을 다른진입신호만허용으로 설정하고 적용하시면 됩니다. If MarketPosition <= 0 Then { if c > value1 and stm1 > stm2 Then Buy("b2",OnClosE,DeF,2); if c > value1 and stm1 < stm2 Then Buy("b3",OnClosE,DeF,1); } if MarketPosition == 1 and IsEntryName("b3") == true and MaxContracts == 1 Then { if c > value1 and stm1 > stm2 Then Buy("b4",OnClosE,DeF,1); } if MarketPosition == 1 Then { if IsEntryName("b3") == true Then { ExitLong("bp",AtLimit,EntryPrice+목표수익1,"",1,1); ExitLong("bl",AtLimit,EntryPrice-손절포인트1,"",1,1); } Else { ExitLong("bp1",AtLimit,avgEntryPrice+목표수익1,"",1,1); ExitLong("bp2",AtLimit,avgEntryPrice+목표수익2,"",1,1); ExitLong("bl1",AtStop,avgEntryPrice-손실포인트1,"",1,1); ExitLong("bl2",AtStop,avgEntryPrice-손실포인트2,"",1,1); } } 즐거운 하루되세요 > 산수유 님이 쓴 글입니다. > 제목 : 수식 수정 좀 부탁드립니다. > 1. If MarketPosition <= 0 and c> value1 and stm1 > stm2 Then Buy("b2",OnClosE,DeF,2) 2계약 매수진입 2 .If MarketPosition <= 0 and c> value1 and stm1 < stm2 Then Buy("b3",OnClosE,DeF,1) 1계약 매수진입. 3. 그런데 2번 조건에서 1계약 매수후 c> value1 and stm1 > stm2 로 변경되면 추가로 Buy("b4",OnClosE,DeF,1) 1계약 매수진입 1.번과3.번은 아래의 손절과 목표수익으로 한다.(매수단가별 익절 .손절 처리) 2.번은 손실포인트1과 목표수익 1으로 처리한다.는 식 좀 부탁드립니다. (1.과2은 매수단가가 같아서 수익과 손실을 정하기 쉬운데 3.번은 최초 매수단가와 추가 매수단가가 다릅니다.-평균 매입가가 아니라 각각의 매수단가에 적용하려고 합니다.) if MarketPosition == 1 Then { ExitLong("bp1",AtLimit,EntryPrice+목표수익1,"",1,1); ExitLong("bp2",AtLimit,EntryPrice+목표수익2,"",1,1); ExitLong("bl1",AtStop,EntryPrice-손실포인트1,"",1,1); ExitLong("bl2",AtStop,EntryPrice-손실포인트2,"",1,1); }
프로필 이미지

산수유

2024-06-17 15:36:13

if MarketPosition == 1 and IsEntryName("b3") == true and MaxContracts == 1 Then { if c > value1 and stm1 > stm2 Then Buy("b4",OnClosE,DeF,1); } 혹시 괄호나 then에서 문제가 있는지 계속 오류뜹니다. 확인좀 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 수정 좀 부탁드립니다. > 안녕하세요 예스스탁입니다. 추가진일이 가능한 내용이므로 적용시에 설정창의 피라미딩탭에서 피라미딩을 다른진입신호만허용으로 설정하고 적용하시면 됩니다. If MarketPosition <= 0 Then { if c > value1 and stm1 > stm2 Then Buy("b2",OnClosE,DeF,2); if c > value1 and stm1 < stm2 Then Buy("b3",OnClosE,DeF,1); } if MarketPosition == 1 and IsEntryName("b3") == true and MaxContracts == 1 Then { if c > value1 and stm1 > stm2 Then Buy("b4",OnClosE,DeF,1); } if MarketPosition == 1 Then { if IsEntryName("b3") == true Then { ExitLong("bp",AtLimit,EntryPrice+목표수익1,"",1,1); ExitLong("bl",AtLimit,EntryPrice-손절포인트1,"",1,1); } Else { ExitLong("bp1",AtLimit,avgEntryPrice+목표수익1,"",1,1); ExitLong("bp2",AtLimit,avgEntryPrice+목표수익2,"",1,1); ExitLong("bl1",AtStop,avgEntryPrice-손실포인트1,"",1,1); ExitLong("bl2",AtStop,avgEntryPrice-손실포인트2,"",1,1); } } 즐거운 하루되세요 > 산수유 님이 쓴 글입니다. > 제목 : 수식 수정 좀 부탁드립니다. > 1. If MarketPosition <= 0 and c> value1 and stm1 > stm2 Then Buy("b2",OnClosE,DeF,2) 2계약 매수진입 2 .If MarketPosition <= 0 and c> value1 and stm1 < stm2 Then Buy("b3",OnClosE,DeF,1) 1계약 매수진입. 3. 그런데 2번 조건에서 1계약 매수후 c> value1 and stm1 > stm2 로 변경되면 추가로 Buy("b4",OnClosE,DeF,1) 1계약 매수진입 1.번과3.번은 아래의 손절과 목표수익으로 한다.(매수단가별 익절 .손절 처리) 2.번은 손실포인트1과 목표수익 1으로 처리한다.는 식 좀 부탁드립니다. (1.과2은 매수단가가 같아서 수익과 손실을 정하기 쉬운데 3.번은 최초 매수단가와 추가 매수단가가 다릅니다.-평균 매입가가 아니라 각각의 매수단가에 적용하려고 합니다.) if MarketPosition == 1 Then { ExitLong("bp1",AtLimit,EntryPrice+목표수익1,"",1,1); ExitLong("bp2",AtLimit,EntryPrice+목표수익2,"",1,1); ExitLong("bl1",AtStop,EntryPrice-손실포인트1,"",1,1); ExitLong("bl2",AtStop,EntryPrice-손실포인트2,"",1,1); }