예스스탁
예스스탁 답변
2024-07-02 13:58:25
안녕하세요
예스스탁입니다.
Input : Period1(20), Percent1(20), Percent2(27), Percent3(34), Percent4(41),Percent5(48);
var : D1(0),D2(0),D3(0),D4(0),D5(0);
var : E2(0),E3(0),E4(0),E5(0);
var : Trade(False),dd(0),ED(0);
D1 = EnvelopeDown(Period1, Percent1);
D2 = EnvelopeDown(Period1, Percent2);
D3 = EnvelopeDown(Period1, Percent3);
D4 = EnvelopeDown(Period1, Percent4);
D5 = EnvelopeDown(Period1, Percent5);
if Bdate != Bdate[1] Then
{
Trade = true;
dd = dd+1;
}
if TotalTrades > TotalTrades[1] Then
{
if IsExitName("Bp",1) == true then
Trade = False;
if IsExitName("Bl",1) == true then
Trade = False;
if IsExitName("Bx",1) == true then
Trade = False;
if IsExitName("Bdx",1) == true then
Trade = False;
}
if Trade == true Then
{
if CrossUp(C,D1) Then
Buy("b1",OnClose,def,1);
if CrossUp(C,D2) Then
Buy("b2",OnClose,def,1);
if CrossUp(C,D3) Then
Buy("b3",OnClose,def,1);
if CrossUp(C,D4) Then
Buy("b4",OnClose,def,1);
if CrossUp(C,D5) Then
Buy("b5",OnClose,def,1);
}
if MarketPosition == 1 Then
{
if MarketPosition != MarketPosition[1] Then
ED = DD;
if CurrentContracts > CurrentContracts[1] Then
{
if LatestEntryName(0) == "b2" Then
E2 = LatestEntryPrice(0);
if LatestEntryName(0) == "b3" Then
E3 = LatestEntryPrice(0);
if LatestEntryName(0) == "b4" Then
E4 = LatestEntryPrice(0);
if LatestEntryName(0) == "b5" Then
E5 = LatestEntryPrice(0);
}
if CurrentContracts < CurrentContracts[1] Then
{
if LatestExitName(0) == "b2x" Then
E2 = 0;
if LatestExitName(0) == "b3x" Then
E3 = 0;
if LatestExitName(0) == "b4x" Then
E4 = 0;
if LatestExitName(0) == "b5x" Then
E5 = 0;
}
ExitLong("Bp",AtLimit,AvgEntryPrice*1.20);
ExitLong("Bl",AtStop,AvgEntryPrice*0.70);
ExitLong("Bx",AtLimit,EntryPrice*1.15);
if ED > 0 and dd >= ED+15 Then
ExitLong("Bdx");
if E2 > 0 Then
ExitLong("b2x",AtLimit,E2*1.10,"b2");
if E3 > 0 Then
ExitLong("b3x",AtLimit,E3*1.10,"b3");
if E4 > 0 Then
ExitLong("b4x",AtLimit,E4*1.10,"b4");
if E5 > 0 Then
ExitLong("b5x",AtLimit,E5*1.10,"b5");
}
Else
{
E2 = 0;
E3 = 0;
E4 = 0;
E5 = 0;
}
즐거운 하루되세요
> 코퍼 님이 쓴 글입니다.
> 제목 : 엔벨로프
> 안녕하세요? 수정 부탁드립니다
<당초>
1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,30)1개 매수, (20,40)1개 매수, (20,50)1개 매수
/같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 4개
2. 평균수익 20% 또는 평균손실 30%에서 모두 청산 / 당일매매 종료
3. 2번째 진입이후부터 평균손익이 본전에 오면 1개만 남겨두고 모두 청산 / 청산후 1번 프로세스 진행
<수정>
1.엔벨로프 하단선 골크 (20,20)1개 매수, (20,27)1개 매수, (20,34)1개 매수, (20,41)1개 매수, (20,48)1개 매수 / 같은 위치에서 재매수 금지, 즉 총매수는 각기 다른 5개
2. 평균손실 60%에서 모두 청산 / 당일매매 종료
3. 첫번째 진입건의 수익이 15% 도달시 또는 진입후 15일 경과시 모든포지션 청산하고 당일 프로세스 중지
4, 두번째 이후부터는 각각의 포지션 수익이 각 10% 도달시 각각 청산 / 청산후 1번 프로세스 진행
Input : Period1(20), Percent1(20), Percent2(30), Percent3(40), Percent4(50);
var : D1(0),D2(0),D3(0),D4(0);
var : Trade(False);
D1 = EnvelopeDown(Period1, Percent1);
D2 = EnvelopeDown(Period1, Percent2);
D3 = EnvelopeDown(Period1, Percent3);
D4 = EnvelopeDown(Period1, Percent4);
if Bdate != Bdate[1] Then
Trade = true;
if TotalTrades > TotalTrades[1] Then
{
if IsExitName("Bp",1) == true then
Trade = False;
if IsExitName("Bl",1) == true then
Trade = False;
}
if Trade == true Then
{
if CrossUp(C,D1) Then
Buy("b1",OnClose,def,1);
if CrossUp(C,D2) Then
Buy("b2",OnClose,def,1);
if CrossUp(C,D3) Then
Buy("b3",OnClose,def,1);
if CrossUp(C,D4) Then
Buy("b4",OnClose,def,1);
}
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,AvgEntryPrice*1.20);
ExitLong("Bl",AtStop,AvgEntryPrice*0.70);
if CurrentEntries >= 2 Then
{
if H < AvgEntryPrice Then
ExitLong("bx1",AtLimit,AvgEntryPrice,"",CurrentContracts-1,1);
if l > AvgEntryPrice Then
ExitLong("bx2",AtStop,AvgEntryPrice,"",CurrentContracts-1,1);
}
}