커뮤니티
문의사항입니다.
2010-11-15 10:06:14
657
글번호 33576
1. 손절식에 대해서 입니다.
이동평균전략에서
이전 진입값 대비 0.3pt 손실시 손절하는 수식을 넣고자 합니다. 또한 이것을 금액손절형으로 표시할 수 있는 수식도 궁금합니다. 즉, 300,000손실시 손절하는 식이 궁금합니다.
이때 손절식과 손절식이 수식내에 들어가는 순서를 알려주십시요. 손절식은 수식의 젤 마지막에 넣어야 하는지, 아니면 여러 지표식이 있을 경우 각 지표식마다 넣어야 하는지도 궁금합니다.
2. 일정범위내로 움직일 경우 매매가 되지 않도록 하고자 합니다.
예를 들어 20,60 이동평균크로스에 의한 진입가 대비 1pt이내로 움직이는 것에 대해서는 다음 이동평균크로스신호가 나와도 주문이 나가지 않도록 하는 수식이 어떻게 되는지요. 또 마찬가지로 여러 지표식이 있을 경우 각 지표식마다 이 수식을 넣어야 하는지 수식의 젤 마지막에 넣어야 하는지도 궁금합니다.
3. 진입가대비 일정부분 움직일 경우 이익실현 및 손절하는 수식이 궁금합니다.
예를 들어 진입가 대비 2pt이익시 이익실현, 1pt손실시 손절하는 수식이 궁금합니다.
답변 1
예스스탁 예스스탁 답변
2010-11-15 14:14:01
안녕하세요? 예스스탁입니다.
문의하신 내용 답변드립니다.
1. 손절식에 대해서 입니다.
이동평균전략에서
이전 진입값 대비 0.3pt 손실시 손절하는 수식을 넣고자 합니다.
또한 이것을 금액손절형으로 표시할 수 있는 수식도 궁금합니다.
즉, 300,000손실시 손절하는 식이 궁금합니다.
이때 손절식과 손절식이 수식내에 들어가는 순서를 알려주십시요.
손절식은 수식의 젤 마지막에 넣어야 하는지, 아니면 여러 지표식이 있을 경우
각 지표식마다 넣어야 하는지도 궁금합니다.
=> 청산식이 진입식 위에 와도 상관없지만, 일반적으로는 진입식을
먼저 작성하고 청산식을 나중에 작성합니다.
아래와 같이 작성하면 진입조건이 여러개일 경우 청산은 공통적으로 적용됩니다.
만일 진입별로 손절청산을 다르게 하려면 진입명을 이용하면 됩니다.
//포인트 기준 손절청산(청산 공통)
input : stopPoint(0.3);
if CrossUp(ma(C,20), ma(C,60)) Then
buy();
if CrossDown(ma(C,20), ma(C,60)) Then
sell();
If MarketPosition == 1 then
exitlong("EL", atstop, EntryPrice-stopPoint);
If MarketPosition == -1 then
exitshort("ES",atstop, EntryPrice+stopPoint);
//금액 기준 손절청산(청산 공통)
input : stopAmount(300000);
if CrossUp(ma(C,20), ma(C,60)) Then
buy();
if CrossDown(ma(C,20), ma(C,60)) Then
sell();
If MarketPosition == 1 then
exitlong("EL", atstop, EntryPrice-stopAmount/BigPointValue);
If MarketPosition == -1 then
exitshort("ES",atstop, EntryPrice+stopAmount/BigPointValue);
//포인트 기준 손절청산(청산 개별)
input : stopPoint1(0.3), stopPoint2(0.5);
if CrossUp(ma(C,20), ma(C,60)) Then
buy("B1");
if CrossDown(ma(C,20), ma(C,60)) Then
sell("S1");
if CrossUp(ma(C,50), ma(C,100)) Then
buy("B2");
if CrossDown(ma(C,50), ma(C,100)) Then
sell("S2");
If IsEntryName("B1") then
exitlong("EL1", atstop, EntryPrice-stopPoint1);
If IsEntryName("S1") then
exitshort("ES1",atstop, EntryPrice+stopPoint1);
If IsEntryName("B2") then
exitlong("EL2", atstop, EntryPrice-stopPoint2);
If IsEntryName("S2") then
exitshort("ES2",atstop, EntryPrice+stopPoint2);
2. 일정범위내로 움직일 경우 매매가 되지 않도록 하고자 합니다.
예를 들어 20,60 이동평균크로스에 의한 진입가 대비 1pt이내로 움직이는 것에 대해서는
다음 이동평균크로스신호가 나와도 주문이 나가지 않도록 하는 수식이 어떻게 되는지요.
또 마찬가지로 여러 지표식이 있을 경우 각 지표식마다 이 수식을 넣어야 하는지 수식의 젤
마지막에 넣어야 하는지도 궁금합니다.
=> 이와 같은 내용은 각각의 전략마다 제어해 주셔야 합니다.
var : entryValue(0);
if C > entryValue + 1 or C < entryValue - 1 then {
if CrossUp(ma(C,20), ma(C,60)) Then {
buy("B1");
entryValue = C;
}
if CrossDown(ma(C,20), ma(C,60)) Then {
sell("S1");
entryValue = C;
}
}
3. 진입가대비 일정부분 움직일 경우 이익실현 및 손절하는 수식이 궁금합니다.
예를 들어 진입가 대비 2pt이익시 이익실현, 1pt손실시 손절하는 수식이 궁금합니다.
=> 진입가대비 2포인트 수익시 이익실현
SetStopProfittarget(2, pointstop);
=> 진입가대비 1포인트 손설시 손절청산
SetStopLoss(1, pointstop);
다음글
이전글