KimIV'ten faydalı özellikler - sayfa 112

 

Yürütme hataları ve bunların işlenmesi için öneriler. 2, 64, 65 ve 133 numaralı hatalar için genel tavsiye - Tüm ticaret girişimlerini durdurmalısınız. Bu öneriyi yerine getirmek için başlıkta (yani tüm işlevlerin başlangıcından önce) tanımladığım gbDisabled global danışman değişkenini aşağıdaki gibi kullanıyorum:

 //------- Глобальные переменные советника -------------------------------------+
bool    gbDisabled   = False;           // Флаг блокировки советника

start() işlevinde bu değişkenin durumunu kontrol ediyorum:

 //+----------------------------------------------------------------------------+
//|  expert start function                                                     |
//+----------------------------------------------------------------------------+
void start() {
   if (gbDisabled) {
    Message( "Критическая ошибка! Советник ОСТАНОВЛЕН!" ); return ;
  }
}
 
KimIV :

Yürütme hatalarının açıklamaları ve bunların ele alınması için öneriler. 2, 64, 65 ve 133 numaralı hatalar için genel tavsiye - Tüm ticaret girişimlerini durdurmalısınız. Bu öneriyi yerine getirmek için başlıkta (yani tüm işlevlerin başlangıcından önce) tanımladığım gbDisabled global danışman değişkenini aşağıdaki gibi kullanıyorum:

Bu değişkenin durumunu start() işlevinde kontrol ediyorum:

Teşekkürler.... )))
 
İyi günler, Igor! İşlevde: void TrailingPositions(string sy="", int op=-1, int mn=-1) kontrolü ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell) işlevine aktarılırken f-I ModifyOrder'ın kendisinin 4 parametresi var, bunun sebebi nedir?
 
Lisi4ka330 :
İyi günler, Igor! İşlevde: void TrailingPositions(string sy="", int op=-1, int mn=-1) kontrolü ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell) işlevine aktarılırken f-I ModifyOrder'ın kendisinin 4 parametresi var, bunun sebebi nedir?

Bunun nedeni muhtemelen TrailingPositions işlevini bir yerden çıkarmış olmanızdır. Belki eski danışmanlarımdan birinden. Yayınladığım bu işlevler hemen böyle olmadı. Evrim geçirmişler .

TrailingPositions işlevine bir başvuru sağlayın. Yayınlanan listemde yok. SimpleTrailing() yayınladım .

 
burada: http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=20. Ve bağlantı için teşekkürler, uzun zamandır nerede gördüğümü hatırladım ama hiç bulamadım))))
 
Anlıyorum... Muhtemelen, ticaret sembolünün adını ModifyOrder() işlevine ileten parametrenin gereksiz olduğuna kendiniz dikkat etmişsinizdir. Bu seçenek vardı, sonra kaldırdım ...
 
Evet, anladım)))) Ve ilk Uzman Danışmanımı bile yazdım ve hatta ortaya çıktığı gibi küçük bir karla)))))))))))) Çok teşekkür ederim, Igor, sadece fonksiyonların sayesinde benim için mümkün oldu ))))))))))))))))
 
İyi günler!!!)))) Lütfen Fibonacci() işlevini açıklayın, hangi durumlarda kullanılır? Hangi elementi döndürdüğü belli değil... Seviyenin fiyatı değil...
 

İyi günler, sipariş verirken harici değişkenlerde alma ve durdurma seviyelerini ayarlamanıza izin verecek bir fonksiyonunuz var mı?

Örneğin:

extern double sl = 0; // SL для открываемого ордера

extern double tp = 0; // ТР для открываемого ордера

SetOrder("", OP_BUY, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELL, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYSTOP, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLSTOP, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYLIMIT, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLLIMIT, ll, Bid, SL(), TP(), 0, 0);

{условие}


 


Hey!

Nedense kütüphaneniz bağlandığında, extern operatörü çalışmayı durdurur, yani değişkenler tanımlanır, her şey normal şekilde derlenir ve prensipte danışman çalışır, ancak aynı zamanda, danışmanın tek bir parametresi yoktur. oldukça fazla parametre olmasına rağmen, türe başlamak. Nedeni ne olabilir?