MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1002

 
Seric29 :
C++ dll에서 datetame 및 색상 유형 변수를 구현하는 방법은 무엇입니까? dll에서 Print() 함수를 호출하는 방법, 이를 대체하는 방법, C++에는 존재하지 않기 때문에, mql4에는 디버깅이 없기 때문에 아예 할 수 없고, 실수를 자주 하거나 처음 쓰는 것이 어려운데, 무엇을 할 수 있을까요?

F1을 누르지 않았습니까?

" datetime은 1970년 1월 1일 이후 경과된 시간(초)으로 날짜와 시간을 저장하도록 설계되었습니다. 메모리에서 8바이트를 차지합니다. "

색상 유형으로 - 연습하십시오 :-)

---

dll을 디버깅할 때 인쇄 기능 대신 파일로 인쇄하여 살펴보십시오.

 
Maxim Kuznetsov :

F1을 누르지 않았습니까?

색상 유형으로 - 연습하십시오 :-)

---

dll을 디버깅할 때 인쇄 기능 대신 파일로 인쇄하여 살펴보십시오.

조언에 감사드립니다. print()에 대해 명확합니다. 하지만 C++ 및 여기에서 파일 작업 방법을 모르기 때문에 콘솔에 출력할 수 있습니다. 그러나 datetime에 관해서는 왜 당신이 이것을 전혀 썼습니까?

 
Seric29 :

조언에 감사드립니다. print()에 대해 명확합니다. 하지만 C++ 및 여기에서 파일 작업 방법을 모르기 때문에 콘솔에 출력할 수 있습니다. 그러나 datetime에 관해서는 왜 당신이 이것을 전혀 썼습니까?

C / C ++에서의 표현에 대한 모든 것이 거기에 기록되어 있습니다.

이것은 8바이트의 부호 없는 unixtime 정수, 즉 원하는 대로 uint64_t 또는 time64_t입니다.

 
Maxim Kuznetsov :

C / C ++에서의 표현에 대한 모든 것이 거기에 기록되어 있습니다.

이것은 8바이트의 부호 없는 unixtime 정수, 즉 원하는 대로 uint64_t 또는 time64_t입니다.

uint64_t도 time64_t도 작동하지 않습니다. <uint64_t>를 작성하려고 했지만 작동하지 않습니다. 그리고 꽃을 다루는 방법도 명확하지 않고 인터넷에서도 설명을 찾을 수 없었습니다.이 문제를 2 년 동안 처리 했습니까?

 
Seric29 :

uint64_t도 time64_t도 작동하지 않습니다. <uint64_t>를 작성하려고 했지만 작동하지 않습니다. 그리고 꽃을 다루는 방법도 명확하지 않고 인터넷에서도 설명을 찾을 수 없었습니다.이 문제를 2 년 동안 처리 했습니까?

MetaTrader와 DLL 없이 C/C++를 먼저 배워야 합니다. 그리고 그것은 완전한 실망과 헛된 일이 될 것입니다.

#include <ctime>

// или для uint64_t (что на мой взгляд вернее)

#include <cstdint>

http://www.cplusplus.com/reference/ 참조

Reference - C++ Reference
Reference - C++ Reference
  • www.cplusplus.com
The elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from general utility functions and macros to input/output functions and dynamic memory management functions: Containers Input/Output Stream Library Provides functionality to use an abstraction called streams specially...
 
Maxim Kuznetsov :

MetaTrader와 DLL 없이 C/C++를 먼저 배워야 합니다. 그리고 그것은 완전한 실망과 헛된 일이 될 것입니다.

#include <ctime>

// или для uint64_t (что на мой взгляд вернее)

#include <cstdint>

http://www.cplusplus.com/reference/ 참조

내가 올바르게 이해하면 일반적인 형식을 표시하는 방법이 아직 명확하지 않은 극단적 인 포인트가 필요하고 몇 초 만에 계산됩니다. 사례를 부탁드립니다. 그리고 꽃으로 작업하는 방법?

 

time_t 변수가 초를 저장하는 경우 2008.09.23 00:00 형식의 날짜를 생성하는 방법이 명확하지 않습니다.

time_t Data()
{ return 100 ;} Что функции в с++ так выглядят
 

인터넷에서 찾을 수 없는 예제는 컴파일조차 되지 않습니다. 여기 그 중 하나가 있습니다.

 int main()
{ 
  time_t rawtime;
   struct tm * ptm;
  time( &rawtime );                                     // определить текущую дату в секундах
  ptm = gmtime( &rawtime ); 
return 0 ;}
이해할 수 없는 것도 분명하다.
 

안녕하세요.

이유를 알려주세요. 매도를 열 때 가격 매개변수에 원하는 가격이 저장되는 변수를 지정하면 맹세합니다.


 int ZeroBufer;               // ticket zero
struct Order_Data_S // Структура которая заполняется по мере поступления данных.
  {
   int                ticket;
   double             price;
  };
Order_Data_S OrderBufer_S[ 100 ];

void OnTick ()
  {
   double prise_s = MarketInfo( Symbol (), MODE_BID);
   double zero = prise_s;
   OrderSelect (OrderBufer_B[ 0 ].ticket,SELECT_BY_TICKET,MODE_TRADES);   //return value of 'OrderSelect' should be checked  

   if (OrderType() == 0 ) // открыт bay ордер
     {
      ZeroBufer = OrderSend ( Symbol (),OP_SELLSTOP,lots,OrderBufer_S[ 0 ].price), 3 , 0 , 0 , "bs2" , 2 , 0 , clrRed );   // sell stop на шаг сетки.  // 'OrderSend' - wrong parameters count. 
       //',' - unexpected token. И еще 100500 ошибок на эту строку. OrderBufer_S[0].price не пустой. Там уже находится нужная цена.
      
       if ( OrderSelect (ZeroBufer,SELECT_BY_TICKET,MODE_TRADES) != true )
        {
         ZeroBufer = OrderSend ( Symbol (),OP_SELLSTOP,lots,zero), 3 , 0 , 0 , "bs2" , 2 , 0 , clrRed );
        }   // повторить, пока не откроет
     }
     }
     
     // Если вместо "OrderBufer_S[1].price" воткнуть другую переменную "zero" - в которой хранится цена, то он снова ругается, но гораздо меньше.
     // Его не устраивает эта переменная

이 경우 어떻게 작성합니까?

그리고 다른 질문을 추가하겠습니다. 추가 개봉 여부를 확인하는 방법. 저것들. 이것이 첫 번째 주문인 경우 스택에서 거래를 선택하고 유형을 확인하는 현재 코드는 문제가 없습니다. 하지만 앞으로 혼선이 생길 수 있다는 생각이 들었다. 여러 주문이 있는 경우 이 주문이 방금 열렸는지 아니면 오랫동안 보류되었는지 어떻게 이해합니까? 나는 포럼을 보았고 가격에서 진행하도록 조언합니다. 이 가격 +/- 편차의 주문 존재를 열거합니다. 그러나 다시 같은 질문. 새 주문인지 오래된 주문인지 어떻게 알 수 있습니까? 보류 중인 주문에서 주문을 열었습니까, 아니면 이미 주문이 있었고 가격이 이제 막 그 수준에 도달했습니다.

 
Gilmor :

안녕하세요.

이유를 알려주세요. 매도를 열 때 가격 매개변수에 원하는 가격이 저장되는 변수를 지정하면 맹세합니다.


이 경우 어떻게 작성합니까?

괄호를 조심하세요.

ZeroBufer = OrderSend ( Symbol (),OP_SELLSTOP,lots,OrderBufer_S[ 0 ].price ) , 3 , 0 , 0 , "bs2" , 2 , 0 , clrRed );