커뮤니티
부탁드립니다.
2013-11-18 17:11:12
144
글번호 69561
운영자님
항상 친절하시어 감사드리며 노고에 수고많어십니다.
아래의 내용을 부탁합니다.
1. 직전 진입까지 전체거래에서 수익나면 4번째 진입을 허용하고
5번째 이후는 직전 진입에서 수익이 나야 진입을 허용하는 식,
2. 4번째이후 진입을 직전진입에서 수익이 나야 진입을 허용하도록 하는식,
참고로 제가 사용하는 시스템이며 분봉이며, 참조데이타를 사용하고 일일청산입니다.
진입종류에 상관없이 적용되도록 부탁합니다
3. 아래는 제가 사용하는 청산식인데 너무 복잡한 것 같아서 논리적 문제는 없는지 검토해주시고, 너무 풀어져 있는 데 간단하게 합쳐질 수 있는 것은 수정 부탁합니다.
if MarketPosition == 1 and BarsSinceEntry >= N1 Then {
exitlong("B이익",Atlimit,Entryprice +목표1); }
if MarketPosition == 1 and BarsSinceEntry < N1 Then {
exitlong("B이익12",Atlimit,Entryprice +목표12); }
if MarketPosition == 1 and BarsSinceEntry >= N11 then
SetStopTrailing(수익후하락1,최고수익1, percentstop, 0) ;
if MarketPosition == 1 and BarsSinceEntry < N11 then
SetStopTrailing(수익후하락11,최고수익11, percentstop, 0) ;
if MarketPosition == -1 and BarsSinceEntry >= N2 Then {
exitshort("S이익",Atlimit,Entryprice-목표2); }
if MarketPosition == -1 and BarsSinceEntry < N2 Then
{
exitshort("S이익22",Atlimit,Entryprice-목표22); }
if MarketPosition == -1 and BarsSinceEntry >= N23 then
SetStopTrailing(수익후하락2,최고수익2, percentstop, 0) ;
if MarketPosition == -1 and BarsSinceEntry < N23 then
SetStopTrailing(수익후하락22,최고수익22, percentstop, 0) ;
If marketposition <>0 then {
exitlong("B추적",Atstop,highest(high,barsSinceEntry+1)-atr(스탑1)*스탑12);
exitshort("S추적",Atstop, lowest(low,barsSinceEntry+1)+atr(스탑2)*스탑22);
ExitShort("S청",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP2)*Ss2);
}
if MarketPosition == 1 and (CrossDown(수청단기이평,수청장기이평) ) Then{
exitlong("이수청",AtMarket);}
if MarketPosition == -1 and (Crossup(도청단기이평,도청장기이평) or Crossup(도청단기이평1,도청장기이평1)) Then{
ExitShort("이도청",AtMarket);
}
답변 1
예스스탁 예스스탁 답변
2013-11-18 17:18:27
안녕하세요
예스스탁입니다.
1
if TotalTrades < 3 Then{
if 매수조건 Then
buy();
if 매도조건 Then
sell();
}
if TotalTrades == 3 and PositionProfit(3) > 0 and PositionProfit(2) > 0 and PositionProfit(1) > 0 Then{
if 매수조건 Then
buy();
if 매도조건 Then
sell();
}
if TotalTrades >= 4 and PositionProfit(1) > 0 Then{
if 매수조건 Then
buy();
if 매도조건 Then
sell();
}
2.
if TotalTrades < 3 Then{
if 매수조건 Then
buy();
if 매도조건 Then
sell();
}
if TotalTrades >= 3 and PositionProfit(1) > 0 Then{
if 매수조건 Then
buy();
if 매도조건 Then
sell();
}
3
위식은 만약 4번째 이후에 직전거래가 손실이면 이후에 거래가 없습니다.
수식에서 손익은 실제 신호가 있어야 판단이 가능합니다.
문의하신 내용이 특정진입부터 직전거래에서 손실이 나면 이후 가상의 거래에서
수익이 발생해야 진입하시는 것이면 해당 부분은 실제 사용하시는 식이 있어야
작성을 해볼수가 있습니다.
직전거래가 손실이면 가상으로 진입과 청산을 계산해서 손익을 계산해서
가상의 거래가 수익이 나야 이후에 실제 진입을 일어나게 만들어야 하므로
식마다 작성이 다르게 되며 정확히 작성된다는 보장은 없습니다.
4.
청산식 내용은 특별히 수정할 만한 곳은 없습니다.
간단히 정리해서 올려드립니다.
if MarketPosition == 1 Then{
ExitLong("B추적",Atstop,highest(high,barsSinceEntry+1)-atr(스탑1)*스탑12);
if CrossDown(수청단기이평,수청장기이평) Then
ExitLong("이수청",AtMarket);
if BarsSinceEntry >= N1 Then
exitlong("B이익",Atlimit,Entryprice +목표1);
Else
exitlong("B이익12",Atlimit,Entryprice +목표12);
if BarsSinceEntry >= N11 then
SetStopTrailing(수익후하락1,최고수익1, percentstop, 0) ;
Else
SetStopTrailing(수익후하락11,최고수익11, percentstop, 0) ;
}
if MarketPosition == -1 Then{
ExitShort("S추적",Atstop, lowest(low,barsSinceEntry+1)+atr(스탑2)*스탑22);
ExitShort("S청",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP2)*Ss2);
if Crossup(도청단기이평,도청장기이평) or Crossup(도청단기이평1,도청장기이평1) Then
ExitShort("이도청",AtMarket);
if BarsSinceEntry >= N2 Then
ExitShort("S이익",Atlimit,Entryprice-목표2);
Else
ExitShort("S이익22",Atlimit,Entryprice-목표22);
if BarsSinceEntry >= N23 then
SetStopTrailing(수익후하락2,최고수익2, percentstop, 0) ;
Else
SetStopTrailing(수익후하락22,최고수익22, percentstop, 0) ;
}
즐거운 하루되세요
> 자아준 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 운영자님
항상 친절하시어 감사드리며 노고에 수고많어십니다.
아래의 내용을 부탁합니다.
1. 직전 진입까지 전체거래에서 수익나면 4번째 진입을 허용하고
5번째 이후는 직전 진입에서 수익이 나야 진입을 허용하는 식,
2. 4번째이후 진입을 직전진입에서 수익이 나야 진입을 허용하도록 하는식,
참고로 제가 사용하는 시스템이며 분봉이며, 참조데이타를 사용하고 일일청산입니다.
진입종류에 상관없이 적용되도록 부탁합니다
3. 아래는 제가 사용하는 청산식인데 너무 복잡한 것 같아서 논리적 문제는 없는지 검토해주시고, 너무 풀어져 있는 데 간단하게 합쳐질 수 있는 것은 수정 부탁합니다.
if MarketPosition == 1 and BarsSinceEntry >= N1 Then {
exitlong("B이익",Atlimit,Entryprice +목표1); }
if MarketPosition == 1 and BarsSinceEntry < N1 Then {
exitlong("B이익12",Atlimit,Entryprice +목표12); }
if MarketPosition == 1 and BarsSinceEntry >= N11 then
SetStopTrailing(수익후하락1,최고수익1, percentstop, 0) ;
if MarketPosition == 1 and BarsSinceEntry < N11 then
SetStopTrailing(수익후하락11,최고수익11, percentstop, 0) ;
if MarketPosition == -1 and BarsSinceEntry >= N2 Then {
exitshort("S이익",Atlimit,Entryprice-목표2); }
if MarketPosition == -1 and BarsSinceEntry < N2 Then
{
exitshort("S이익22",Atlimit,Entryprice-목표22); }
if MarketPosition == -1 and BarsSinceEntry >= N23 then
SetStopTrailing(수익후하락2,최고수익2, percentstop, 0) ;
if MarketPosition == -1 and BarsSinceEntry < N23 then
SetStopTrailing(수익후하락22,최고수익22, percentstop, 0) ;
If marketposition <>0 then {
exitlong("B추적",Atstop,highest(high,barsSinceEntry+1)-atr(스탑1)*스탑12);
exitshort("S추적",Atstop, lowest(low,barsSinceEntry+1)+atr(스탑2)*스탑22);
ExitShort("S청",AtStop,Lowest(L,BarsSinceEntry)+ATR(ATRP2)*Ss2);
}
if MarketPosition == 1 and (CrossDown(수청단기이평,수청장기이평) ) Then{
exitlong("이수청",AtMarket);}
if MarketPosition == -1 and (Crossup(도청단기이평,도청장기이평) or Crossup(도청단기이평1,도청장기이평1)) Then{
ExitShort("이도청",AtMarket);
}