[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 642

 
gordeef :

Evet, zaten tersine çevirmeler ve düzeltmeler konusunda dikkatli olmaya çalışıyorum. Ve trendin tükenmesine gelince, bununla da ilgileniyorum, forumun genişliklerini dolaştım ve CodeBase'e baktım, ancak bu konuda hindilerle tanışmadım. Bu nedenle, hesaplamalarınızı okumak ilginç olacaktır. Ve başka bir soru, bana zararımı ve kârımı kontrol eden bir danışman attılar, resim işe yarayacak gibi görünüyor, ama soru şu ki, 15 puanlık kâr buna dahil ve fiyatın daha da ileri gidebileceğini görüyorum, yani Karımı neyle veya bir anlaşmayla arttırırsam, genel hesaplamaları ve danışmanın işini bozabilir mi?
Benim için, bu soruyu doğru cevaplamak için, danışmanın bağırsaklarına daha derine inmeniz gerekiyor ... Belki çok daha deneyimli yoldaşlardan biri cevap verecektir ... Onların cevabı, onların yüksekliğinden daha önemli olacağını düşünüyorum. deneyim - Ben sadece bir acemiyim ... :)
 
artmedia70 :

TAMAM. teşekkür ederim Victor Şimdiye kadar düzgün çalışıyor. Şimdiye kadar, çünkü uzun zamandır takip etmiyorum ama bana daha önce HİÇ Trend Up'ı getirmedi. Şimdi çıktılar:


Bir yaramaz büyücü için her zaman daha güçlü bir büyücü-büyücü olacağını biliyordum... :)

Tabii ki, bunların hepsi şaka ve şakalar, ama ... Victor, sadece doğru çözümü aptalca kopyalamak değil, aynı zamanda köpeğin nerede dolaştığını, sorunun amacının ne olduğunu ve böyle anlaşılmaz davranışları bulmak ve anlamak istiyorum. kodun?


Mantıkla ilgili sorunlar. Daha fazla yok. Bir blok diyagram çizmeye çalışın. Yardım eder
 

İşte bir başka soru olgun: İlk başta satırların çıktısını N'inci miktarda yaptım, ancak daha sonra bunlardan birinin gereksiz olacağını ve sayısal yüzde biçiminde parantez içine almanın daha uygun olacağını fark ettim, kaldırdım ve yerleştirdim. sadece onun yeri için olanın yanında:

İlk başta böyleydi:


Ve şimdi:


Geçmiş olayların yankısı beni rahatsız ediyor... Danışmanın ilk başlangıcında, yeni bir tik gelmeden önce, başlangıçta görüntülenen her zaman görüntülenir... Bu, uzun süredir kodda olmamasına rağmen . hayaletler nereden geliyor???

 
artmedia70 :

İşte bir başka soru olgun: İlk başta satırların çıktısını N'inci miktarda yaptım, ancak daha sonra bunlardan birinin gereksiz olacağını ve sayısal yüzde biçiminde parantez içine almanın daha uygun olacağını fark ettim, kaldırdım ve yerleştirdim. sadece onun yeri için olanın yanında:

İlk başta böyleydi:


Ve şimdi:


Geçmiş olayların yankısı beni rahatsız ediyor... Danışmanın ilk başlangıcında, yeni bir tik gelmeden önce, başlangıçta görüntülenen her zaman görüntülenir... Bu, uzun süredir kodda olmamasına rağmen . hayaletler nereden geliyor???





Koda bakmak lazım. Mantığı ayrıştırın.
 
Vinin :

Mantıkla ilgili sorunlar. Daha fazla yok. Bir blok diyagram çizmeye çalışın. Yardım eder

:):) Teşekkürler... Eh... Yerde açılmış böyle "ayakkabılarım" var zaten... mama mia!!! Üç satırda özel bir mantık yok gibi görünüyor. Kontrol ederken ortaya çıkıyor: eğer 1. ise, o zaman yapın, 1. yerine getirilmezse, doğal olarak 2. takip eder. 2'si yerine getirilmezse, üçüncüsü takip eder ...

Ama hayır... Şu şekilde gerekli: 1. ise öyle yaparız efendim... Aksi takdirde , 2. ise zaten yaparız efendim, aksi takdirde , hiç değilse 1. ve 2. değil. , o zaman üçüncüyü yaparız ve 1. değilse, 2. ve 3. değil, o zaman mantıkta hatalar arıyoruz ...

Oh... Kendim tamamen kafam karıştı... Tamam, Victor, eklemen doğru davranıyor ve neden başka bir ifadeye ihtiyacımız var , bu, aslında, bunun zaten kendi başına geldiği yerde gibi görünüyor" aksi halde ," Beynimi boşalttıktan sonra daha sonra çözeceğim...

Tavsiye için teşekkürler.

 
Vinin :

Koda bakmak lazım. Mantığı ayrıştırın.

Orada pratikte mantık yok - birbirini takip eden sırayla satırların en basit çıktısı ...

/--------------------------------------------------------------- 1 --
// Функция вывода на экран графических сообщений.
//--------------------------------------------------------------- 2 --
   int Informations()
  {
   int    Win_ind;                     // Номер окна индикатора
   int    x,y;
   
   trH4     =Trend_PSAR( NULL , 240 );   // Четырёхчасовой тренд
   trH1     =Trend_PSAR( NULL , 60 );   // Часовой тренд
   trM30    =Trend_PSAR( NULL , 30 );   // Получасовой тренд
   trM15    =Trend_PSAR( NULL , 15 );   // 15-ти минутный тренд

//--------------------------------------------------------------- 3 --
   Win_ind= WindowFind( "Info" );         // Ищем номер окна индикатора
   if (Win_ind< 0 ) return ;               // Если такого окна нет, уходим
//--------------------------------------------------------------- 4 --
   x = 10 ; y = 17 ;
   ObjectCreate ( "Equ" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "Equ" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "Equ" , OBJPROP_YDISTANCE ,y);
   ObjectSetText( "Equ" ,     "Свободные средства" , 9 , "Tahoma" , Gold );
   
   ObjectCreate ( "EquVal" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "EquVal" , OBJPROP_XDISTANCE ,x* 23 );
   ObjectSet( "EquVal" , OBJPROP_YDISTANCE ,y);
   ObjectSetText( "EquVal" ,DoubleToStr(Equ_NEW, 2 ), 9 , "Tahoma" , Yellow );
//--------------------------------------------------------------------   
   ObjectCreate ( "Prof" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "Prof" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "Prof" , OBJPROP_YDISTANCE ,y* 2 );
   ObjectSetText( "Prof" ,   "Уровень фиксации прибыли (      %)" , 9 , "Tahoma" , Gold );
   
   ObjectCreate ( "ProfVal" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ProfVal" , OBJPROP_XDISTANCE ,x* 23 );
   ObjectSet( "ProfVal" , OBJPROP_YDISTANCE ,y* 2 );
   ObjectSetText( "ProfVal" , DoubleToStr(Equ_OLD+EquPerc, 2 ), 9 , "Tahoma" , Yellow );
//--------------------------------------------------------------------    
   ObjectCreate ( "Perc" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "Perc" , OBJPROP_XDISTANCE ,x* 18 );
   ObjectSet( "Perc" , OBJPROP_YDISTANCE ,y* 2 );
   ObjectSetText( "Perc" , DoubleToStr(PercentEquityForClose, 1 ), 9 , "Tahoma" , Yellow );
   
//--------------------------------------------------------------------   
   ObjectCreate ( "Tral" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "Tral" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "Tral" , OBJPROP_YDISTANCE ,y* 3 );
   ObjectSetText( "Tral" ,   "Уровень включения трала" , 9 , "Tahoma" , Gold );
   
   ObjectCreate ( "TralVal" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "TralVal" , OBJPROP_XDISTANCE ,x* 23 );
   ObjectSet( "TralVal" , OBJPROP_YDISTANCE ,y* 3 );
   ObjectSetText( "TralVal" , DoubleToStr(Equ_OLD-EquPerc, 2 ), 9 , "Tahoma" , Yellow );
//--------------------------------------------------------------------   
   ObjectCreate ( "Wloss" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "Wloss" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "Wloss" , OBJPROP_YDISTANCE ,y* 4 );
   ObjectSetText( "Wloss" ,   "Порог выставления безубытка" , 9 , "Tahoma" , Gold );
   
   ObjectCreate ( "WlossVal" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "WlossVal" , OBJPROP_XDISTANCE ,x* 23 );
   ObjectSet( "WlossVal" , OBJPROP_YDISTANCE ,y* 4 );
   ObjectSetText( "WlossVal" , DoubleToStr(LevelProfit, 0 ), 9 , "Tahoma" , Yellow );
//--------------------------------------------------------------------   
   ObjectCreate ( "WlossPP" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "WlossPP" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "WlossPP" , OBJPROP_YDISTANCE ,y* 5 );
   ObjectSetText( "WlossPP" , "Размер безубытка в пунктах" , 9 , "Tahoma" , Gold );
   
   ObjectCreate ( "WlossPPVal" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "WlossPPVal" , OBJPROP_XDISTANCE ,x* 23 );
   ObjectSet( "WlossPPVal" , OBJPROP_YDISTANCE ,y* 5 );
   ObjectSetText( "WlossPPVal" ,DoubleToStr(LevelWLoss, 0 ), 9 , "Tahoma" , Yellow );
//--------------------------------------------------------------------   
   ObjectCreate ( "ATR" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ATR" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "ATR" , OBJPROP_YDISTANCE ,y* 6 );
   ObjectSetText( "ATR" ,     "Волатильность рынка" , 9 , "Tahoma" , Gold );
   
   ObjectCreate ( "ATRVal" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ATRVal" , OBJPROP_XDISTANCE ,x* 23 );
   ObjectSet( "ATRVal" , OBJPROP_YDISTANCE ,y* 6 );
   ObjectSetText( "ATRVal" , DoubleToStr(VolATR, 0 ), 9 , "Tahoma" , Yellow );
//--------------------------------------------------------------------   
   ObjectCreate ( "TP" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "TP" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "TP" , OBJPROP_YDISTANCE ,y* 7 );
   ObjectSetText( "TP" ,     "Размер Take Profit" , 9 , "Tahoma" , Gold );
   
   ObjectCreate ( "TPVal" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "TPVal" , OBJPROP_XDISTANCE ,x* 23 );
   ObjectSet( "TPVal" , OBJPROP_YDISTANCE ,y* 7 );
   ObjectSetText( "TPVal" , DoubleToStr(TPatr, 0 ), 9 , "Tahoma" , Yellow );
//--------------------------------------------------------------------   
   ObjectCreate ( "trH4" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "trH4" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "trH4" , OBJPROP_YDISTANCE ,y* 9 );
   
   ObjectCreate ( "ArrowH4" , OBJ_LABEL ,Win_ind, 0 , 0 , 0 , 0 );
   ObjectSet( "ArrowH4" , OBJPROP_XDISTANCE ,x* 8 );
   ObjectSet( "ArrowH4" , OBJPROP_YDISTANCE ,y* 9 );

   if (trH4== 1 )
      {
         ObjectSetText( "trH4" , "Тренд H4" , 9 , "Tahoma" , Lime );
         ObjectSetText( "ArrowH4" ,CharToStr( 241 ), 10 , "Wingdings" , Lime );
//         ObjectSetText("ArrowH4",DoubleToStr(trH4,0),9,"Tahoma",Lime);
      }
   else if (trH4==- 1 )
      {
         ObjectSetText( "trH4" , "Тренд H4" , 9 , "Tahoma" , OrangeRed );
         ObjectSetText( "ArrowH4" ,CharToStr( 242 ), 10 , "Wingdings" , OrangeRed );
//         ObjectSetText("ArrowH4",DoubleToStr(trH4,0),9,"Tahoma",OrangeRed);
      }
   else
      {
         ObjectSetText( "trH4" , "Тренд H4" , 9 , "Tahoma" , LightGray );
         ObjectSetText( "ArrowH4" ,CharToStr( 240 ), 10 , "Wingdings" , LightGray );
//         ObjectSetText("ArrowH4",DoubleToStr(trH4,0),9,"Tahoma",LightGray);
      }
//--------------------------------------------------------------------   
   ObjectCreate ( "trH1" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "trH1" , OBJPROP_XDISTANCE ,x* 10 );
   ObjectSet( "trH1" , OBJPROP_YDISTANCE ,y* 9 );
   
   ObjectCreate ( "ArrowH1" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ArrowH1" , OBJPROP_XDISTANCE ,x* 17 );
   ObjectSet( "ArrowH1" , OBJPROP_YDISTANCE ,y* 9 );
   
   if (trH1== 1 )
      {
         ObjectSetText( "trH1" , "Тренд H1" , 9 , "Tahoma" , Lime );
         ObjectSetText( "ArrowH1" ,CharToStr( 241 ), 10 , "Wingdings" , Lime );
//         ObjectSetText("ArrowH1",DoubleToStr(trH1,0),9,"Tahoma",Lime);
      }
   else if (trH1==- 1 )
      {
         ObjectSetText( "trH1" , "Тренд H1" , 9 , "Tahoma" , OrangeRed );
         ObjectSetText( "ArrowH1" ,CharToStr( 242 ), 10 , "Wingdings" , OrangeRed );
//         ObjectSetText("ArrowH1",DoubleToStr(trH1,0),9,"Tahoma",OrangeRed);
      }
   else
      {
         ObjectSetText( "trH1" , "Тренд H1" , 9 , "Tahoma" , LightGray );
         ObjectSetText( "ArrowH1" ,CharToStr( 240 ), 10 , "Wingdings" , LightGray );
//         ObjectSetText("ArrowH1",DoubleToStr(trH1,0),9,"Tahoma",LightGray);
      }
//--------------------------------------------------------------------   
   ObjectCreate ( "trM30" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "trM30" , OBJPROP_XDISTANCE ,x);
   ObjectSet( "trM30" , OBJPROP_YDISTANCE ,y* 10 );
   
   ObjectCreate ( "ArrowM30" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ArrowM30" , OBJPROP_XDISTANCE ,x* 8 );
   ObjectSet( "ArrowM30" , OBJPROP_YDISTANCE ,y* 10 );
   
   if (trM30== 1 )
      {
         ObjectSetText( "trM30" , "Тренд M30" , 9 , "Tahoma" , Lime );
         ObjectSetText( "ArrowM30" ,CharToStr( 241 ), 10 , "Wingdings" , Lime );
//         ObjectSetText("ArrowM30",DoubleToStr(trM30,0),9,"Tahoma",Lime);
      }
   else if (trM30==- 1 )
      {
         ObjectSetText( "trM30" , "Тренд M30" , 9 , "Tahoma" , OrangeRed );
         ObjectSetText( "ArrowM30" ,CharToStr( 242 ), 10 , "Wingdings" , OrangeRed );
//         ObjectSetText("ArrowM30",DoubleToStr(trM30,0),9,"Tahoma",OrangeRed);
      }
   else
      {
         ObjectSetText( "trM30" , "Тренд M30" , 9 , "Tahoma" , LightGray );
         ObjectSetText( "ArrowM30" ,CharToStr( 240 ), 10 , "Wingdings" , LightGray );
//         ObjectSetText("ArrowM30",DoubleToStr(trM30,0),9,"Tahoma",LightGray);
      }
//--------------------------------------------------------------------   
   ObjectCreate ( "trM15" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "trM15" , OBJPROP_XDISTANCE ,x* 10 );
   ObjectSet( "trM15" , OBJPROP_YDISTANCE ,y* 10 );
   
   ObjectCreate ( "ArrowM15" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ArrowM15" , OBJPROP_XDISTANCE ,x* 17 );
   ObjectSet( "ArrowM15" , OBJPROP_YDISTANCE ,y* 10 );
   
   if (trM15== 1 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , Lime );
         ObjectSetText( "ArrowM15" ,CharToStr( 241 ), 10 , "Wingdings" , Lime );
//         ObjectSetText("ArrowM15",DoubleToStr(trM15,0),9,"Tahoma",Lime);
      }
   else if (trM15==- 1 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , OrangeRed );
         ObjectSetText( "ArrowM15" ,CharToStr( 242 ), 10 , "Wingdings" , OrangeRed );
//         ObjectSetText("ArrowM15",DoubleToStr(trM15,0),9,"Tahoma",OrangeRed);
      }
   else if (trM15== 0 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , OrangeRed );
         ObjectSetText( "ArrowM15" ,CharToStr( 240 ), 10 , "Wingdings" , LightGray );
//         ObjectSetText("ArrowM15",DoubleToStr(trM15,0),9,"Tahoma",OrangeRed);
      }
/*
   else
      {
         ObjectSetText("trM15","Хрен вам",9,"Tahoma",LightGray);
//         ObjectSetText("ArrowM15",CharToStr(240),10,"Wingdings",LightGray);
         ObjectSetText("ArrowM15",DoubleToStr(trM15,0),9,"Tahoma",LightGray);
      }
*/
//--------------------------------------------------------------------   
   

//--------------------------------------------------------------------   
   WindowRedraw();                       // Перерисовываем все объекты
   return ;
  }
//--------------------------------------------------------------- 9 --
 

İnsanlar, hazır, çalışan (buggy değil) bir danışman şablonunu paylaşın, böylece yalnızca ticaret stratejisini değiştirebilirsiniz, gerekirse açık bir pozisyonu karşı pozisyona kapatma (çevirme, ancak Al / Sat) durumda, else aracılığıyla değil, koşulları ayrı ayrı yazma yeteneği ile:

satın alma koşulu varsa
{
Opn_B=doğru; // Kriterler açık. satın almak
CLs_S=doğru; // Kriterler kapanıyor. Satmak
}
satma şartı varsa
{
Opn_S=doğru; // Kriterler açık. Satmak
Cls_B=doğru; // Kriterler kapanıyor. satın almak
} ) veya bir pozisyonu TP/SL ile kapatma .

Başım dönüyor, bir aydır savaşıyorum, ticaret stratejilerini Omega'dan MT'ye, bazı arabelleklere / shmufer'lara, yapmacık dizilere kaydıramıyorum ve EA'nın hala muhasebe, açma / kapama ve muhasebe için blokları var hatalar için.

Cevap veren herkese şimdiden teşekkürler.

 
Craft :

İnsanlar, yalnızca ticaret stratejisini değiştirebilmeniz için hazır, çalışan bir danışman şablonu paylaşın, gerekirse açık bir pozisyonu karşı pozisyona (darbe) veya TP / SL ile kapatabilirsiniz.

Baş, emirleri, blokları açma / kapamayı ve hataları hesaba katarak tamamen dönüyor.

Cevap vereceğim, çünkü kendim uzun süredir bununla "buharlaşıyorum" - sadece stratejileri test etmek ve hızlı bir şekilde değiştirmek için, siparişlerin muhasebesini denize bırakabilir ve ayrıca hataların muhasebesini rafa koyabilirsiniz. Sadece öğreticide olanı kopyalayın ve bırakın. Sergei Kovalev'in eğitimini takip ediyorsanız, yalnızca Trade() ve Criterion() ile çalışın. Criterion() - stratejileriniz için giriş noktaları bulmak için, Trade() - pozisyonları açmak/kapatmak için. Onlarla çalışmak ve stratejileri test etmek için değiştirmek yeterlidir. Ve sonra, programlamada elinizi doldurduktan sonra, işlevlerinize zaten ulaşacaksınız, çünkü tüm bunların ne için olduğunu ve nasıl çalıştığını anlamak ...
 
artmedia70 :
Cevap vereceğim, çünkü kendim uzun süredir bununla "buharlaşıyorum" - sadece stratejileri test etmek ve hızlı bir şekilde değiştirmek için, siparişlerin muhasebesini denize bırakabilir ve ayrıca hataların muhasebesini rafa koyabilirsiniz. Sadece öğreticide olanı kopyalayın ve bırakın. Sergei Kovalev'in eğitimini takip ediyorsanız, yalnızca Trade() ve Criterion() ile çalışın. Criterion() - stratejileriniz için giriş noktaları bulmak için, Trade() - pozisyonları açmak/kapatmak için. Onlarla çalışmak ve stratejileri test etmek için değiştirmek yeterlidir. Ve sonra, elinizi programlamaya doldurduktan sonra, işlevlerinize zaten ulaşacaksınız, çünkü tüm bunların ne için olduğunu ve nasıl çalıştığını anlamak ...

Teşekkür ederim, her şeyi test ettim, MT üzerinden işlem yapmayı denemek istiyorum, böylece siparişler ve açık / kapalı pozisyonlar , gerekirse bakiyeyi düzelterek gerçekten dikkate alınır.
 
Vinin :

Koda bakmak lazım. Mantığı ayrıştırın.

En boş göstergenin kodunun peşinde... hiçbir şeyin olmadığı yerde...

 
#property indicator_separate_window
#property indicator_minimum 1
#property indicator_maximum 10
 
bool initFinished= false ;
// добавляем переменную, которая будет запоминать состояние инициализации.
// false - инициализации еще не было
// true - была
 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{

   return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
   ObjectsDeleteAll();
   // удаляем все объекты
   
   return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   if (initFinished== false )
   {
      IndicatorShortName( "Info" );
 
       int winID=WindowFind( "Info" );
   
       if (winID< 0 )
      {
         // если номер подокна равен -1, то возникла ошибка
         Print( "Чёт не могу твоего окошечка найти, пошел я отсюдова" );
         return ( 0 );
      }  
//------------------------ Тут можно рисовать ------------------------- 
 
// ----------------------- Но не нужно... ----------------

//------------------------------------------------------------------------- 
      WindowRedraw();      
            
      initFinished= true ;
     
   }
   
   return ( 0 );
}