MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1002

 
Seric29 :
Bir C++ dll'de bir tarih ve renk türü değişkeni nasıl uygulanır? Bir dll'de Print() işlevi nasıl çağrılır, nasıl değiştirilir, çünkü C++'da yoktur ve mql4'te hata ayıklama olmadığı için bunu yapmak mümkün müdür ve sık sık hatalar yaparsınız veya ilk defa bir şey yazmak zor, ne yapılabilir?

F1'e basmayı denemediniz mi?

" Datetime türü , tarih ve saati 01 Ocak 1970'den bu yana geçen saniye sayısı olarak saklamak için tasarlanmıştır. Bellekte 8 bayt yer kaplar."

renk türüyle - kendi kendinize çalışın :-)

---

Bir dll'de hata ayıklarken, Yazdır işlevi yerine bir dosyaya yazdırın ve içine bakın.

 
Maxim Kuznetsov :

F1'e basmayı denemediniz mi?

renk türüyle - kendi kendinize çalışın :-)

---

Bir dll'de hata ayıklarken, Yazdır işlevi yerine bir dosyaya yazdırın ve içine bakın.

Print () hakkında açık, tavsiye için teşekkürler, ancak konsola çıktı alabilirsiniz, çünkü C++ ve buradaki dosyalarla nasıl çalışılacağını bilmiyorum, ancak tarih saatine gelince, neden olduğunu anlamadım. bunu hiç yazdınmı?

 
Seric29 :

Print () hakkında açık, tavsiye için teşekkürler, ancak konsola çıktı alabilirsiniz, çünkü C++ ve buradaki dosyalarla nasıl çalışılacağını bilmiyorum, ancak tarih saatine gelince, neden olduğunu anlamadım. bunu hiç yazdınmı?

ve orada C / C ++ ile temsil hakkında her şey yazılmıştır.

bu, 8 baytlık işaretsiz bir unixtime tamsayıdır, yani tercihinize göre uint64_t veya time64_t

 
Maxim Kuznetsov :

ve orada C / C ++ ile temsil hakkında her şey yazılmıştır.

bu, 8 baytlık işaretsiz bir unixtime tamsayıdır, yani tercihinize göre uint64_t veya time64_t

ne uint64_t ne de time64_t çalışmıyor, <uint64_t> yazmayı denedim ve o da çalışmıyor. Ve çiçeklerle nasıl çalışılacağı da belli değil, nette de bir açıklama bulamadım.2 yıldır bu konuyla uğraşıyorum?

 
Seric29 :

ne uint64_t ne de time64_t çalışmıyor, <uint64_t> yazmayı denedim ve o da çalışmıyor. Ve çiçeklerle nasıl çalışılacağı da belli değil, nette de bir açıklama bulamadım.2 yıldır bu konuyla uğraşıyorum?

MetaTrader ve DLL olmadan önce C/C++ öğrenmelisiniz. Ve bu tam bir hayal kırıklığı ve boş bir iş olacak

#include <ctime>

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

#include <cstdint>

http://www.cplusplus.com/reference/ adresine bakın

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 ve DLL olmadan önce C/C++ öğrenmelisiniz. Ve bu tam bir hayal kırıklığı ve boş bir iş olacak

#include <ctime>

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

#include <cstdint>

http://www.cplusplus.com/reference/ adresine bakın

Doğru anlarsam, o zaman uç noktaları alır ve saniyeler içinde sayar, normal biçimin nasıl görüntüleneceği henüz benim için net değil. örnekler isterim. Ve çiçeklerle nasıl çalışılır?

 

time_t değişkeni saniyeleri depolarsa, 2008.09.23 00:00 biçiminde bir tarihin nasıl oluşturulacağı açık değil mi?

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

İnternette bulamadığım örnek derlenmiyor bile, işte onlardan biri

 int main()
{ 
  time_t rawtime;
   struct tm * ptm;
  time( &rawtime );                                     // определить текущую дату в секундах
  ptm = gmtime( &rawtime ); 
return 0 ;}
Anlaşılmasının da mümkün olmadığı açıktır.
 

Merhaba.

Nedenini söyle, bir sellstop açarken, fiyat parametresinde istenen fiyatın saklandığı bir değişken belirtirseniz, yemin eder.


 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" - в которой хранится цена, то он снова ругается, но гораздо меньше.
     // Его не устраивает эта переменная

Bu durumda nasıl yazılır?

Ve bir soru daha ekleyeyim. Daha fazla açmak için nasıl kontrol edilir. Onlar. bu ilk siparişse, yığından fırsatları seçmek ve türünü kontrol etmek için geçerli kod iyidir. Ancak gelecekte, kafa karışıklığının olabileceği düşüncesi geldi. Birkaç sipariş varsa, bu siparişin şimdi mi açıldığını yoksa uzun süredir askıda mı olduğunu nasıl anlayabilirim? Foruma baktım, fiyattan devam etmenizi tavsiye ediyorlar. Bu fiyat +/- sapma ile siparişlerin varlığının numaralandırılması. Ama yine aynı soru. Yeni bir düzen mi yoksa eski bir düzen mi olduğunu nasıl anlarız. Bekleyen bir emirden emir mi açtı, yoksa zaten bir emir vardı ve fiyat şu anda seviyesinde.

 
Gilmor :

Merhaba.

Nedenini söyle, bir sellstop açarken, fiyat parametresinde istenen fiyatın saklandığı bir değişken belirtirseniz, yemin eder.


Bu durumda nasıl yazılır?

Parantezlere dikkat edin.

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