커뮤니티
함수요청
2023-04-18 16:20:05
615
글번호 168294
안녕하세요?
아래 글번호 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);
답변 1
예스스탁 예스스탁 답변
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);
이전글