커뮤니티
중괄호 질문
2009-07-15 16:51:49
706
글번호 23498
안녕하십니까..
예스랭귀치 처음 사용하는 이용자 입니다.
Q&A쪽 살펴보다 중괄호 에 관한 몇가지 글을 봤는데요
if 함수 사용시 Then뒤에 꼭 중괄호를 삽입 해야하는지 궁금합니다
예를 들어
if stime >= 90200 and stime <093000 and data2(c) > data2(OpenD(0)) and data3(c) > data3(OpenD(0)) and data4(c) > data4(OpenD(0))and data2(bids) >data2(asks) Then
buy();
와
if stime >= 90200 and stime <093000 and data2(c) > data2(OpenD(0)) and data3(c) > data3(OpenD(0)) and data4(c) > data4(OpenD(0))and data2(bids) >data2(asks) Then
{buy();}
와 정확이 어떻게 구동되는지 알고 싶습니다.
그리고 다른 하나는
if MarketPosition == 1 then{
if highest(H,BarsSinceEntry)>=EntryPrice*(1+5/100) Then
ExitLong();
}
즉 5%이상 상승하였을때 자동매도하는 프로그램을 작성해 봤습니다. 이렇게 작성하는게 맞는지 그리고 MarketPosition==1이 정확히 어떤 수식인지 그리고 MarketPosition()==1 와 MarketPosition==1와 차이가 없는지 알고싶습니다..
너무 기초적인질문인거 잘 알지만 답변이나 이전에 동일한 질문있었으면 답변글이 몇번이었는지 라도 알려주십시요...
감사합니다..
답변 1
예스스탁 예스스탁 답변
2009-07-15 18:44:08
안녕하세요
예스스탁입니다.
1.
if stime >= 90200 and stime <093000 and data2(c) > data2(OpenD(0)) and data3(c) > data3(OpenD(0)) and data4(c) > data4(OpenD(0))and data2(bids) >data2(asks) Then
buy();
와
if stime >= 90200 and stime <093000 and data2(c) > data2(OpenD(0)) and data3(c) > data3(OpenD(0)) and data4(c) > data4(OpenD(0))and data2(bids) >data2(asks) Then
{buy();}
는 같습니다.
{}는 아래와 같이 if문 밑에 여러개의 실행문이 있을 때 일반적으로 사용합니다.
if 조건 then{
buy();
var1 = H;
var2 = L;
}
실행문이 하나있을 때는 사용하셔도 되며 사용하지 않으셔도 무방합니다.
2.
if MarketPosition == 1 then{
if highest(H,BarsSinceEntry)>=EntryPrice*(1+5/100) Then
ExitLong();
}
진입이후의 고가가 진입가 대비 5%상승했을때
종가로 청산하는 식입니다. 그러므로 때에 따라서 종가가 5%가 안될 경우도 있습니다.
그러므로 해당 내용은 같은 경우에는
if MarketPosition == 1 then{
exitlong("Bx",atlimit,EntryPrice*1.05);
}
나 혹은 강제청산 함수 중 목표이익 함수를 이용하시면 됩니다.
SetStopProfittarget(5);
3.
MarketPosition()==1 와 MarketPosition==1는 차이가 없습니다.
포지션 함수에는 매개변수가 있는데 0은 현재 진입된 포지션에 대해
1은 청산 완료된 가장 최근 거래,2는 그 전 거래로 어떤 값을 가져와 사용하실 수 있습니다
MarketPosition(0)에서 0은 생략가능하며
0을 생략시에는 ()로 생략가능합니다.
즐거운 하루되세요
> Good 님이 쓴 글입니다.
> 제목 : 중괄호 질문
> 안녕하십니까..
예스랭귀치 처음 사용하는 이용자 입니다.
Q&A쪽 살펴보다 중괄호 에 관한 몇가지 글을 봤는데요
if 함수 사용시 Then뒤에 꼭 중괄호를 삽입 해야하는지 궁금합니다
예를 들어
if stime >= 90200 and stime <093000 and data2(c) > data2(OpenD(0)) and data3(c) > data3(OpenD(0)) and data4(c) > data4(OpenD(0))and data2(bids) >data2(asks) Then
buy();
와
if stime >= 90200 and stime <093000 and data2(c) > data2(OpenD(0)) and data3(c) > data3(OpenD(0)) and data4(c) > data4(OpenD(0))and data2(bids) >data2(asks) Then
{buy();}
와 정확이 어떻게 구동되는지 알고 싶습니다.
그리고 다른 하나는
if MarketPosition == 1 then{
if highest(H,BarsSinceEntry)>=EntryPrice*(1+5/100) Then
ExitLong();
}
즉 5%이상 상승하였을때 자동매도하는 프로그램을 작성해 봤습니다. 이렇게 작성하는게 맞는지 그리고 MarketPosition==1이 정확히 어떤 수식인지 그리고 MarketPosition()==1 와 MarketPosition==1와 차이가 없는지 알고싶습니다..
너무 기초적인질문인거 잘 알지만 답변이나 이전에 동일한 질문있었으면 답변글이 몇번이었는지 라도 알려주십시요...
감사합니다..
다음글
이전글