Sonsuza kadar harika ve korkunç MT4 (veya bir geçiş stratejisinin nasıl doğru bir şekilde geliştirileceği) - sayfa 18

 
PapaYozh :
Numara.
Sonuç garanti edilmez.

yeterli kuruş varsa, o zaman garantili

 
fxsaber :

MT5 üzerine boş bir hesapta 100 pozisyon açan bir script yazmanız gerekiyor.


MT4'te bu şekilde karar verildi.


MT5'te kimin hangi çözümleri var?

Kısmi yürütme mümkün mü?
 
SanAlex :

yeterli kuruş varsa, o zaman garantili

kısmi yürütmeyi hesaba katmadınız ve hesaba kattığınızda, çifte yürütmeyi de hesaba katmanız gerekecek

 
Alexey Viktorov :
Kısmi yürütme mümkün mü?

Kısmi bir yürütme olmadığını varsayacağız. Ancak script çalışırken birisi yanlışlıkla pozisyon tablosundaki çarpı işaretine tıklayarak birini/birkaçını kapatabilir. Ancak, komut dosyasının yürütülmesinin sonunda hala tam olarak 100 konum olmalıdır.


MT4 seçeneği delicesine basittir. Bu yüzden bu başlığa yazdım.

 
fxsaber :

MT5'te kimin hangi çözümleri var?

Senkronizör yok.

Süreçte temel bir yeniden fiyat teklifi veya bağlantı kaybı olabilir, 100 sipariş her zaman 100 işlem vermez.

 
Andrey Khatimlianskii :

Senkronizör yok.

Süreçte temel bir yeniden fiyat teklifi veya bağlantı kaybı olabilir, 100 sipariş her zaman 100 işlem vermez.

Senkronizör yalnızca PositionsTotal ve OrdersTotal değerlerinin yalan söylememesini sağlayacaktır. Bunun nedeni kısa bir süre yalan söylemeleridir ve çiftler elde edilir.

Temel olarak, senkronizör bir satırdır. Ve cihazına tırmanmazsanız, uygulama basittir.


Bununla birlikte, bir senkronizörle bile, her şey son derece önemsizdir. Bu koşulu kullanabilirsiniz:

 while ( OrdersTotal () + PositionsTotal < 100 )

Ancak, birisi aşağıdakileri yaparsa, bu durum tam bir serseri olurdu.

fxsaber :

Kısmi bir yürütme olmadığını varsayacağız. Ancak script çalışırken birisi yanlışlıkla pozisyon tablosundaki çarpı işaretine tıklayarak birini/birkaçını kapatabilir. Ancak, komut dosyasının yürütülmesinin sonunda hala tam olarak 100 konum olmalıdır.


Onlar. MT4'te iki satırda çözülebilen temel bir görev, MT5'te kolayca çözülmez. Bu nedenle, MT5'te MT4 stili + Synchronizer kuralları. Bu nedenle, aynı Pazarda bu kadar çok bulunan MT5'te Expert Advisors'ın nasıl farklı yazıldığını tam olarak anlamıyorum.

 
fxsaber :

Senkronizör yalnızca PositionsTotal ve OrdersTotal değerlerinin yalan söylememesini sağlayacaktır. Bunun nedeni kısa bir süre yalan söylemeleridir ve çiftler elde edilir.

Temel olarak, senkronizör bir satırdır. Ve cihazına tırmanmazsanız, uygulama basittir.


Bununla birlikte, bir senkronizörle bile, her şey son derece önemsizdir. Bu koşulu kullanabilirsiniz:

Ancak, birisi aşağıdakileri yaparsa, bu durum tam bir serseri olurdu.


Onlar. MT4'te iki satırda çözülebilen temel bir görev, MT5'te kolayca çözülmez. Bu nedenle, MT5'te MT4 stili + Synchronizer kuralları. Bu nedenle, aynı Pazarda bu kadar çok bulunan MT5'te Expert Advisors'ın nasıl farklı yazıldığını tam olarak anlamıyorum.

MT5'te her şey MT4'tekiyle aynı şekilde çözülür ve genellikle çok daha kolay, çünkü dil ve API çok daha zengindir. Daha doğrusu diller hemen hemen aynı, burada Metaquotes uyumluluk için harika bir iş çıkardı, ancak API'ler oldukça farklı. Renat (Metaquotes Direktörü) bir keresinde forumlarda MT4'ün öldüğünü ve geliştirilmeyeceğini belirtmişti. Ancak görünüşe göre, ticari çıkarlar daha önemli hale geldi ve yine de güncellemeler geliyor. Ancak bunlar çoğunlukla MKL 5'teki hata düzeltmeleri ve yeni özellikler. Yani geliştiriciler harika, şapkamı çıkarıyorum ki bende yok.))

Ancak genel olarak, bazı yoldaşların iniltilerini anlamıyorum, MKL5'e geçmenin ne kadar zor olduğunu. Evet, orada zorluk yok, başka bir API var, bu yüzden ayrıntılı kaynaklar var, onları incelemeyi tercih ediyorum. Henüz yeterli bilgiye sahip olmayanlar, yardıma hoş geldiniz, kısa ama net bir şekilde yazılmıştır. Her durumda, beş, dördünden en az 10 kat daha hızlıdır ve optimizasyon modunda genellikle sizin tarafınızdan izin verilen tüm işlemci çekirdeklerini kullanır ve modern bir video kartıyla dört yüz kat daha hızlıdır. O yüzden hüzünlü şarkılar yazmayın. ))

 
Andrei Trukhanovich :

kısmi yürütmeyi hesaba katmadınız ve hesaba kattığınızda, çifte yürütmeyi de hesaba katmanız gerekecek

ve bu da yanlış mı? - bu fonksiyondan kimin ne istediğini anlamasam da - ama işini %100 yapıyor!!!

 //+------------------------------------------------------------------+
//|                                                    maxLimits.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property script_show_inputs
#include <Trade\Trade.mqh>
//---
CTrade m_trade; // trading object
//---
sinput uint    maxLimits = 3 ;     // Кол-во Позиции Открыть в одну сторону
sinput double InpLots   = 0.01 ; // Lots
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   const string symbol= NULL ;
   double price= 0.0 ;
   const double sl= 0.0 ;
   const double tp= 0.0 ;
   const string comment= "" ;
//--- check symbol
   string symbol_name=(symbol== NULL ) ? Symbol () : symbol;
//--- check price
   if (price== 0.0 )
      price= SymbolInfoDouble (symbol_name, SYMBOL_ASK );
//---
   for ( uint i= 0 ; i<maxLimits; i++)
     {
       //--- open position
       if (m_trade.PositionOpen( Symbol (), ORDER_TYPE_BUY ,InpLots,price,sl,tp))
         printf ( "Position by %s to be opened" , Symbol ());
       else
        {
         printf ( "Error opening BUY position by %s : '%s'" , Symbol (),m_trade.ResultComment());
         printf ( "Open parameters : price=%f,SL=%f,TP=%f" ,price,sl,tp);
        }
     }
  }
//+------------------------------------------------------------------+
//---
   for ( uint i= 0 ; i<maxLimits; i++)
     {
       //--- open position
       if (m_trade.Buy(InpLots,symbol_name,price,sl,tp,comment))
       //if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,price,sl,tp))
         printf ( "Position by %s to be opened" , Symbol ());
       else
        {
         printf ( "Error opening BUY position by %s : '%s'" , Symbol (),m_trade.ResultComment());
         printf ( "Open parameters : price=%f,SL=%f,TP=%f" ,price,sl,tp);
        }
     }
 
fxsaber :

Kısmi bir yürütme olmadığını varsayacağız. Ancak script çalışırken birisi yanlışlıkla pozisyon tablosundaki çarpı işaretine tıklayarak birini/birkaçını kapatabilir. Ancak, komut dosyasının yürütülmesinin sonunda hala tam olarak 100 konum olmalıdır.


MT4 seçeneği delicesine basittir. Bu yüzden bu başlığa yazdım.

Yani, MQL5 için, birinin şaka oynayabileceği, ancak MQL4 için yapamayacağı koşullar belirlediniz mi? Hesaba başka bir bilgisayardan bağlanıp birkaç depozito ayarlarsam… MQL4 ne açacak???

Herhangi bir çek olmadan hile yapmak ister misiniz? Programlamada serbestlik için mi kampanya yürütüyorsunuz, yoksa sadece birinin bencil çıkarları için MQL5'i daha fazla lanetlemeye mi çalışıyorsunuz?

Aynısını kontroller ve kusursuzluk ile mql4'e yazın.

 
Alexey Viktorov :

Yani, MQL5 için, birinin şaka oynayabileceği, ancak MQL4 için yapamayacağı koşullar belirlediniz mi? Hesaba başka bir bilgisayardan bağlanıp birkaç depozito ayarlarsam… MQL4 ne açacak???

MT4 ve MT5 için koşullar aynıdır.

Herhangi bir çek olmadan hile yapmak ister misiniz? Programlamada serbestlik için mi kampanya yürütüyorsunuz, yoksa sadece birinin bencil çıkarları için MQL5'i daha fazla lanetlemeye mi çalışıyorsunuz?

Aynısını kontroller ve kusursuzluk ile mql4'e yazın.

Her şeyi sadece MT5'te yapıyorum. Sadece MT5'in MT4'ten daha zor olmadığını saçmalamayın. ÇOK daha zor! Daha bu hafta pozisyonları ikiye katlama kararı çıktı ve %100 işe yaradığı da bir gerçek değil.

Uzun yıllar boyunca herkes iki katına çıkmayı, gelmeyi biliyordu... Uyumak . Çünkü ÇOK ZOR. Forumda gündeme getirilen ticaret API'sinin birçok özelliği, geliştiricilerin farkında değil veya yorumlarını vermedi.


Kimse MT5'ten nefret etmez. Temel problemlerin çözümünde bazı problemlere örnekler gösterdi.