[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 188 1...181182183184185186187188189190191192193194195...1145 새 코멘트 Vasiliy Orlov 2009.08.14 19:53 #1871 스왑을 계산하려고 하지만 작동하지 않습니다. 다음은 지난 20개 거래의 스왑을 표시하는 코드입니다. for ( int j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) { OrderSelect(j, SELECT_BY_POS, MODE_HISTORY); if(OrderType()==OP_BUY) Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPLONG)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)); if(OrderType()==OP_SELL) Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPSHORT)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE)); } 하지만 결제 스왑과 실제 스왑은 다릅니다. 입찰 가격이 다시는 동일하지 않다는 것이 아니라 1만분의 1 정도가 아닙니다. 차이가 10의 배수인 이유는 무엇입니까? 즉, 계산된 스왑은 실제 스왑보다 10배 더 높습니다. 여기에서 무슨 일이 일어나고 있는지 알 수 없습니다. MarketInfo(OrderSymbol(),MODE_SWAPTYPE) 반환 단위 , 다음 있다 "스왑 계산 방법 1 - 상품의 기본 통화로," 나는 반환되는 포인트에서 스왑 값을 취합니다. MarketInfo(OrderSymbol(),MODE_SWAPLONG) 이 값에 입찰가 를 곱합니다. *MarketInfo(OrderSymbol(),MODE_BID) 그 다음에 에 크기 많은 *OrderLots() 한 점의 값을 곱합니다. 하나의 로트에서 예금 통화 로 *MarketInfo(OrderSymbol(),MODE_TICKVALUE) 다음 값이 반환됩니다. EURGBP 랏 = 0.46000000 실제 스왑 = -1.31000000 결제 스왑 -13.05244609 [WARNING CLOSED!] Any newbie 원시 아이디어 코딩하는 방법? Alexander 2009.08.14 19:55 #1872 어떻게 했는지 알려주세요 이중 MA1,MA2; MA1= iMA (....,0); MA2=iMA(....,3); if (MA1-MA2>Point)//MA 조회 if (MA1-MA2,-Point)//MA가 아래를 내려다보면 Alexander 2009.08.14 19:58 #1873 vasya_vasya писал(а) >> 이 값에 입찰가 를 곱합니다. *MarketInfo(OrderSymbol(),MODE_BID) 이것은 무엇을 위한 것입니까? [삭제] 2009.08.14 20:06 #1874 Roger >> : 어떻게 했는지 알려주세요 이중 MA1,MA2; MA1=iMA(....,0); MA2=iMA(....,3); if (MA1-MA2>Point)//MA 조회 if (MA1-MA2,-Point)//MA가 아래를 내려다보면 정말 감사합니다)) Vasiliy Orlov 2009.08.14 20:06 #1875 Roger писал(а) >> 이것은 무엇을 위한 것입니까? 반환 값에 대한 설명은 어디에도 없습니다. MarketInfo(OrderSymbol(),MODE_SWAPLONG) 이것이 EUR 포인트의 크기라고 결론 지었습니다. EURGBP 견적에서 , GBP 로 얼마인지 확인하기 위해 BID 를 곱했습니다. 사실은 MarketInfo(OrderSymbol(),MODE_TICKVALUE) 특히 GBP 에 대한 로트당 핍 값을 반환합니다. EUR 이 아닌 EURGBP 견적에서. Alexander 2009.08.14 20:28 #1876 vasya_vasya писал(а) >> 반환 값에 대한 설명을 어디에서도 찾지 못했습니다. 어떤 이유에서인지 모든 계산이 예금 통화로 이루어진 것처럼 보였습니다. Vasiliy Orlov 2009.08.14 21:03 #1877 Roger писал(а) >> 어떤 이유에서인지 모든 계산이 예금 통화로 이루어진 것처럼 보였습니다. 함수 MarketInfo(OrderSymbol(),MODE_SWAPSHORT) 다른 모든 주문과 마찬가지로 정수 값 -2를 반환합니다. 따라서 이것이 포인트 값이라고 가정합니다. 이것이 우리 예금 통화의 포인트로 표현된 스왑의 가치라고 가정합시다. 통화 보증금 = USD 곱하다 MarketInfo(OrderSymbol(),MODE_SWAPSHORT) 로트 수에 대해 *OrderLots() 우리는 또한 하나의 로트에 예금 통화의 1포인트 비용을 곱합니다. *10 우리는 얻는다 스왑 = -9.20000000 대신에 실제 스왑 = -1.31000000 Alexander 2009.08.14 22:14 #1878 vasya_vasya писал(а) >> 함수 MarketInfo(OrderSymbol(),MODE_SWAPSHORT) 다른 모든 주문과 마찬가지로 정수 값 -2를 반환합니다. 따라서 이것이 포인트 값이라고 가정합니다. 저에게 EURGBP의 경우 - 0(Alpari)은 짧고 -0.68은 긴 값을 반환하며 이는 정확히 달러 단위입니다. [삭제] 2009.08.14 22:47 #1879 전문가들은 mql5 언어 도움말에 따라 iHighest 기능 이 없다고 말해 주세요. N 기간의 최대 최고치를 계산하는 방법은??? ..함수를 직접 작성해야 합니다. ..copyHigh 및 fmax를 통해 시도했지만 특정 기간 동안만 해당되며 물론 그렇지는 않습니다. Alexander 2009.08.14 23:05 #1880 대략 이렇습니다. double HighestBar ( int start , int end ) { double maxBar ; for ( int i = start ; i < end ; i + + ) if ( maxBar < High [ i ] ) maxBar = High [ i ] ; return ( maxBar ) ; } 1...181182183184185186187188189190191192193194195...1145 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
스왑을 계산하려고 하지만 작동하지 않습니다.
다음은 지난 20개 거래의 스왑을 표시하는 코드입니다.
for ( int j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) {
OrderSelect(j, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()==OP_BUY)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPLONG)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
if(OrderType()==OP_SELL)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPSHORT)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
}
차이가 10의 배수인 이유는 무엇입니까?
즉, 계산된 스왑은 실제 스왑보다 10배 더 높습니다.
여기에서 무슨 일이 일어나고 있는지 알 수 없습니다.
MarketInfo(OrderSymbol(),MODE_SWAPTYPE) 반환 단위 , 다음 있다
"스왑 계산 방법 1 - 상품의 기본 통화로,"
나는 반환되는 포인트에서 스왑 값을 취합니다.
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
이 값에 입찰가 를 곱합니다.
*MarketInfo(OrderSymbol(),MODE_BID)
그 다음에 에 크기 많은
*OrderLots()
한 점의 값을 곱합니다. 하나의 로트에서 예금 통화 로
*MarketInfo(OrderSymbol(),MODE_TICKVALUE)
다음 값이 반환됩니다.
EURGBP 랏 = 0.46000000 실제 스왑 = -1.31000000 결제 스왑 -13.05244609
어떻게 했는지 알려주세요
이중 MA1,MA2;
MA1= iMA (....,0);
MA2=iMA(....,3);
if (MA1-MA2>Point)//MA 조회
if (MA1-MA2,-Point)//MA가 아래를 내려다보면
이 값에 입찰가 를 곱합니다.
*MarketInfo(OrderSymbol(),MODE_BID)
이것은 무엇을 위한 것입니까?
어떻게 했는지 알려주세요
이중 MA1,MA2;
MA1=iMA(....,0);
MA2=iMA(....,3);
if (MA1-MA2>Point)//MA 조회
if (MA1-MA2,-Point)//MA가 아래를 내려다보면
정말 감사합니다))
이것은 무엇을 위한 것입니까?
반환 값에 대한 설명은 어디에도 없습니다.
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
이것이 EUR 포인트의 크기라고 결론 지었습니다. EURGBP 견적에서 , GBP 로 얼마인지 확인하기 위해 BID 를 곱했습니다.
사실은
MarketInfo(OrderSymbol(),MODE_TICKVALUE)
특히 GBP 에 대한 로트당 핍 값을 반환합니다. EUR 이 아닌 EURGBP 견적에서.
반환 값에 대한 설명을 어디에서도 찾지 못했습니다.
어떤 이유에서인지 모든 계산이 예금 통화로 이루어진 것처럼 보였습니다.
함수 MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
다른 모든 주문과 마찬가지로 정수 값 -2를 반환합니다. 따라서 이것이 포인트 값이라고 가정합니다.
이것이 우리 예금 통화의 포인트로 표현된 스왑의 가치라고 가정합시다.
통화 보증금 = USD
곱하다
MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
로트 수에 대해
*OrderLots()
우리는 또한 하나의 로트에 예금 통화의 1포인트 비용을 곱합니다.
*10
우리는 얻는다
스왑 = -9.20000000
대신에
실제 스왑 = -1.31000000
함수 MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
다른 모든 주문과 마찬가지로 정수 값 -2를 반환합니다. 따라서 이것이 포인트 값이라고 가정합니다.
저에게 EURGBP의 경우 - 0(Alpari)은 짧고 -0.68은 긴 값을 반환하며 이는 정확히 달러 단위입니다.
대략 이렇습니다.