찻주전자의 질문 - 페이지 244

 
paladin800 :
저는 Symbol0="EURUSD" 문자열과 같이 입력 매개변수에 상품 이름이 지정되어 있는 다중 통화 Expert Advisor를 작성 중입니다. 이름을 잘못쓰면 거래가 진행되지 않습니다. 질문: 상품명과 브로커가 제공하는 상품명을 비교하는 기능이 있습니까?
아니요. 자신을 확인해야 합니다.
 
paladin800 : 질문: 상품명과 브로커가 제공하는 상품명을 비교하는 기능이 있나요?
문제는 출력에서 무엇을 보고 싶은가입니다. 원칙적으로 인스트루먼트의 상징적인 이름을 매개변수 중 하나로 사용하는 모든 표준 기능은 사용자가 지정한 이름을 브로커의 인스트루먼트 이름과 "비교"합니다. 그리고 이러한 함수의 경우 ERR_MARKET_UNKNOWN_SYMBOL(4301) 오류도 제공됩니다.
 
Yedelkin :
문제는 출력에서 무엇을 보고 싶은가입니다. 원칙적으로 인스트루먼트의 상징적인 이름을 매개변수 중 하나로 사용하는 모든 표준 기능은 사용자가 지정한 이름을 브로커의 인스트루먼트 이름과 "비교"합니다. 그리고 이러한 함수의 경우 ERR_MARKET_UNKNOWN_SYMBOL(4301) 오류도 제공됩니다.
원칙적으로 예, 표시기 핸들에서 존재하지 않는 기호를 검색하면 오류가 생성됩니다. 일반적으로 현재 경고의 입력 매개변수에 오류 메시지 를 표시할 수 있습니다.
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции - Документация по MQL5
 
paladin800 : 원칙적으로 예, 표시기 핸들에서 존재하지 않는 기호를 검색하면 오류가 발생합니다. 일반적으로 현재 경고의 입력 매개변수에 오류 메시지 를 표시할 수 있습니다.
입력 문자열 매개변수 지정의 정확성을 즉시 확인하도록 자체 미니 함수를 작성할 수도 있습니다. 오류 검사와 함께 SymbolSelect(...,true) 또는 SymbolInfoString (..., SYMBOL_DESCRIPTION, ... )과 같은 것을 사용하십시오. 저것들. Carlson이 말했듯이 "자체" 검증을 구현하십시오.
 
좋은 오후에요 여러분.

추가 처리 및 시각화를 위해 눈금 수집 표시기를 만들려고 합니다. MT5 AlpariUK 버전 5.0 빌드 756
onCalculate를 처리할 때 테스트 표시기 는 현재 BID, ASK, LAST, VOLUME, tick_volume의 값을 인쇄합니다.

 //+------------------------------------------------------------------+
//|                                                TickCollector.mq5 |
//|                                             Copyright 2013, MZen |
//|                                             http://www.almex.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MZen"
#property link       "http://www.almex.net"
#property version   "1.00"
#property indicator_chart_window


string    time_toprint, tick_bid, tick_ask, tick_last, tick_vol;
string    par1, par2, par3;


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---

            time_toprint = TimeToString ( SymbolInfoInteger ( _Symbol , SYMBOL_TIME ),TIME_DATE|TIME_SECONDS);
            tick_bid = DoubleToString ( SymbolInfoDouble ( _Symbol , SYMBOL_BID ), _Digits );
            tick_ask = DoubleToString ( SymbolInfoDouble ( _Symbol , SYMBOL_ASK ), _Digits );            
            tick_last = DoubleToString ( SymbolInfoDouble ( _Symbol , SYMBOL_LAST )); 
            tick_vol = IntegerToString ( SymbolInfoInteger ( _Symbol , SYMBOL_VOLUME ));
            
            par1 = IntegerToString (tick_volume[(rates_total- 1 )]);
            
             Print ( "Server Time=" ,time_toprint, "   " , "Bid=" ,tick_bid, "   " , "Ask=" ,tick_ask, "   Price=" ,tick_last, "  Volume=" ,tick_vol, "  Tick volume=" ,par1);
           
//--- return value of prev_calculated for next call
   return (rates_total);
  }

//+------------------------------------------------------------------+

결과:

2013.03.03 19:45:59 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:03 Bid=93.680 Ask=93.689 Price=93.68000000 Volume=10000500 Tick
2013.03.03 19:45:59 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:03 Bid=93.680 Ask=93.689 Price=93.68000000 Volume=10000000 Tick
2013.03.03 19:45:59 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:03 Bid=93.681 Ask=93.691 Price=93.68100000 Volume=30000000 Tick
2013.03.03 19:45:59 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:03 Bid=93.681 Ask=93.691 Price=93.68100000 Volume=30000000 Tick
2013.03.03 19:45:58 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:02 Bid=93.682 Ask=93.691 Price=93.68200000 Volume=20000000 Tick
2013.03.03 19:45:58 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:02 Bid=93.682 Ask=93.691 Price=93.68200000 Volume=20000000 Tick
2013.03.03 19:45:57 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:01 Bid=93.683 Ask=93.693 Price=93.68300000 Volume=1000000 Tick
2013.03.03 19:45:57 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:01 Bid=93.683 Ask=93.693 Price=93.68300000 Volume=1000000 Tick
2013.03.03 19:45:56 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:00 Bid=93.689 Ask=93.696 Price=93.68900000 Volume=5700100 Tick volume
2013.03.03 19:45:56 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:46:00 Bid=93.689 Ask=93.696 Price=93.68900000 Volume=5700100 Tick volume
2013.03.03 19:45:55 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:59 Bid=93.685 Ask=93.695 Price=93.68500000 Volume=18000000 Tick
2013.03.03 19:45:54 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:58 Bid=93.685 Ask=93.695 Price=93.68500000 Volume=17000000 Tick
2013.03.03 19:45:54 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:58 Bid=93.685 Ask=93.695 Price=93.68500000 Volume=15000500 Tick
2013.03.03 19:45:54 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:58 Bid=93.685 Ask=93.695 Price=93.68500000 Volume=15000500 Tick
2013.03.03 19:45:53 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:57 Bid=93.685 Ask=93.693 Price=93.68500000 Volume=5000500 Tick volume
2013.03.03 19:45:52 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:56 Bid=93.685 Ask=93.693 Price=93.68500000 Volume=4000400 Tick volume
2013.03.03 19:45:52 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:56 Bid=93.685 Ask=93.693 Price=93.68500000 Volume=2000400 Tick volume
2013.03.03 19:45:52 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:56 Bid=93.685 Ask=93.693 Price=93.68500000 Volume=2000400 Tick volume
2013.03.03 19:45:51 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:55 Bid=93.685 Ask=93.691 Price=93.68500000 Volume=2000400 Tick volume
2013.03.03 19:45:51 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:55 Bid=93.685 Ask=93.691 Price=93.68500000 Volume=10000000 Tick
2013.03.03 19:45:51 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:55 Bid=93.685 Ask=93.691 Price=93.68500000 Volume=10000000 Tick
2013.03.03 19:45:50 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:54 Bid=93.680 Ask=93.691 Price=93.68000000 Volume=10000000 Tick
2013.03.03 19:45:50 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:54 Bid=93.680 Ask=93.691 Price=93.68000000 Volume=10000000 Tick
2013.03.03 19:45:48 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:45:52 Bid=93.682 Ask=93.691 Price=93.68200000 Volume=10000400 Tick

대부분의 경우 onCalculate가 틱당 두 번 실행되는 것처럼 보이며 tick_volume은 틱 볼륨과 아무 관련이 없습니다. 새 기간으로 전환하면 1로 재설정됩니다. 같은 값이 1, 2, 3번 반복될 수 있습니다.

확인하기 위해 틱과 자체 표시기를 인쇄하는 EA를 동시에 시작했습니다.

결과:

2013.03.03 19:51:56 틱 (USDJPY,M1) 2013.03.03 19:51:56 93.684 93.677
2013.03.03 19:51:56 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:52:00 Bid=93.677 Ask=93.684 Price=93.67700000 Volume=1000000 Tick
2013.03.03 19:51:56 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:52:00 Bid=93.677 Ask=93.684 Price=93.67700000 Volume=1000000 Tick
2013.03.03 19:51:56 틱 (USDJPY,M1) 2013.03.03 19:51:56 93.683 93.674
2013.03.03 19:51:56 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:52:00 Bid=93.674 Ask=93.683 Price=93.67400000 Volume=30000000 Tick
2013.03.03 19:51:56 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:52:00 Bid=93.674 Ask=93.683 Price=93.67400000 Volume=30000000 Tick
2013.03.03 19:51:55 틱 (USDJPY,M1) 2013.03.03 19:51:55 93.682 93.674
2013.03.03 19:51:55 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:59 Bid=93.674 Ask=93.682 Price=93.67400000 Volume=30000000 Tick
2013.03.03 19:51:55 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:59 Bid=93.674 Ask=93.682 Price=93.67400000 Volume=30000000 Tick
2013.03.03 19:51:51 틱 (USDJPY,M1) 2013.03.03 19:51:51 93.680 93.670
2013.03.03 19:51:51 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:55 Bid=93.670 Ask=93.680 Price=93.67000000 Volume=10000000 Tick
2013.03.03 19:51:51 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:55 Bid=93.670 Ask=93.680 Price=93.67000000 Volume=10000000 Tick
2013.03.03 19:51:50 틱 (USDJPY,M1) 2013.03.03 19:51:50 93.678 93.669
2013.03.03 19:51:50 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:54 Bid=93.669 Ask=93.678 Price=93.66900000 Volume=3500050 Tick
2013.03.03 19:51:49 틱 (USDJPY,M1) 2013.03.03 19:51:49 93.678 93.669
2013.03.03 19:51:49 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:53 Bid=93.669 Ask=93.678 Price=93.66900000 Volume=30000000 Tick
2013.03.03 19:51:49 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:53 Bid=93.669 Ask=93.678 Price=93.66900000 Volume=30000000 Tick
2013.03.03 19:51:46 틱 (USDJPY,M1) 2013.03.03 19:51:46 93.680 93.672
2013.03.03 19:51:46 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:50 Bid=93.672 Ask=93.680 Price=93.67200000 Volume=10000000 Tick
2013.03.03 19:51:46 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:50 Bid=93.672 Ask=93.680 Price=93.67200000 Volume=10000000 Tick
2013.03.03 19:51:44 틱 (USDJPY,M1) 2013.03.03 19:51:44 93.681 93.672
2013.03.03 19:51:44 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:48 Bid=93.672 Ask=93.681 Price=93.67200000 Volume=10000000 Tick
2013.03.03 19:51:44 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:48 Bid=93.672 Ask=93.681 Price=93.67200000 Volume=10000000 Tick
2013.03.03 19:51:44 틱 (USDJPY,M1) 2013.03.03 19:51:44 93.683 93.673
2013.03.03 19:51:44 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:48 Bid=93.673 Ask=93.683 Price=93.67300000 Volume=10000000 Tick
2013.03.03 19:51:44 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:48 Bid=93.673 Ask=93.683 Price=93.67300000 Volume=10000000 Tick
2013.03.03 19:51:42 틱 (USDJPY,M1) 2013.03.03 19:51:42 93.683 93.674
2013.03.03 19:51:42 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:46 Bid=93.674 Ask=93.683 Price=93.67400000 Volume=3000000 Tick
2013.03.03 19:51:42 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:46 Bid=93.674 Ask=93.683 Price=93.67400000 Volume=3000000 Tick
2013.03.03 19:51:41 틱 (USDJPY,M1) 2013.03.03 19:51:41 93.683 93.673
2013.03.03 19:51:41 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:45 Bid=93.673 Ask=93.683 Price=93.67300000 Volume=1000000 Tick
2013.03.03 19:51:41 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:45 Bid=93.673 Ask=93.683 Price=93.67300000 Volume=1000000 Tick
2013.03.03 19:51:40 틱 (USDJPY,M1) 2013.03.03 19:51:40 93.682 93.673
2013.03.03 19:51:40 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:44 Bid=93.673 Ask=93.682 Price=93.67300000 Volume=1000000 Tick
2013.03.03 19:51:40 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:44 Bid=93.673 Ask=93.682 Price=93.67300000 Volume=1000000 Tick
2013.03.03 19:51:39 틱 (USDJPY,M1) 2013.03.03 19:51:39 93.681 93.671
2013.03.03 19:51:39 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:43 Bid=93.671 Ask=93.681 Price=93.67100000 Volume=4000000 Tick
2013.03.03 19:51:38 틱 (USDJPY,M1) 2013.03.03 19:51:38 93.681 93.671
2013.03.03 19:51:38 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:42 Bid=93.671 Ask=93.681 Price=93.67100000 Volume=6000000 Tick
2013.03.03 19:51:38 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:42 Bid=93.671 Ask=93.681 Price=93.67100000 Volume=6000000 Tick
2013.03.03 19:51:37 틱 (USDJPY,M1) 2013.03.03 19:51:37 93.682 93.674
2013.03.03 19:51:37 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:41 Bid=93.674 Ask=93.682 Price=93.67400000 Volume=1000050 Tick
2013.03.03 19:51:37 TestTickCollector (USDJPY,M1) Server Time=2013.03.04 02:51:41 Bid=93.674 Ask=93.682 Price=93.67400000 Volume=1000000 Tick

질문: 진드기가 복제된 이유와 제거 방법은 무엇입니까?

가격이 변할 때뿐만 아니라 다른 이유로 onCalculate가 실행되는 경우 onCalculate로 전환하는 이유를 결정하는 방법은 무엇입니까? 그리고 onCalculate를 트리거하는 모든 이유는 어디에 설명되어 있습니까?

틱 볼륨에 내가 무엇을 잘못하고 있습니까?

내가 뭔가를 놓치고 있습니까?

한 가지 더 질문 - 내 컴퓨터의 시간은 상당히 뒤쳐져 있습니다. 이틀간의 차이는 4초였다. 어떤 방향으로 해결책을 찾아야 할까요?

모두에게 감사합니다.

 

존경하는 청중을 위한 또 하나의 질문:


https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_integer의 문서에서

말한다:

SYMBOL_BID 입찰 - 최고의 판매 제안

SYMBOL_ASK 묻기 - 베스트 바이 제안


내가 이해하기로는 입찰가가 최고의 제안입니다. Buy and Ask는 최고의 판매 제안입니다.

다음은 ServiceDesk가 응답한 내용입니다.
지원팀 2013.03.04 07:39


그 뜻은


SYMBOL_BID Bid - 베스트 셀러 오퍼 (현재 판매할 수 있는 가장 좋은 가격 )

SYMBOL_ASK 묻기 - 베스트 바이 제안 (현시점에서 살 수 있는 가장 좋은 가격)




토론을 위해 제출합니다. 누가 옳습니까?

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
MZen :

존경하는 청중을 위한 또 하나의 질문:


https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_integer의 문서에서

말한다:

SYMBOL_BID 입찰 - 최고의 판매 제안

SYMBOL_ASK 묻기 - 베스트 바이 제안


내가 이해하기로는 입찰가가 최고의 제안입니다. Buy and Ask는 최고의 판매 제안입니다.

다음은 ServiceDesk가 응답한 내용입니다.
지원팀 2013.03.04 07:39
그 뜻은

엠젠

SYMBOL_BID Bid - 베스트 셀러 오퍼 (현재 판매할 수 있는 가장 좋은 가격 )

SYMBOL_ASK 묻기 - 베스트 바이 제안 (현시점에서 살 수 있는 가장 좋은 가격)




토론을 위해 제출합니다. 누가 옳습니까?

말장난 - 두 상황 모두에 구매자가 있고, 두 상황 모두 고려해야 할 위치에 따라 판매자가 있습니다.
 
lazarev-dm :
말장난 - 두 상황 모두에 구매자가 있고, 두 상황 모두 고려해야 할 위치에 따라 판매자가 있습니다.

아, 알았다!

"내게 구매"라고 물으면 구매 제안입니다!

그리고 내가 "나에게 판매하십시오"라고 말하면 이것은 판매 제안입니다!

ㅋㅋㅋ!

 

OOP를 배우기 시작했습니다. 전문가를 위한 질문 - 전문가 코드(및 함수)의 맨 끝에 클래스를 넣을 수 있습니까?

 int OnInit ()
  {
   return ( 0 );
  }
//---
void OnTick ()
  {
   ...
  }
//---
void OnDeinit ( const int reason)
  {
   ...
  }
//---
   class CName 
     {
      ...
     };

클래스를 다음과 같은 코드에 연결하는 대신:

 #include <Trade\Trade.mqh>
 
paladin800 :

OOP를 배우기 시작했습니다. 전문가를 위한 질문 - 전문가 코드(및 함수)의 맨 끝에 클래스를 넣을 수 있습니까?

클래스를 다음과 같은 코드에 연결하는 대신:

이론상으로는 클래스가 아니라 단순히 프로그램 코드에서 빼낸 함수일 것입니다. (참고로 저는 OOP 대신 사용하는 편이 더 편합니다