커뮤니티
문의드립니다
2014-08-27 14:29:15
158
글번호 78125
안녕하십니까
수식추가로문의드립니다
이전문의에 아래와같이말씀해주셨는데요"
추가로 적용되야하는부분이있어
문의드립니다.
1.아래조건에 더하여
처음 매수포지션이 발생하였을때도
매수이전봉의 저가를 돌파했을시 매도포지션발생
처음 매도포지션이 발생하였을때도
매도이전봉의 고가를 돌파했을시 매수포지션발생
아래식은 포지션을 취한 다음봉부터 적용되어
해당봉에서 적용되지않아 문의드립니다.
2.다른문의로
현재봉의값과 이전봉의값이 같을시 포지션을 유지하지만
현재봉의값과 이전봉도 같고 그 이전의봉도 같을시
포지션을 변경하는 식 문의드립니다.
3.하나더 문의드리면..
하루에 2번만 매수ㅡ청산.매도ㅡ청산
발생되게 하려면 어떤식을적용해야하는지 문의드립니다
4. 하나다른것..
조건의 우선순위적용을 두고싶을때 어떻게
식을작성해야하나요...
가령 조건1,조건2가 맞아도 조건3이 안맞으면
실행하지않는다
조건1,조건2,조건3 중 하나만 맞아도 실행한다
부탁드리겠습니다.
수고하십시오!
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
안녕하세요
예스스탁입니다.
if MarketPosition == 1 Then{
      if C < EntryPrice Then
            sell("sb1",AtStop,L-PriceScale);
      Else
            sell("sb2",AtStop,L[BarsSinceEntry]-PriceScale);
}
if MarketPosition == -1 Then{
      if C > EntryPrice Then
            Buy("bs1",AtStop,H+PriceScale);
      Else
            Buy("bs2",AtStop,H[BarsSinceEntry]+PriceScale);
}
            
답변 1
예스스탁 예스스탁 답변
2014-08-27 15:37:06
안녕하세요
예스스탁입니다.
1.
if 매수진입조건 Then{
buy("b");
Sell("bx",AtStop,L-PriceScale);//다음봉이 매수진입조건봉의 저가 하향시 매도로 전환
}
if MarketPosition == 1 Then{
if C < EntryPrice Then
sell("sb1",AtStop,L-PriceScale);
Else
sell("sb2",AtStop,L[BarsSinceEntry]-PriceScale);
}
if 매도진입조건 Then{
sell("b");
buy("bx",AtStop,H+PriceScale); //다음봉이 매도진입조건봉의 저가 하향시 매도로 전환
}
if MarketPosition == -1 Then{
if C > EntryPrice Then
Buy("bs1",AtStop,H+PriceScale);
Else
Buy("bs2",AtStop,H[BarsSinceEntry]+PriceScale);
}
2.
if MarketPosition == 1 and countif(C==C[1],3) == 3 Then
sell();
if MarketPosition == -1 and countif(C==C[1],3) == 3 Then
buy();
3.
아래수식에세 entry가 당일 진입횟수, Bentry는 매수진입횟수 ,Sentry는 매도진입횟수입니다.
만약 단순 토탈 2회이면 아래와 같이 작성하시면 됩니다.
var : entry(0),Bentry(0),Sentry(0);
if stime == 090000 or (stime > 090000 and stime[1] < 090000) Then{
Entry = 0;
Bentry = 0;
Sentry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = 0;
if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then
Bentry = Bentry+1;
if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then
Sentry = Sentry+1;
if 매수진입조건 and entry < 2 Then
buy();
if 매도진입조건 and entry < 2 Then
sell();
당일 매수1회 매도1회로 제한하실 경우에는 아래와 같이 작성하시면 됩니다.
var : entry(0),Bentry(0),Sentry(0);
if stime == 090000 or (stime > 090000 and stime[1] < 090000) Then{
Entry = 0;
Bentry = 0;
Sentry = 0;
}
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = 0;
if MarketPosition == 1 and MarketPosition != MarketPosition[1] Then
Bentry = Bentry+1;
if MarketPosition == -1 and MarketPosition != MarketPosition[1] Then
Sentry = Sentry+1;
if 매수진입조건 and Bentry < 1 Then
buy();
if 매도진입조건 and Sentry < 1 Then
sell();
4.
해당 내용은 조건내용을 각 and나 or로 연결하셔야 합니다.
Condition1 = 조건1;
Condition2 = 조건2;
Condition3 = 조건3;
#조건3은 만족하고 조건1과 조건2는 2개중 하나만 만족해도 실행
if (Condition1 == true or Condition2 == true) and Condition3 == true Then{
실행문
}
#3조건 중 1개만 만족해도 실행
if Condition1 == true or Condition2 == true or Condition3 == true Then{
실행문
}
즐거운 하루되세요
> 스누피독 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하십니까
수식추가로문의드립니다
이전문의에 아래와같이말씀해주셨는데요"
추가로 적용되야하는부분이있어
문의드립니다.
1.아래조건에 더하여
처음 매수포지션이 발생하였을때도
매수이전봉의 저가를 돌파했을시 매도포지션발생
처음 매도포지션이 발생하였을때도
매도이전봉의 고가를 돌파했을시 매수포지션발생
아래식은 포지션을 취한 다음봉부터 적용되어
해당봉에서 적용되지않아 문의드립니다.
2.다른문의로
현재봉의값과 이전봉의값이 같을시 포지션을 유지하지만
현재봉의값과 이전봉도 같고 그 이전의봉도 같을시
포지션을 변경하는 식 문의드립니다.
3.하나더 문의드리면..
하루에 2번만 매수ㅡ청산.매도ㅡ청산
발생되게 하려면 어떤식을적용해야하는지 문의드립니다
4. 하나다른것..
조건의 우선순위적용을 두고싶을때 어떻게
식을작성해야하나요...
가령 조건1,조건2가 맞아도 조건3이 안맞으면
실행하지않는다
조건1,조건2,조건3 중 하나만 맞아도 실행한다
부탁드리겠습니다.
수고하십시오!
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
안녕하세요
예스스탁입니다.
if MarketPosition == 1 Then{
if C < EntryPrice Then
sell("sb1",AtStop,L-PriceScale);
Else
sell("sb2",AtStop,L[BarsSinceEntry]-PriceScale);
}
if MarketPosition == -1 Then{
if C > EntryPrice Then
Buy("bs1",AtStop,H+PriceScale);
Else
Buy("bs2",AtStop,H[BarsSinceEntry]+PriceScale);
}