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

 
WinProject :
İyi akşamlar, söyle lütfen. Metin .csv dosyasından FileOpen okuyorum. Dosyanın her satırında enstrüman, tarih (azalan sırada) ve fiyat olmak üzere üç değer vardır. Son tarih fiyat yorumunu almak istiyorum (bu ilk satırdır), ancak dosya her zaman sonuna kadar okunur ve en eski fiyat yorumunu (son satırdan) alırım. Geçici çözümler olmadan yorumdaki ilk satırdan fiyat değeri nasıl alınır?

Dosya Arama()

Документация по MQL5: Файловые операции
Документация по MQL5: Файловые операции
  • www.mql5.com
Из соображений безопасности в языке MQL5 строго контролируется работа с файлами. Файлы, с которыми проводятся файловые операции средствами языка MQL5, не могут находиться за пределами файловой "песочницы". общая папка всех установленных на компьютере терминалов  – обычно расположена в каталоге C:\Documents and Settings\All Users\Application...
 
Igor Makanu :

her komisyoncunun kendi fiyat teklifi sağlayıcıları vardır, genellikle bunlardan birkaçı vardır ve ayrıca teklif yumuşatma algoritmaları vardır

genel olarak olduğu gibi - gerçek kenelere ihtiyacınız varsa, TS'nizi MQL5'e aktarın - gerçek keneler üzerinde test yapılır, test ederken zaman kazanın

Bize alıntı yumuşatma algoritmalarından kısaca bahsedin, nedir? Mql5'te, TS'yi geçmiş üzerinde keneler ile test etmek mümkündür, yani. Sonuç, yeniden teklifler ve boşluklar dikkate alınarak bire bir olacak mı, ancak Teklif Sor'un yanı sıra yeniden teklifler ve boşluklar dikkate alınarak işaretlerle test etmek mümkün mü?

 
Seric29 :

Bize alıntı yumuşatma algoritmalarından kısaca bahsedin, nedir? Mql5'te, TS'yi geçmiş üzerinde keneler ile test etmek mümkündür, yani. Sonuç, yeniden teklifler ve boşluklar dikkate alınarak bire bir olacak mı, ancak Teklif Sor'un yanı sıra yeniden teklifler ve boşluklar dikkate alınarak işaretlerle test etmek mümkün mü?

tiki ile ilgili tüm bilgiler bu forumda yaklaşık 6-8 yıl önce adminlerin mesajlarını arayarak herkese açıktır.

test kalitesi hakkında - makaleler

 
Alexey Viktorov :

Belki ters kapanış hacmini açmayı ve OrderCloseBy'yi uygulamayı deneyin?

Selamlar. Söyle bana, lütfen, neyi yanlış yapıyorum?

OrderCloseBy() hata 3'ü atar

3

ERR_INVALID_TRADE_PARAMETERS

Yanlış parametreler

kod örneği

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict


datetime time; int ticket_buy; int ticket_sell; 
bool open= false ; bool close= false ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
ticket_sell= OrderSend ( NULL , OP_SELL, 0.1 , Bid, 0 , 0 , 0 , "" , 0 , 0 , Red);  

time= TimeCurrent ();
//if (Digits() ==3 || Digits()==5) {trailingStep*=10; }
   return ( INIT_SUCCEEDED );
  }
void OnDeinit ( const int reason)
  {
//---
   
  }
void OnTick (){
if (!open && TimeCurrent ()>=time+ 2600 ){
   ticket_buy= OrderSend ( NULL , OP_BUY, 0.1 , Ask, 1 , 0 , 0 , "buy order" , 0 , 0 , Blue);
   open= true ;
}
if (!close && TimeCurrent ()>=time+ 3000 ){
   if (OrderCloseBy(ticket_buy, ticket_sell , Black)){ }
   close= true ;
}

} //+------------------------------------------------------------------+
 
Andrey Sokolov :

Selamlar. Söyle bana, lütfen, neyi yanlış yapıyorum?

OrderCloseBy() hata 3'ü atar

3

ERR_INVALID_TRADE_PARAMETERS

Yanlış parametreler

kod örneği

kod test cihazında çalışır, OrderSend() öğesini düzeltin, normalleştirilmiş fiyat ve lot yoktur

ve ikinci koşul - tüm brokerler OrderCloseBy() kullanımına izin vermiyor - bence hatanın ana nedeni bu

 
Igor Makanu :

kod test cihazında çalışır,

Bunlar senin için kapanıyor, değil mi? Brokeriniz nedir? alparim var
 
Igor Makanu :

OrderSend()'i temizleyin, normalleştirilmiş fiyat ve lot yoktur


Burada neyi normalleştireceğimi tam olarak anlamıyorum ve neden, matematiksel işlem olmadığında?
 
Andrey Sokolov :
Burada neyi normalleştireceğimi tam olarak anlamıyorum ve neden, matematiksel işlem olmadığında?

sunucuya normalleştirilmiş fiyatlar göndermeye kendinizi alıştırmanız gerektiğinden, şimdi bir sipariş gönderildi - yarın değil, sürekli hatalarınızı arayacaksınız

zor içinde ne var zorsa işte size bir kopyası:

ticket_sell= OrderSend ( _Symbol , OP_SELL, 0.1 , Bid, 10 ,
                     NormalizeDouble ( 0.0 , _Digits ), NormalizeDouble ( 0.0 , _Digits ), "" , 0 , 0 , clrRed );  

matematiksel işlemlerin bununla hiçbir ilgisi yok, yeni yapılarda terminalin garip bir davranışı vardı, geliştiriciler tüm sorulara yazdı - kodlarınızı doğru yazın - doğru)))

Kodunuzu Metaquot sunucusunda kontrol ettim - her şey çalışıyor

Not: 0 0.0 değil, bu yüzden tam olarak beklenen sonuç olmayabilir - ayrıca hata aramamak için iyi bir alışkanlık;)

 
Igor Makanu :

ve ikinci koşul - tüm brokerler OrderCloseBy() kullanımına izin vermiyor - bence hatanın ana nedeni bu

Genel olarak, doğru anlıyorum ki Alpari ve muhtemelen diğerleri desteklemiyorsa, kendinizi çalışmıyor olarak işaretlemek için hiç kullanmamak daha mı iyi?

 
Andrey Sokolov :

Genel olarak, doğru anlıyorum ki Alpari ve muhtemelen diğerleri desteklemiyorsa, kendinizi çalışmıyor olarak işaretlemek için hiç kullanmamak daha mı iyi?

çalışma fonksiyonu

ne yazık ki, her sunucunun ayarlarının kontrol edilmesi gerekiyor - çok az evrensel çözüm var (Alpler'de durma seviyesi hala = 0, izleme ile de şaşırabilirsiniz)

yanılmıyorsam, MarketInfo()'da sunucunun pozisyonu kapatmak için karşı emir verip vermediğini belirlemek için bir talepte bulundunuz.