Hatalar, hatalar, sorular - sayfa 2856

 

Merhaba. Bir yanlış anlama var:
Trade\Trade.mqh kullanarak verilen bir sipariş nasıl değiştirilir?
Trade'den OrderModify komutu . mqh   son parametre de dahil olmak üzere 7 parametrenin ayarlanmasını gerektirir: Son parametreye hiç ihtiyacım olmadığı için beni sersemleten StopLimit sırası .. Evet ve standart sürümde belirtmeniz gerekmez ..

OrderModify( const ulong ticket, const double price, const double sl, const double tp, const ENUM_ORDER_TYPE_TIME type_time, const datetime expiration, const double stoplimit= 0.0 );

Bir Sell Stop'um var, düşük seviyeyi takip ederek onu yukarı taşımak istiyorum..Ve bunu OrderModify kullanarak yapamıyorum ve Trade\Trade.mqh kullanarak mevcut bir SellStop emrini nasıl değiştireceğimi anlamıyorum

Bir gecikme ve yeni bir maruz kalma ile geliyor.

Sell Stop seviyesi nasıl doğru bir şekilde taşınır?

 
Сергей Таболин :

Igor, soru kodun kendisindeki bir hatayla ilgili değil, neden optimizasyon sırasında bir hata yazdığı, ancak tek bir çalıştırma sırasında neden yazmadığı hakkındaydı?

Telepatide kötüyüm, yeni öğreniyorum

ama deneyeceğim .... kodunuzun uygun seviyede yazıldığını varsayarsak, optimizasyon sırasında giriş değişkeninin değerine ulaşmanız mümkündür, bu da kritik bir hataya neden olur

.... ayrıca görevlerin optimize ediciye toplu olarak verildiğini bilmediğinizi ve belki de görevlerden birinde bir hata olduğunu varsayabilirsiniz.

.... ayrıca, global kapsamda bir değişkeni başlatırsanız (bu, başlatma sırasında bir işlev çağrısı veya bir sınıf oluşturucu olabilir) ve optimize edicide, başlatmanın sabitler ve statikler için bir kez gerçekleştirildiğini (görünüşe rağmen) varsayabilirsiniz. yalnızca statik için - zaten unuttum) aracı başına, tüm optimizasyon süresi boyunca ve tek bir geçişle, her geçiş...

... xs

 
Yura Fomin :

Merhaba. Bir yanlış anlama var:
Trade\Trade.mqh kullanarak verilen bir sipariş nasıl değiştirilir?
Trade'den OrderModify komutu . mqh   son parametre de dahil olmak üzere 7 parametrenin ayarlanmasını gerektirir: Son parametreye hiç ihtiyacım olmadığı için beni sersemleten StopLimit sırası .. Evet ve standart sürümde belirtmeniz gerekmez ..

Bir Sell Stop'um var, düşük seviyeyi takip ederek onu yukarı taşımak istiyorum..Ve bunu OrderModify kullanarak yapamıyorum ve Trade\Trade.mqh kullanarak mevcut bir SellStop emrini nasıl değiştireceğimi anlamıyorum

Bir gecikme ve yeni bir maruz kalma ile geliyor.

Sell Stop seviyesi nasıl doğru bir şekilde taşınır?

Bir örnek Bekleyen Takiptedir

Pending Trailing
Pending Trailing
  • www.mql5.com
Советник относится к классу утилит. Работает со всеми отложенными ордерами установленными в терминале. Подтягивает отложенный ордер вслед за ценой. Например отложенные ордера 'Buy stop' и 'Sell limit'...
 
TheXpert :
herhangi bir yerde, muhtemelen hiçbir dilde, küme parantezlerinden sonra noktalı virgül koymaya gerek yoktur
Teşekkür ederim. Her ikisi de doğru olduğunda sözdizimi belirsizliği iyi değildir.
 
Igor Makanu :

Telepatide kötüyüm, yeni öğreniyorum

ama deneyeceğim .... kodunuzun uygun seviyede yazıldığını varsayarsak, optimizasyon sırasında giriş değişkeninin değerine ulaşmanız mümkündür, bu da kritik bir hataya neden olur

.... ayrıca görevlerin optimize ediciye toplu olarak verildiğini bilmediğinizi ve belki de görevlerden birinde bir hata olduğunu varsayabilirsiniz.

.... ayrıca, global kapsamda bir değişkeni başlatırsanız (bu, başlatma sırasında bir işlev çağrısı veya bir sınıf oluşturucu olabilir) ve optimize edicide, başlatmanın sabitler ve statikler için bir kez gerçekleştirildiğini (görünüşe rağmen) varsayabilirsiniz. yalnızca statik için - zaten unuttum) aracı başına, tüm optimizasyon süresi boyunca ve tek bir geçişle, her geçiş...

... xs

)))))

Peki telepati nedir?

Bir dizi var, başlatılıyor ve sorunsuz kullanılıyor. Her şey çalışıyor. Ama çıkınca öyle bir karmaşa oluyor ki...

 void OnDeinit ( const int reason)
{
   //Print(ArraySize(netMLP));
   //Print(ArraySize(indicators)+1);
   for ( int i = ArraySize (indicators); i >= 0 ; i--) delete netMLP[i];

Her şey kontrol edildi. Ancak optimizasyon modundaki davranış ile tek bir çalıştırma arasındaki fark açıktır. Soru - neden? Bir yerde, bir şekilde, bir şeyler yanlışsa, o zaman bu "öyle değil" hem orada hem de orada olmalıdır. Öyle değil mi?

 
Сергей Таболин :

))))))

Peki telepatinin amacı nedir?

Bir dizi var, başlatılıyor ve sorunsuz kullanılıyor. Her şey çalışıyor. Ama çıkınca öyle bir karmaşa oluyor ki...

Her şey kontrol edildi. Ancak optimizasyon modundaki davranış ile tek bir çalıştırma arasındaki fark açıktır. Soru - neden? Bir yerde, bir şekilde, bir şeyler yanlışsa, o zaman bu "öyle değil" hem orada hem de orada olmalıdır. Öyle değil mi?

Kibar olmak için şunu yazın:

 for ( int i = ArraySize ( netMLP ); i >= 0 ; i--) delete netMLP[i];

Ve böylece boyutların aynı olduğunun garantisi yoktur. Ne tür diziler - kimse bilmiyor.

 
Stanislav Korotky :

Kibar olmak için şunu yazın:

Ve böylece boyutların aynı olduğunun garantisi yoktur. Ne tür diziler - kimse bilmiyor.

Bunu biliyorum)))

Değiştirildi. Belirttiğim hata kayboldu))) Ama bir tane daha dökülüyor:

 2020.09 . 24 22 : 48 : 38.470 Core 3   pass 11877 tested with error "OnInit returned non-zero code 1" in 0 : 00 : 00.000

Yine, önceki sürümde durum böyle değildi.

Return(INIT_FAILED); ile birden fazla kontrolüm var;

Ama hepsinin önünde baskılar var... Ve sonra hiç baskı yok. ((((

 
Сергей Таболин :

sadece dosyaya yazın:

- bayrak optimizasyonu açık/kapalı

- temsilci numarası

- ve OnDeinit() içinde kullanılan tüm değişkenler

bu olmadan bir hata bulamazsınız - optimize edici sorunsuz çalışır, sürekli kullanıyorum

 
Сергей Таболин :

Bunu biliyorum)))

Değiştirildi. Belirttiğim hata kayboldu))) Ama bir tane daha dökülüyor:

Yine, önceki sürümde durum böyle değildi.

Optimizasyon tablosundaki ilgili geçişe çift tıklayın ve kaynaktaki satırı ve sütunu gösteren tüm ayrıntılarla - tam olarak başlatmanın neden başarısız olduğunu - tek bir çalıştırmanın günlüğünü alın.

 
Igor Makanu :

sadece dosyaya yazın:

- bayrak optimizasyonu açık/kapalı

- temsilci numarası

- ve OnDeinit() içinde kullanılan tüm değişkenler

bu olmadan bir hata bulamazsınız - optimize edici sorunsuz çalışır, sürekli kullanıyorum

Tamam, her şeyin kaydını tekrar bir dosyaya bağlayacağım. belki bir nedeni vardır ... daha önce orada olmayan ...

Neden: