아니요, 취소하지 않았습니다. 결국, 기본적으로 크기가 0인 동적 배열이 선언됩니다. 따라서 이 경우 이 네 줄의 코드는 아무 작업도 수행하지 않습니다.
이제 어떻게 채우나요? 이 작업을 수행하려는 예제에서는 추가 변수가 적용되지만 사용 방법을 이해하지 못합니다.
다음으로 각 "자신의" 주문이 배열에 저장되는 주문 루프가 구성됩니다.
g_nOrderCnt = 0 ;
for ( int i = OrdersTotal () - 1 ; i >= 0 ; --i)
{
if (! OrderSelect (i, SELECT_BY_POS ))
continue ;
if ( OrderSymbol () != Symbol ()) // Если нужны ордера только по текущему символу, к графику которого прикреплен советникcontinue ;
if ( OrderMagicNumber != i_nMagicNumber) // Если имеется входной параметр советника i_nMagicNumber, в котором указан ID ордеров советникаcontinue ;
if (g_nOrderCnt < MAX_ORDERS_CNT)
continue ;
g_arrstOrderInfo[g_nOrdersCnt].nTicket = OrderTicket ();
g_arrstOrderInfo[g_nOrdersCnt].nType = OrderType ();
g_arrstOrderInfo[g_nOrdersCnt].fOpenPrice = OrderOpenPrice ();
g_arrstOrderInfo[g_nOrdersCnt].fSL = OrderStopLoss ();
g_arrstOrderInfo[g_nOrdersCnt].fTP = OrderTakeProfit ();
++g_nOrdersCnt;
}
이 모든 배열이 필요한 이유는 완전히 명확하지 않지만 해당 함수를 사용하여 티켓, 포지션 유형, 오픈 가격 및 오픈 시간의 값을 얻을 수 있을 때.
일반적으로 이 Expert Advisor가 계정의 모든 주문을 처리할 필요는 없기 때문에 어레이로 작업하는 것이 더 편리하고 빠릅니다. 결과적으로 시간과 비용을 절약할 수 있습니다.
또한, 나는 다시 일반적인 경우를 주었다. 물론 보편주의가 항상 필요한 것은 아닙니다. 일반적으로 이러한 배열은 전략의 요구 사항에 따라 컴파일됩니다. 예를 들어 주문을 Buy, Sell, BuyStop, SellStop, BuyLimit, SellLimit 유형별로 즉시 나눌 수 있습니다. 그런 다음 4개의 이러한 배열이 필요합니다. 그러나 거래 결정을 내릴 때 미결 주문의 전체 목록을 다시 검토할 필요는 없습니다. 특정 유형의 주문 수를 알아내고 필요한 배열을 참조하는 것으로 충분합니다.
고려해야 할 또 다른 중요한 점은 하나의 틱을 처리하는 과정에서 주문 구성의 변경입니다. OnTick 입구에서 하나의 주문 목록이 수신되고 중간 어딘가에 다른 주문이 수신될 수 있습니다. 찾기 힘든 프로그램 오류가 발생합니다. 그리고 OnTick을 입력할 때 컴파일된 주문 배열은 변경되지 않습니다(물론 프로그램 실행 중에 직접 변경하지 않는 한).
문자열 s=파일읽기문자열(F1); // 텍스트 파일의 다음 줄 읽기 StringSplit(s, ",", a); // 쉼표로 구분된 문자열 요소를 배열로 추출 날짜 시간 T1=StrToTime(a[4]); // 다음으로 변형이 있습니다 ... int ord=StrToInteger(a[8]); 이중 가격=StrToDouble(a[12]);
고마워, 내가 원했던
또한 5개의 제품이 만들어지는 것으로 밝혀졌습니다.
경고(모든)에 표시를 던집니다.
예: 레벨 "200"
경고가 발생하면 무언가가 포즈를 취하고 무언가가 스스로 제거하고 다른 작업을 수행합니다. 이런 식으로 신호 메커니즘을 구현하고 싶습니다.
Z.Y
내가 원하는 것을 추가했고 고려를 위해 던질 수 있습니다. 배수가 잘 됩니다. 그러나 이것은 여기에서 허용되지 않습니다.
예를 들어 주문을 Buy, Sell, BuyStop, SellStop, BuyLimit, SellLimit 유형별로 즉시 나눌 수 있습니다. 그런 다음 4개의 이러한 배열이 필요합니다. 그러나 거래 결정을 내릴 때 미결 주문의 전체 목록을 다시 검토할 필요는 없습니다. 특정 유형의 주문 수를 알아내고 필요한 배열을 참조하는 것으로 충분합니다.
그것이 바로 내가 필요로 하는 것, 또는 오히려 구매 및 판매 에만 필요한 것입니다. 내 간단한 전략의 경우 중요한 것은 열린 위치가 마감 조건을 보기 위해 서로 간섭하지 않는다는 것입니다. 배열 없이도 여전히 할 수 있습니까? 글쎄, 나는 그것들을 이해하지 못한다. 만드는 방법, 돌리는 방법-어두운 숲. 아마도 당신은 화면에서 내 상황을 이해할 것입니다.
코드의 모든 것이 간단하고 명확하게 작동하는 것처럼 보이지만 이것은 오해의 유일한 경우입니다.
그것이 바로 내가 필요하거나 오히려 구매 및 판매 에만 필요한 것입니다. 내 간단한 전략의 경우 가장 중요한 것은 열린 위치가 마감 조건을 보기 위해 서로 간섭하지 않는다는 것입니다. 배열 없이도 여전히 할 수 있습니까? 글쎄, 나는 그들을 이해하지 못한다. 어떻게 창조하고, 어떻게 돌릴 것인가-어두운 숲. 아마도 당신은 화면에서 내 상황을 이해할 것입니다.
코드의 모든 것이 간단하고 명확하게 작동하는 것처럼 보이지만 이것은 오해의 유일한 경우입니다.
물론 배열이 없는 가장 단순한(그리고 중간 정도의 복잡성)에서는 더 편리합니다. 수백 개의 주문을 사용할 때입니다. 그러면 ... 그리고 주문을 쉽게 구별할 수 있습니다. 예를 들어, OrderType()에 따르면 하나는 0개를 구매하고 다른 하나는 1개를 판매합니다. 그리고 전략이 좋습니다. 하루에 10개를 늘리거나 반나절에 병합할 수 있습니다. 이 화살을 잡는 방법만 있으면 됩니다. 그리고 예, 그들은 종종 상처를 입습니다. 먼저 신호를 발행하는 방법을 배우는 것이 합리적입니다. 매수 및 매도
그리고 그것이 내 상황에 대한 이유가 될 수 없습니다. 2018.01.25 20:22:12 2018_WPR14_AMarkets EURUSD,M5: OrderClose error 138 및 계속 반복
2018.01.26 16:38:12 2018_WPR14_AMarkets EURUSD,M5: 경고: 총 주문 = 3 ? 스크린샷은 이 기간이 매도를 마감하기 위한 두 가지 조건을 포착함을 보여줍니다.
어떤 상황이었나요? 터미널이 오류를 일으키는 로그에 쓰고 있다는 말씀이신가요? ... 그리고 138은 무엇을 의미합니까? 어디를 봐야하는지 알아? 어떻게 이것을 달성 했습니까? 이것은 매우 드문 실수입니다. 화면에서 볼 수 있는 것은 전투의 절반입니다. 고문에게 설명하는 방법은 다음과 같습니다. 일종의 수학적 조건을 작성해야 합니다. 고문은 화면을 보는 대신 숫자로 작동합니다.
적어도 하나의 블록을 작성하고 표시하십시오. 이 경우 더 여기에 프롬프트가 표시됩니다.
배열로: 여기에서 전역 수준에서 4개의 배열을 선언했습니다.
그런 다음 위치 열기 기능에서 0으로 재설정합니다.
이제 어떻게 채우나요? 이 작업을 수행하려는 예제에서는 추가 변수가 적용되지만 사용 방법을 이해하지 못합니다.
이 모든 배열이 필요한 이유는 완전히 명확하지 않지만 해당 함수를 사용하여 티켓, 포지션 유형, 오픈 가격 및 오픈 시간의 값을 얻을 수 있을 때.
배열로: 여기에서 전역 수준에서 4개의 배열을 선언했습니다.
그런 다음 위치 열기 기능에서 재설정합니다.
이제 어떻게 채우나요? 이 작업을 수행하려는 예제에서는 추가 변수가 적용되지만 사용 방법을 이해하지 못합니다.
이 모든 배열이 필요한 이유는 완전히 명확하지 않지만 해당 함수를 사용하여 티켓, 포지션 유형, 오픈 가격 및 오픈 시간의 값을 얻을 수 있을 때.
경고 기능 (. 예를 들어
그리고 누군가의 본보기를 들자면 완전히 취해서 공부하십시오. 예제 작성자가 배열을 추가한 이유를 누가 압니까?
배열로: 여기에서 전역 수준에서 4개의 배열을 선언했습니다.
구조체 배열을 사용합니다. 그를 다루는 것이 훨씬 쉬울 것입니다. 정적 배열이 있는 변형을 제공합니다. 더 이해하기 쉽습니다. 나 자신은 동적 배열을 사용하지만. 그러나 그들과 함께 코드가 조금 더 나올 것입니다.
그런 다음 위치 열기 기능에서 0으로 재설정합니다.
아니요, 취소하지 않았습니다. 결국, 기본적으로 크기가 0인 동적 배열이 선언됩니다. 따라서 이 경우 이 네 줄의 코드는 아무 작업도 수행하지 않습니다.
이제 어떻게 채우나요? 이 작업을 수행하려는 예제에서는 추가 변수가 적용되지만 사용 방법을 이해하지 못합니다.
다음으로 각 "자신의" 주문이 배열에 저장되는 주문 루프가 구성됩니다.
이 모든 배열이 필요한 이유는 완전히 명확하지 않지만 해당 함수를 사용하여 티켓, 포지션 유형, 오픈 가격 및 오픈 시간의 값을 얻을 수 있을 때.
일반적으로 이 Expert Advisor가 계정의 모든 주문을 처리할 필요는 없기 때문에 어레이로 작업하는 것이 더 편리하고 빠릅니다. 결과적으로 시간과 비용을 절약할 수 있습니다.
또한, 나는 다시 일반적인 경우를 주었다. 물론 보편주의가 항상 필요한 것은 아닙니다. 일반적으로 이러한 배열은 전략의 요구 사항에 따라 컴파일됩니다. 예를 들어 주문을 Buy, Sell, BuyStop, SellStop, BuyLimit, SellLimit 유형별로 즉시 나눌 수 있습니다. 그런 다음 4개의 이러한 배열이 필요합니다. 그러나 거래 결정을 내릴 때 미결 주문의 전체 목록을 다시 검토할 필요는 없습니다. 특정 유형의 주문 수를 알아내고 필요한 배열을 참조하는 것으로 충분합니다.
고려해야 할 또 다른 중요한 점은 하나의 틱을 처리하는 과정에서 주문 구성의 변경입니다. OnTick 입구에서 하나의 주문 목록이 수신되고 중간 어딘가에 다른 주문이 수신될 수 있습니다. 찾기 힘든 프로그램 오류가 발생합니다. 그리고 OnTick을 입력할 때 컴파일된 주문 배열은 변경되지 않습니다(물론 프로그램 실행 중에 직접 변경하지 않는 한).
문자열 s=파일읽기문자열(F1); // 텍스트 파일의 다음 줄 읽기
StringSplit(s, ",", a); // 쉼표로 구분된 문자열 요소를 배열로 추출
날짜 시간 T1=StrToTime(a[4]); // 다음으로 변형이 있습니다 ...
int ord=StrToInteger(a[8]);
이중 가격=StrToDouble(a[12]);
고마워, 내가 원했던
또한 5개의 제품이 만들어지는 것으로 밝혀졌습니다.
경고(모든)에 표시를 던집니다.
예: 레벨 "200"
경고가 발생하면 무언가가 포즈를 취하고 무언가가 스스로 제거하고 다른 작업을 수행합니다. 이런 식으로 신호 메커니즘을 구현하고 싶습니다.
Z.Y
내가 원하는 것을 추가했고 고려를 위해 던질 수 있습니다. 배수가 잘 됩니다. 그러나 이것은 여기에서 허용되지 않습니다.
예를 들어 주문을 Buy, Sell, BuyStop, SellStop, BuyLimit, SellLimit 유형별로 즉시 나눌 수 있습니다. 그런 다음 4개의 이러한 배열이 필요합니다. 그러나 거래 결정을 내릴 때 미결 주문의 전체 목록을 다시 검토할 필요는 없습니다. 특정 유형의 주문 수를 알아내고 필요한 배열을 참조하는 것으로 충분합니다.
그것이 바로 내가 필요로 하는 것, 또는 오히려 구매 및 판매 에만 필요한 것입니다. 내 간단한 전략의 경우 중요한 것은 열린 위치가 마감 조건을 보기 위해 서로 간섭하지 않는다는 것입니다. 배열 없이도 여전히 할 수 있습니까? 글쎄, 나는 그것들을 이해하지 못한다. 만드는 방법, 돌리는 방법-어두운 숲. 아마도 당신은 화면에서 내 상황을 이해할 것입니다.
코드의 모든 것이 간단하고 명확하게 작동하는 것처럼 보이지만 이것은 오해의 유일한 경우입니다.
그것이 바로 내가 필요하거나 오히려 구매 및 판매 에만 필요한 것입니다. 내 간단한 전략의 경우 가장 중요한 것은 열린 위치가 마감 조건을 보기 위해 서로 간섭하지 않는다는 것입니다. 배열 없이도 여전히 할 수 있습니까? 글쎄, 나는 그들을 이해하지 못한다. 어떻게 창조하고, 어떻게 돌릴 것인가-어두운 숲. 아마도 당신은 화면에서 내 상황을 이해할 것입니다.
코드의 모든 것이 간단하고 명확하게 작동하는 것처럼 보이지만 이것은 오해의 유일한 경우입니다.
물론 배열이 없는 가장 단순한(그리고 중간 정도의 복잡성)에서는 더 편리합니다. 그 때 수백 가지 주문을 사용할 수 있습니다. 그런 다음 ...
그리고 그것이 내 상황에 대한 이유가 될 수 없습니다. 2018.01.25 20:22:12 2018_WPR14_AMarkets EURUSD,M5: OrderClose error 138 및 계속 반복
2018.01.26 16:38:12 2018_WPR14_AMarkets EURUSD,M5: 경고: 총 주문 = 3 ? 스크린샷은 이 기간이 매도를 마감하기 위한 두 가지 조건을 포착함을 보여줍니다.
그리고 포지션을 여는 신호는 여러 지표의 조합으로 주어지며 한 번에 하나씩 닫힙니다. 그리고 그들은 자주 작동하지 않습니다. 5 분 세션에서 며칠 동안 침묵합니다. 예를 들어 올해 2월 1일부터. 14개의 직위만 일했습니다.
그리고 그것이 내 상황에 대한 이유가 될 수 없습니다. 2018.01.25 20:22:12 2018_WPR14_AMarkets EURUSD,M5: OrderClose error 138 및 계속 반복
어떤 상황이었나요? 터미널이 오류를 일으키는 로그에 쓰고 있다는 말씀이신가요? ... 그리고 138은 무엇을 의미합니까? 어디를 봐야하는지 알아? 어떻게 이것을 달성 했습니까? 이것은 매우 드문 실수입니다. 화면에서 볼 수 있는 것은 전투의 절반입니다. 고문에게 설명하는 방법은 다음과 같습니다. 일종의 수학적 조건을 작성해야 합니다. 고문은 화면을 보는 대신 숫자로 작동합니다.
터미널이 오류를 일으키는 로그에 쓰고 있다는 말씀이신가요? ... 그리고 138은 무엇을 의미합니까? 어디를 봐야하는지 알아?
아니요, 나는이 역사의 기간에 테스터에서 장애가 발생하여 신호가 올바르게 작동하지 않는다고 말하고 싶습니다. 재인용 은 며칠 동안 지속될 수 없기 때문입니다.
아니요, 나는이 역사의 기간에 테스터에서 장애가 발생하여 신호가 올바르게 작동하지 않는다고 말하고 싶습니다. 재인용은 며칠 동안 지속될 수 없기 때문입니다.
테스터 에서 인용? 처음 들었을 때 ... 테스터가 이상적입니다. 미끄러짐도 없습니다.
...지표에 부담을 주는 것이 있습니다. 추세가 상승하고 있습니다. 나는 그것을 살 것입니다 ... 밝혀졌습니다 ... 충분하지 않지만 TP를 올리고 싶었습니다. 이미 작동했습니다 ...
따라서 조언자를 입력하여 그렇다면 종료하고 다음 틱에서 계속하십시오. 그리고 데모에서 사용해 보세요