예스스탁
예스스탁 답변
2023-04-18 17:09:06
안녕하세요
예스스탁입니다.
var1 = ma(C,5);
Var2 = ma(C,20);
Condition1 = var1 < Var2 ;
Condition2 = var1 > Var2;
if NextBarSdate != sDate Then
{
if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition2 == true Then
Buy("b1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and
condition2 == true then
Buy("b2",AtMarket);
}
if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition1 == true Then
Sell("s1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and
condition1 == true Then
Sell("s2",AtMarket);
}
}
if MarketPosition == 1 Then
{
if BarsSinceEntry == 5 and IsEntryName("sb") == False Then
{
if C >= EntryPrice Then
ExitLong("bx",AtMarket);
Else
Sell("bs",AtMarket);
}
if IsEntryName("sb",0) == true and BarsSinceEntry == (BarsSinceEntry(1)- BarsSinceExit(1)) Then
ExitLong("sbx");
}
if MarketPosition == -1 Then
{
if BarsSinceEntry == 5 and IsEntryName("bs") == False Then
{
if C <= EntryPrice Then
ExitShort("sx",AtMarket);
Else
Buy("sb",AtMarket);
}
if IsEntryName("bs",0) == true and BarsSinceEntry == (BarsSinceEntry(1)- BarsSinceExit(1)) Then
ExitShort("bsx");
}
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
아래 글번호 81738번 재질문입니다.
아래의 스크립트에 답변주신 내용을 적용하고자 합니다.
스크립트 수정 부탁드립니다.
(아래에 전략에 추가적으로 청산이 손실일 경우에만 익봉에 반대로 진입하고 진입했던 봉만큼 보유하고 청산(5개봉))
Condition1 = var1 < Var2 ;
Condition2 = var1 > Var2;
if NextBarSdate != sDate Then
{
if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition2 == true
Then
Buy("b1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and
condition2 == true then
Buy("b2",AtMarket);
}
if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then
{
if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and
condition1 == true Then
Sell("s1",AtMarket);
if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and
min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and
condition1 == true Then
Sell("s2",AtMarket);
}
}
if MarketPosition == 1 and BarsSinceEntry == 5 Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 and BarsSinceEntry == 5 Then
ExitShort("sx",AtMarket);