Çeviri zorlukları :) - sayfa 4

 
Alexey Volchanskiy :

Rica ederim. Ama tembel bir kedi yazdım))

Bu nedenle, her seferinde şeytanın taşaklarını çekmiyorum, siparişlerle ilgili verileri bir sınıfta saklıyorum.

Tamamen soru üzerine: Muhtemelen emirleri değil, pozisyonları görmek istediniz? M... Her şeyi farklı yapardım ama canlı yayın böyle bir şey

Tüm durumlar için şablonda bu işlevlerden 40 adet var. Siparişler için ayrı, pozisyonlar için ayrı. Onlarla çalışmak çok hızlı, bu danışmanda ihtiyaç duyulanları ve her şeyi kullanıyoruz, birkaç dakika içinde danışmanın algoritmasını genişletebilir veya yeniden oluşturabilirsiniz. Bu yüzden fonksiyonları tek bir dosya içinde kullanıyorum ve ayrıca herhangi bir şey bağlamam gerekmiyor.

Evet pozisyonları görmek istedim mümkünse siparişler de süper olur)

Alexey, bir gece yürüyüşünden sonra zaman ve arzu varsa, lütfen yaz, nasıl görünmesi gerektiğini göreceğim ve benzetme yoluyla olan her şeyi yeniden yazacağım.

Teşekkür ederim!

//==================

PS yazarken cevabı vermişsiniz)

(c) kodu girdikten sonra neden hakkında herhangi bir g *** eklemek gerekiyor !!!!

Bu, bir yorum gibi hangi işlevin olduğunu bilmek, birçoğu var.

Cevap için teşekkürler, kazmaya devam edeceğim

 
Alexey Volchanskiy :

Rica ederim. Ama tembel bir kedi yazdım))

Bu nedenle, her seferinde şeytanın taşaklarını çekmiyorum, siparişlerle ilgili verileri bir sınıfta saklıyorum.

Tamamen soru üzerine: Muhtemelen emirleri değil, pozisyonları görmek istediniz? M... Her şeyi farklı yapardım ama canlı yayın böyle bir şey

aptal site yine her şeyi çarptı, zaya ** lo, kırmızıya gideceğim, orada her şey açık

****************** aptalyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy sitetttttttttttttttttttttttt!!!!!!!!!!

kodu girdikten sonra neden herhangi bir g *** o eklemeniz gerekiyor !!!!

Hayır Alex, bu tamamen doğru değil. PositionSelect(Symbol()) aynı pozisyonu seçecektir. Bu ağ için iyidir.

Eşlenmemiş parantezli bir parça da vereceğim, burada herkes anlıyor

     for (i = 0 ; i < PositionsTotal (); i++)
     {
       if ( PositionGetTicket (i) > 0 && PositionGetString ( POSITION_SYMBOL ) == Symbol() && PositionGetInteger ( POSITION_MAGIC ) == magic)
       {
         if ( PositionGetInteger ( POSITION_TYPE ) == POSITION_TYPE_BUY || PositionGetInteger ( POSITION_TYPE ) == POSITION_TYPE_SELL )
         {
 
Vitaly Muzichenko :

Evet pozisyonları görmek istedim mümkünse siparişler de süper olur)


Bekleyen siparişler için neredeyse aynı olacak

    for (i = 0 ; i < Orders Total (); i++)
     {
       if ( OrderGetTicket (i) > 0 && Order GetString ( POSITION_SYMBOL ) == Symbol() && Order GetInteger ( POSITION_MAGIC ) == magic)
       {
         if ( Order GetInteger ( POSITION_TYPE ) == POSITION_TYPE_BUY_STOP || Order GetInteger ( POSITION_TYPE ) == POSITION_TYPE_SELL _ STOP ) // или другие типы
         {
 
Alexey Viktorov :

Bekleyen siparişler için neredeyse aynı olacak

Beş kodlu yazarlara) yardımları için çok teşekkürler!
 
Vitaly Muzichenko :

Alexey, sana bir soru:

Prosedürel bir tarzda yazılmış projeleri tercüme etmek ne kadar uzun ve zor? Neden prosedürde? - Alıştım, her durum için bir şablon var, içindeki koşullar için 3-5 satır yazıyorum ve herhangi bir baykuş tüm hata ayıklama ile yarım saat içinde hazır

Takip etmek:

Pozisyon açma fonksiyonunu dördü ile aynı formda kullanmak için yeniden yazmak mümkün mü, sadece isimlerine alıştım ve birkaç yıl içinde kullanmaya başladım ve hiçbir kütüphanenin bağlanmasına gerek yok.

Peki, grafik açma ve oluşturma koşulları bloğu:

Hala çok fazla grafik var, bir şekilde beşincide bir kez yazdım, bu yüzden .opu yapılan zaman ve ilk noktayı ve ikinciyi seçmenin bedeli ile bir şey var. Dördüncüde şöyle: ObjectSetInteger(0,nm,OBJPROP_TIME 1 , t1) ve ObjectSetInteger(0,nm,OBJPROP_TIME 2 , t2), ancak beşincide bu yapı çalışmıyor(

Cevabınız için şimdiden teşekkür ederiz!

Dün başka bir proje yeniden yazıldı, oldukça büyük bir Uzman Danışman. İstemcide haftalar, ağır kod ve birçok parametre için optimize edildi. Onu bir hedge ile 5'e geçmeye ikna ettim, bulutta optimize edebilirsiniz diyorum. Yani bugün o kadar hızlı kaynar su ile yazdığını yazıyor, her şey birkaç saat içinde optimize edildi, ki bu haftalar sürüyordu. Tabii ki, bulutta genellikle birkaç bin ücretsiz aracı vardır.

Şimdi sorunuza tecrübe kazandım, cevaplar var.

1. O halde prosedürel tarz kalsın, OOP'deki hiç kimse zorla çalıştırılmaz.

2. Burada MQL4 ve 5 fonksiyonları arasındaki yazışmalar hakkında güzel bir makale var.Orada bir tablo var. https://www.mql5.com/en/articles/81

3. Ve burada 4 ve 5'in ticaret fonksiyonlarını paylaşmak için bir kütüphane var. Denemedim ama ilginç. https://www.mql5.com/ru/code/16006

Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • 2010.05.11
  • Sergey Pavlov
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Çeviri zorlukları :)

Vitaly Muzichenko , 2016.08.15 21:00

Kabul ediyorum )

Alexey, sonra bir oyun olarak) lütfen bu işlevi ilk beşe aktarın:

 //===============================================================================================
//------------------------------- Возвращает количество позиций --------------------------------+
//===============================================================================================
int NumberOfPositions( string symb= "0" , int type=- 1 , int mg=- 1 ) {
 int kp= 0 ;
   if (symb== "0" ) { symb= Symbol ();}
   for ( int i= 0 ; i< OrdersTotal (); i++) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) {
     if (( OrderSymbol ()==symb||symb== "" )&&(type< 0 || OrderType ()==type)&&(mg< 0 || OrderMagicNumber ()==mg)) {
     if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ) {
      kp++;
 }}}}
   return (kp);
 }

Dörtte nasıl kullanılır - bilirsiniz.

Teşekkür ederim!


Çeviri konusunda biraz farklı bir görüşüm var. VS'de "değiştirme" yok. Sadece bir satır ekleyerek. MT5-Hedge için bahsedilen fonksiyonun çalışma kodu

 // https://www.mql5.com/ru/code/16006
#include <MT4Orders.mqh>

//===============================================================================================
//------------------------------- Возвращает количество позиций --------------------------------+
//===============================================================================================
int NumberOfPositions( string symb= "0" , int type=- 1 , int mg=- 1 ) {
 int kp= 0 ;
   if (symb== "0" ) { symb= Symbol ();}
   for ( int i= 0 ; i< OrdersTotal (); i++) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) {
     if (( OrderSymbol ()==symb||symb== "" )&&(type< 0 || OrderType ()==type)&&(mg< 0 || OrderMagicNumber ()==mg)) {
     if ( OrderType ()== OP_BUY || OrderType ()== OP_SELL ) {
      kp++;
 }}}}
   return (kp);
 }

Kod hemen çapraz platform oldu.

Benzer şekilde, diğer kişilerin MT4 Uzman Danışmanlarını MT5 test cihazında başlatıyorum - bir örnek .

 
fxsaber :

Çeviri konusunda biraz farklı bir görüşüm var. VS'de "değiştirme" yok. Sadece bir satır ekleyerek. MT5-Hedge için bahsedilen fonksiyonun çalışma kodu

Kod hemen çapraz platform oldu.

Benzer şekilde, diğer kişilerin MT4 Uzman Danışmanlarını MT5 test cihazında başlatıyorum - bir örnek .

Güzel! Dün çeviri hızı için CTrade kullandım, henüz kütüphaneye bakmadım. Ama mutlaka bakacağım.
 
Alexey Volchanskiy :
Güzel! Dün çeviri hızı için CTrade kullandım, henüz kütüphaneye bakmadım. Ama mutlaka bakacağım.

MT4Orders.mqh benim için çalışmadı - zaten kullandığım standart kitaplıkla çelişiyor. Muhtemelen sadece temiz bir sayfaya ihtiyacı var.

'::' - unexpected token Trade.mqh       126     22
'::' - unexpected token Trade.mqh       1477    14
'MqlTradeResult' - identifier already used      Trade.mqh       1477    55
see previous declaration of '           0       0
'&' - semicolon expected        Trade.mqh       1477    70
'if' - expressions are not allowed on a global scope    Trade.mqh       1483    4
'else' - expressions are not allowed on a global scope  Trade.mqh       1485    4
'if' - expressions are not allowed on a global scope    Trade.mqh       1488    4
'else' - expressions are not allowed on a global scope  Trade.mqh       1493    4
'return' - expressions are not allowed on a global scope        Trade.mqh       1499    4
')' - expressions are not allowed on a global scope     Trade.mqh       1500    3
declaration of 'action' hides global declaration in file 'Trade.mqh' at line 1480       DealInfo.mqh    244     55

**

 
Alexey Volchanskiy :

MT4Orders.mqh benim için çalışmadı - zaten kullandığım standart kitaplıkla çelişiyor. Muhtemelen sadece temiz bir sayfaya ihtiyacı var.

**

 #include <MT4Orders.mqh> // если есть #include <Trade/Trade.mqh>, вставить эту строчку ПОСЛЕ
 

Soru - MQL5'te bir pozisyonun komisyonu nasıl bulunur?

MQL4'te bunu yaptım

 double oProfit = OrderProfit () + OrderSwap () + OrderCommission (); // MQL4

Ve MQL5'te komisyon yok, sadece bu şekilde ortaya çıkıyor

 double oProfit = PositionGetDouble ( POSITION_PROFIT ) + PositionGetDouble ( POSITION_SWAP );

Siparişin özelliklerine baktım komisyon da yok. Ve ne yapmalı?

Neden: