제가 청산하는 수식은 다음과 같습니다
(1) CCI값이 crossdown에 만족하면 청산
(2) 특정 수익구간에서 음봉시 청산
(3) 일정 수익 발생 후 청산하지 못하고 하락했을때 강제 청산
인데요...
트레일링 스탑을 적용하고 싶습니다.
위 조건을 만족하는 조건에다가
40틱(변수1지정할것임) 상승후 고점에서 -20틱(변수2지정할것임) 하락 시 청산 하는 트레일링
수식 바람니다.
그리고 트레일링은 최적화 수식 돌리면 오류가 많이 발생하나요??
변수1,2 지정을 최적화하려는데 어떻게 해야할까요???
항상 감사드림니다.
================= 수식 ====================
Input : CCI기간(20),CCI값(350);
Input : 즉시익절1(250),즉시손절1(225);
Input : N2(0.6),N3(0);
if MarketPosition == 1 then
{
BuySetup = false;
if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and
CCIv < CCI값 and C < O Then
ExitLong("매수cci청산");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then
ExitLong("즉시익절1");
if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then
ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3);
Else
ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1);
}
답변 1
예스스탁
예스스탁 답변
2020-02-12 13:22:14
안녕하세요
예스스탁입니다.
어떤 오류를 말씀하시는지 모르겠습니다.
아래식으로 최적화하시면 됩니다.
Input : CCI기간(20),CCI값(350);
Input : 즉시익절1(250),즉시손절1(225);
input : tr수익(40),tr하락(20);
Input : N2(0.6),N3(0);
if MarketPosition == 1 then
{
BuySetup = false;
if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and
CCIv < CCI값 and C < O Then
ExitLong("매수cci청산");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then
ExitLong("즉시익절1");
if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then
ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3);
Else
ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1);
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*tr수익 Then
ExitLong("tr",AtStop, highest(H,BarsSinceEntry)-PriceScale*tr하락);
}
즐거운 하루되세요
> 이형지 님이 쓴 글입니다.
> 제목 : 청산 수식 부탁드릴께요( 트레일링 )
>
제가 청산하는 수식은 다음과 같습니다
(1) CCI값이 crossdown에 만족하면 청산
(2) 특정 수익구간에서 음봉시 청산
(3) 일정 수익 발생 후 청산하지 못하고 하락했을때 강제 청산
인데요...
트레일링 스탑을 적용하고 싶습니다.
위 조건을 만족하는 조건에다가
40틱(변수1지정할것임) 상승후 고점에서 -20틱(변수2지정할것임) 하락 시 청산 하는 트레일링
수식 바람니다.
그리고 트레일링은 최적화 수식 돌리면 오류가 많이 발생하나요??
변수1,2 지정을 최적화하려는데 어떻게 해야할까요???
항상 감사드림니다.
================= 수식 ====================
Input : CCI기간(20),CCI값(350);
Input : 즉시익절1(250),즉시손절1(225);
Input : N2(0.6),N3(0);
if MarketPosition == 1 then
{
BuySetup = false;
if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and
CCIv < CCI값 and C < O Then
ExitLong("매수cci청산");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then
ExitLong("즉시익절1");
if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then
ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3);
Else
ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1);
}