KimIV'ten faydalı özellikler - sayfa 6

 
Lukyanov :
Sadece birisi için faydalı olabilir. :-)
Yayınlarsan sorun olmaz... :-)
 
Merhaba
Söyleyin bana, Expert Advisors'ı test etmek için kendi sunucusunu sağlayacak herhangi bir "ofis" var mı? Yani, danışmanımı onlara bir demo hesabında "çevrimiçi" modda test edildiği sunucuya yükledim.
 
KimIV :

Dikkat! 12.03.2008 07:24 tarihli bir gönderide SetOrder.mq4 eklentisini değiştirdim.

Kodunuzu denedim, pek bir şey benim için işe yaramadı (belki ellerim eğri :( ...).Derleme yaparken çok fazla hata gösteriyor.
'Mesaj' - işlev tanımlı değil - nedir?
'break' - 'break' veya 'devam' sadece bazı döngülerde kullanılır - döngülerde yanlış olan ne?
'GetNameTF' - işlev tanımlı değil - nasıl tanımlanır?
...vb. :(
bu yüzden çözemedim. Zor değilse - yardım edin.

 
sasa999 писал (а):
'Mesaj' - işlev tanımlı değil - nedir?
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Вывод сообщения в коммент и в журнал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - текст сообщения                                                     |
//+----------------------------------------------------------------------------+
void Message ( string m ) {
  Comment ( m ) ;
  if ( StringLen ( m ) > 0 ) Print ( m ) ;
}  
sasa999 yazdı:
'break' - 'break' veya 'devam' sadece bazı döngülerde kullanılır - döngülerde yanlış olan ne?

Şimdilik molayı görmezden gelin. İlk olarak, işlev açıklamalarını anlayın.

sasa999 yazdı:
'GetNameTF' - işlev tanımlı değil - nasıl tanımlanır?
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование таймфрейма                             |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    TimeFrame - таймфрейм (количество секунд)      (0 - текущий ТФ)         |
//+----------------------------------------------------------------------------+
string GetNameTF ( int TimeFrame = 0 ) {
  if ( TimeFrame == 0 ) TimeFrame = Period () ;
  switch ( TimeFrame ) {
    case PERIOD_M1 :  return ( " M1 " ) ;
    case PERIOD_M5 :  return ( " M5 " ) ;
    case PERIOD_M15 : return ( " M15 " ) ;
    case PERIOD_M30 : return ( " M30 " ) ;
    case PERIOD_H1 :  return ( " H1 " ) ;
    case PERIOD_H4 :  return ( " H4 " ) ;
    case PERIOD_D1 :  return ( " Daily " ) ;
    case PERIOD_W1 :  return ( " Weekly " ) ;
    case PERIOD_MN1 : return ( " Monthly " ) ;
    default :         return ( " UnknownPeriod " ) ;
  }
}

Bu iş parçacığında ExistOrders işlevini arayın. Onu zaten yayınladım. ErrorDescription , derleyici yönergesine dahil edilmiştir:

 #include < stdlib . mqh >

Yani, hala GetNameOP işlevi var:

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Возвращает наименование торговой операции                      |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    op - идентификатор торговой операции                                    |
//+----------------------------------------------------------------------------+
string GetNameOP ( int op ) {
  switch ( op ) {
    case OP_BUY      : return ( " Buy " ) ;
    case OP_SELL     : return ( " Sell " ) ;
    case OP_BUYLIMIT : return ( " Buy Limit " ) ;
    case OP_SELLLIMIT : return ( " Sell Limit " ) ;
    case OP_BUYSTOP  : return ( " Buy Stop " ) ;
    case OP_SELLSTOP : return ( " Sell Stop " ) ;
    default          : return ( " Unknown Operation " ) ;
  }
}
 
KimIV :
sasa999 yazdı:
'Mesaj' - işlev tanımlı değil - nedir?
sasa999 yazdı:
'break' - 'break' veya 'devam' sadece bazı döngülerde kullanılır - döngülerde yanlış olan ne?

Şimdilik molayı görmezden gelin. İlk olarak, işlev açıklamalarını anlayın.

sasa999 yazdı:
'GetNameTF' - işlev tanımlı değil - nasıl tanımlanır?

Bu iş parçacığında ExistOrders işlevini arayın. Onu zaten yayınladım. ErrorDescription , derleyici yönergesine dahil edilmiştir:

 #include < stdlib . mqh >

Yani, hala GetNameOP işlevi var:


Kütüphaneleri (her ikisini de) düzenlemek ve açıklayıcı çalışmalar yapmak gerekli görünüyor. Kütüphanelerden vazgeçmeyeceğim.
 
Teşekkürler - çok yardımcı oldu, ama yine başka problemler ... :(
Şimdi tüm bu işlevleri gösteriyor - "ххххххх" işlevine atıfta bulunulmuyor ve exp dosyasından kaldırılacak
belki yanlış yere koymuşumdur... :(
..MQL4'te birinci sınıf öğrencisi için zor :)
 
Vinin :
Kütüphaneleri (her ikisini de) düzenlemek ve açıklayıcı çalışmalar yapmak gerekli görünüyor. Kütüphanelerden vazgeçmeyeceğim.

Büyük olasılıkla yayınlayacağım ... ama tüm işlevleri gözden geçirmeden önce değil ... aksi halde neden buradayım? Onu kod tabanına koyardım, insanlar atlar ve unuturdu. Ben de böyleyim :-) Elinde dokunulmamış bir sürü başkasının kodu var. Ama sorgulamak, soru sormak için bir fırsat olduğunda, bu tamamen farklı bir konudur.

not. Dosyalarım test_ derleme ön ekine sahip ve düzgün çalışıyor.

 
sasa999 :
Teşekkürler - çok yardımcı oldu, ama yine başka problemler ... :(
Şimdi tüm bu işlevleri gösteriyor - "ххххххх" işlevine atıfta bulunulmuyor ve exp dosyasından kaldırılacak
belki yanlış yere koymuşumdur... :(
..MQL4'te birinci sınıf öğrencisi için zor :)
test_SetOrder.mq4 dosyasında her şeyin nasıl bir araya getirildiğini görün
 



eğer doğru anladıysam, o zaman OrderSend'i OrderModify ile değiştirmek

bir siparişi değiştirirken kullanılabilir mi?
ve ayrıca kapatırken ... ??

ama tekrarlanmaması için tek bir işlevde nasıl birleştirilir?

daha fazla...

if (mn<0 || OrderMagicNumber()==dk)

neden mn<0 ? Magic negatif olamaz mı?

 
sasa999 писал (а):
eğer doğru anladıysam, o zaman OrderSend'i OrderModify ile değiştirmek

bir siparişi değiştirirken kullanılabilir mi?
ve ayrıca kapatırken ... ??

ama tekrarlanmaması için tek bir işlevde nasıl birleştirilir?

Daha sonra değiştirilecek bir işlev olacak

sasa999 yazdı:
daha fazla...
if (mn<0 || OrderMagicNumber()==dk)
neden mn<0 ? Magic negatif olamaz mı?
belki... ama Uzman Danışmanlarımda sadece bu YYYYMMDD formatının pozitif büyüsünü kullanıyorum, örneğin, 20080323. Bu, Expert Advisor'ın geliştirilme tarihidir.
Neden: