주문을 마감하기 위해 주문 유형 과 이 유형에 해당하는 가격을 정의할 필요가 없습니다. OrderClosePrice() 가격으로 닫기를 작성하는 것으로 충분합니다.
void OnStart ()
{
int i, total = OrdersTotal ()- 1 ;
for (i = total; i >= 0 ; i--)
{
if ( OrderType () < OP_SELLSTOP )
{
if (! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 100 ))
printf ( "***********" );
}
}
} /********************************************************************/
매뉴얼에는 여전히 많은 오류가 있습니다. 예를 들어 SetIndexBuffer() 를 사용하십시오. 도움말에 무슨 문제가 있습니까?
"옵션
인덱스
【인】 표시기 버퍼 번호 . 번호는 0부터 시작합니다. 숫자는 #property indicator_buffers에 선언된 값보다 작아야 합니다." (이 문장은 사실이 아닙니다)
#property indicator_buffers는 표시할 버퍼 수를 지정합니다. 내가 확인하지는 않았지만 도움말이 의미하는 바는 계산에 사용된 버퍼에 SetIndexBuffer()로 번호를 매길 필요가 없다는 것입니다. 그러나 내가 확인한 것은 계산에 사용된 버퍼 에 SetIndexBuffer() 함수를 사용하여 숫자가 주어지면 그 값은 iCustom()을 통해 얻을 수 있다는 것입니다.
개발자가 주제를 방문하기 때문에 "미묘함과 트릭"에 대한 질문이 있습니다.
형식화된 인쇄 예: PrintFormat("Bid=%. 5 f", Bid)
질문: 정밀도가 _Digits에 따라 달라지도록 고정 정밀도(여기서는 5 ) 대신 형식 설명에 조건을 설정할 수 있습니까? PrintFormat("Bid=%s", DoubleToString (Bid, _Digits))과 같은 '전처리'를 피하기 위해
질문: 정밀도가 _Digits에 따라 달라지도록 고정 정밀도(여기서는 5 ) 대신 형식 설명에 조건을 설정할 수 있습니까?
![Документация по MQL5: Общие функции / PrintFormat Документация по MQL5: Общие функции / PrintFormat](/i/community/logo_mql5_small.png)
- www.mql5.com
Описание проблемы
MQL4에서 지표를 작성 중입니다. DRAW_HISTOGRAM 스타일의 문서화되지 않은 기능을 발견했습니다.
그래프에 값을 표시하려면 히스토그램의 상위 값과 하위 값의 두 가지 버퍼가 필요합니다. 배열의 표시기 버퍼에 매핑될 때 스타일에 대한 버퍼가 0과 1, 2와 3, 4와 5 등일 경우. 모든 것이 정상적으로 표시됩니다. 그러나 스타일 버퍼에 ODD로 시작하는 값이 할당되면, 즉 1과 2, 3과 4, 5와 6의 경우 데이터 창의 값은 정확하지만 히스토그램 선은 그래프에 올바르게 표시되지 않습니다.
이 기능에 대한 언급을 문서에 추가하거나 수정하십시오. DRAW_HISTOGRAM 스타일의 설명이 짝수 버퍼로 시작되는 경우가 항상 발생하는 것은 아니기 때문입니다!
지표가 처음 호출 될 때 모든 데이터가 다시 계산됩니다.
주문을 마감하기 위해 주문 유형 과 이 유형에 해당하는 가격을 정의할 필요가 없습니다. OrderClosePrice() 가격으로 닫기를 작성하는 것으로 충분합니다.
따라서 해당 OrderSelect 직후에만 OrderClosePrice를 사용할 수 있습니다. 왜냐하면 OrderSelect는 Order(const) 함수에 대한 데이터를 한 번 복사하고 동일한 RefreshRates는 업데이트할 수 없습니다.
저것들. 예를 들어 OrderClosePrice로 닫을 수 없는 경우 다음 시도 전에 OrderSelect를 다시 만들어야 합니다(RefreshRates는 필요하지 않음).
불쌍해..
---
이 게시물이 쓸모없게 되지 않게 하려면:
StringGetCharacter("a", 0) 대신 'a' 를 쓸 수 있습니다. 종종 StringSplit을 사용하여 문자열을 부분으로 구문 분석할 때 필요합니다.