Benim yaklaşımım. Çekirdek - Motor. - sayfa 75

 

Unicornis :.

...

10 onay kutulu bir pencere ve 12 satır|5 sütunlu bir plaka, ilk sütun ve ilk satır hücrelerin metin değeridir, kalan hücreler çifttir (örneğin, son 10 oluşturulan çubuğu satır satır OHLC ile doldurmak) ).


EA'daki kontrol kodu:

 void OnTick ()
  {
   E_Last_10_bars_Current_symbol( Symbol ());
   E_Last_10_bars_Current_timeframe( Period ());
   E_Last_10_bars_Last_price( Ask );
   //------------------------------------------------------------------
   E_Last_10_bars_1_Open_price( Open [ 1 ]);  E_Last_10_bars_1_Close_price( Close [ 1 ]);
   E_Last_10_bars_2_Open_price( Open [ 2 ]);  E_Last_10_bars_2_Close_price( Close [ 2 ]);
   E_Last_10_bars_3_Open_price( Open [ 3 ]);  E_Last_10_bars_3_Close_price( Close [ 3 ]);
   E_Last_10_bars_4_Open_price( Open [ 4 ]);  E_Last_10_bars_4_Close_price( Close [ 4 ]);
   E_Last_10_bars_5_Open_price( Open [ 5 ]);  E_Last_10_bars_5_Close_price( Close [ 5 ]);
   E_Last_10_bars_6_Open_price( Open [ 6 ]);  E_Last_10_bars_6_Close_price( Close [ 6 ]);
   E_Last_10_bars_7_Open_price( Open [ 7 ]);  E_Last_10_bars_7_Close_price( Close [ 7 ]);
   E_Last_10_bars_8_Open_price( Open [ 8 ]);  E_Last_10_bars_8_Close_price( Close [ 8 ]);
   E_Last_10_bars_9_Open_price( Open [ 9 ]);  E_Last_10_bars_9_Close_price( Close [ 9 ]);
   E_Last_10_bars_10_Open_price( Open [ 10 ]);E_Last_10_bars_10_Close_price( Close [ 10 ]);
   //------------------------------------------------------------------
   E_Last_10_bars_1_High_price( High [ 1 ]);  E_Last_10_bars_1_Low_price( Low [ 1 ]);
   E_Last_10_bars_2_High_price( High [ 2 ]);  E_Last_10_bars_2_Low_price( Low [ 2 ]);
   E_Last_10_bars_3_High_price( High [ 3 ]);  E_Last_10_bars_3_Low_price( Low [ 3 ]);
   E_Last_10_bars_4_High_price( High [ 4 ]);  E_Last_10_bars_4_Low_price( Low [ 4 ]);
   E_Last_10_bars_5_High_price( High [ 5 ]);  E_Last_10_bars_5_Low_price( Low [ 5 ]);
   E_Last_10_bars_6_High_price( High [ 6 ]);  E_Last_10_bars_6_Low_price( Low [ 6 ]);
   E_Last_10_bars_7_High_price( High [ 7 ]);  E_Last_10_bars_7_Low_price( Low [ 7 ]);
   E_Last_10_bars_8_High_price( High [ 8 ]);  E_Last_10_bars_8_Low_price( Low [ 8 ]);
   E_Last_10_bars_9_High_price( High [ 9 ]);  E_Last_10_bars_9_Low_price( Low [ 9 ]);
   E_Last_10_bars_10_High_price( High [ 10 ]);E_Last_10_bars_10_Low_price( Low [ 10 ]);
   //------------------------------------------------------------------   
   
  }

İşaretleme dilinde pencere kodu:

 //-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Last 10 bars" ,    W_TYPE, SETTINGS,   OOI,  W_ICON, 1 ,
//====================================================================================================================
GROUP,A,

__, BOARD, "Symbol:" ,  EDIT, "Current symbol" ,  BOARD, "Timeframe:" , EDIT, "Current timeframe" , W, 40 , BOARD, "Price:" , EDIT, "Last price" , 

__, H_LINE, "HL1" , W, 410 ,

END_GROUP,
//------------------------------------
i, AT, _X2X, "MF" , 10 , _Y2Y, "MF" , 10 ,
//-----------
i, X_GAP, 10 ,

i,BOARDS, H, 20 , END,
//-----------
"Current timeframe" ,READ_ONLY,  
"Last price" ,       READ_ONLY, 
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
//Объявляем таблицу:
//----------------------------------------------------------------------------------
GROUP,A, IS_TABLE,  


__,     T_HEADER, "Bar" ,     C_HEADER, "Open price" , C_HEADER, "Close price" ,  C_HEADER, "High price" , C_HEADER, "Low price" ,     

__,     R_HEADER, "1" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "2" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "3" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,     
__,     R_HEADER, "4" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "5" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "6" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,   
__,     R_HEADER, "7" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,     
__,     R_HEADER, "8" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,  
__,     R_HEADER, "9" ,  CELL, A,  CELL, A,   CELL, A,  CELL, A,         
__,     R_HEADER, "10" , CELL, A,  CELL, A,   CELL, A,  CELL, A,   
 
END_GROUP,
//------------------------------------
i, AT, _X2X, "MF" , 10 , _Y2H, "HL1" , 10 ,
//-----------
i, Y_GAP,- 1 ,
i, X_GAP,- 1 ,
//-----------
i,IS_ZEBRA_STYLE,
//----------------------------------------------------------------------------------
"Bar" , W, 30 ,
"Bar" , H, 30 ,
"Bar" ,N_COLOR,( int ) C'235,235,0' ,
//----------------------------------
i,C_HEADERS,H, 30 ,N_COLOR,( int ) C'235,0,235' , END,
i,R_HEADERS,H, 30 , N_COLOR,( int ) C'0,235,0' , END,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP,A,
 
__, V_LINE, "VL1" , H, 320 ,

END_GROUP,
//----------------------------------
i,AT,_X2W, "Low price" , 10 ,  _Y2H, "HL1" , 10 ,
//----------------------------------
//----------------------------------------------------------------------------------
GROUP,A, 

__, CHECKBOX, "Checkbox 1" ,  
__, CHECKBOX, "Checkbox 2" , 
__, CHECKBOX, "Checkbox 3" ,  
__, CHECKBOX, "Checkbox 4" , 
__, CHECKBOX, "Checkbox 5" ,  
__, CHECKBOX, "Checkbox 6" ,  
__, CHECKBOX, "Checkbox 7" , 
__, CHECKBOX, "Checkbox 8" ,  
__, CHECKBOX, "Checkbox 9" ,
__, CHECKBOX, "Checkbox 10" ,

END_GROUP,
//----------------------------------
i,AT,_X2W, "VL1" , 10 ,  _Y2H, "HL1" , 10 ,
//----------------------------------
i,Y_GAP, 20 ,
i,X_GAP, 20 ,
//----------------------------------

//====================================================================================================================
END_WINDOW,

İlk dosya bir danışmandır.

İkinci dosya - içerme klasörüne yükleyin (değişiklik veya açık gerekli değildir).

Üçüncü dosya, içerme klasörüne yüklemek ve doldurmaktır.

Dördüncü dosya motordur. Danışmanlarla birlikte çizelgeye atın.

Dosyalar:
 

Tablo çalışıyor. Şimdi zaten kullanabilirsiniz.

External Connection.mqh dosyasında , onay kutularının tıklanması/işaretinin kaldırılması durumunda ne yapacağınızı belirtmeniz gerekir.

Herşey.

 
Реter Konow :


EA'daki kontrol kodu:

İşaretleme dilinde pencere kodu:

İlk dosya bir danışmandır.

İkinci dosya - içerme klasörüne yükleyin (değişiklik veya açık gerekli değildir).

Üçüncü dosya, onu içerme klasörüne yüklemek ve doldurmaktır.

Dördüncü dosya motordur. Danışmanlarla birlikte çizelgeye atın.

Sayesinde! vidalamaya çalışacağım.

 
Unicornis :

Sayesinde! vidalamaya çalışacağım.

TAMAM. Onay kutularını yeniden adlandırmanız gerekirse, adlarını yazın. 5 dakika içinde hazır olacaktır.

 
Реter Konow :


EA'daki kontrol kodu:

İşaretleme dilinde pencere kodu:

İlk dosya bir danışmandır.

İkinci dosya - içerme klasörüne yükleyin (değişiklik veya açık gerekli değildir).

Üçüncü dosya, içerme klasörüne yüklemek ve doldurmaktır.

Dördüncü dosya motordur. Danışmanlarla birlikte çizelgeye atın.

İlk olarak, "include klasöründe" değil, Include\DRIVE\ klasöründe

İkinci olarak, dosyaların 'Connection_Properties.mqh' ve 'External_Connection.mqh'den 'External Connection.mqh' ve 'Connection Properties.mqh' olarak yeniden adlandırılması gerekir (alt çizgi yerine bir boşluk bırakın)

Üçüncü :

Üçüncü dosya, içerme klasörüne yüklemek ve doldurmaktır.

Ne doldurulmalı? Nerede doldurulur? Ne doldurulmalı?

Dördüncüsü, Expert Advisor'ı derleyip çalıştırdıktan sonra panel görünmüyor:


Beşinci . Tahmin ederseniz, bu kod parçasını Extrenal Connection.mqh dosyasının sonuna koyun:

 //----------------------------------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------------------------------------- 
NEW_WINDOW,  W_NAME, "Last 10 bars" ,    W_TYPE, SETTINGS,   OOI,  W_ICON, 1 ,
//====================================================================================================================
GROUP,A,

__, BOARD, "Symbol:" ,  EDIT, "Current symbol" ,  BOARD, "Timeframe:" , EDIT, "Current timeframe" , W, 40 , BOARD, "Price:" , EDIT, "Last price" , 

__, H_LINE, "HL1" , W, 410 ,

END_GROUP,
...

bir hata olacak

'NEW_WINDOW' - declaration without type External Connection.mqh 265     1

onlar. bu makro tanımlı değil.

Peter, gelecekteki kullanıcılarınızın zamanına ve duygularına acıyın. Ek manipülasyonlar olmadan çalışmayan kodu yayınlarsınız. Kodunuza saygı duymuyorsanız, en azından diğer katılımcıların zamanına saygı gösterin!

 
Vasiliy Sokolov :

İlk olarak, "include klasöründe" değil, Include\DRIVE\ klasöründe

İkinci olarak, dosyaların 'Connection_Properties.mqh' ve 'External_Connection.mqh'den 'External Connection.mqh' ve 'Connection Properties.mqh' olarak yeniden adlandırılması gerekir (alt çizgi yerine bir boşluk bırakın)

Üçüncü :

Ne doldurulmalı? Nerede doldurulur? Ne doldurulmalı?

Dördüncüsü, Expert Advisor'ı derleyip çalıştırdıktan sonra panel görünmüyor:


Beşinci . Tahmin ederseniz, bu kod parçasını Extrenal Connection.mqh dosyasının sonuna koyun:

bir hata olacak

onlar. bu makro tanımlı değil.

Peter, gelecekteki kullanıcılarınızın zamanına ve duygularına acıyın. Ek manipülasyonlar olmadan çalışmayan kodu yayınlarsınız. Kodunuza saygı duymuyorsanız, en azından diğer katılımcıların zamanına saygı gösterin!

Vasily, neden saçma sapan yazıyorsun?

Bu sadece trolleme mi?

Dosya adında bir boşluk var.

Doldur - onay kutusu olayında işlevlerinize yapılan aramaları kaydetmek anlamına gelir.

Danışmanı grafiğe ve ardından motora atmanız gerekir.

Dosyaları içerme klasörüne kaydedin.

Hiçbir yere bir şey koymanıza gerek yok. Bu bir şaka.

 
Millet, davaya yazın - selinizi silmek için işkence görüyor. Sigara içme odasını canlandırmak isteyenler - banyoya gönderebilirsiniz - orada ve sigara içebilirsiniz.
 
Vasiliy Sokolov :


Pencerenin biçimlendirme dilindeki kodu, onun nasıl oluşturulacağına dair sadece bir örnektir. Herhangi bir yere konulmasına gerek yoktur. O zaten motorda.

Dolgu:

Extrenal Connection.mqh dosyasını açın ve fonksiyonlarımızın çağrılarını kontrollerin olaylarına ayarlayın.

 
Реter Konow :

Dosyaları içerme klasörüne kaydedin.

Peter, sana güzel sözlerle küfretmeye başlamayacağım. İşte gönderdiğiniz kod:

 //+------------------------------------------------------------------+
//|                                                 TestApp v1.0.mq4 |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Peter Konow"
//+------------------------------------------------------------------+
#include<DRIVE\Connection Properties.mqh>
#include<DRIVE\External Connection.mqh> 
//---------------------------------------
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   //------------------------------------  
   EventSetMillisecondTimer ( 225 );
   //------------------------------------
   EventChartCustom ( 0 ,INIT_GUI, 0 , 0 , NULL );  
   //------------------------------------ 
   return ( INIT_SUCCEEDED );
  } 
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   EventChartCustom ( 0 ,DEST_GUI, 0 , 0 , "" ); 
//--- destroy timer
   EventKillTimer ();
     
  }

Neyin sarıyla vurgulandığına bakın. TAMAM?

Peter Konow'un fotoğrafı.

Dosya adında bir boşluk var.

Peter, gönderdiğin dosyaları indir ve adlarına bak. Sadece meraktan.

Her durumda, derlemeden sonra panel benim için görüntülenmiyor. Hiç. Pencere şöyle görünür:

ps Bu trolleme değil.

 
Vasiliy Sokolov :

Peter, sana güzel sözlerle küfretmeye başlamayacağım. İşte gönderdiğiniz kod:

Neyin sarıyla vurgulandığına bakın. TAMAM?

Peter, gönderdiğin dosyaları indir ve adlarına bak. Sadece meraktan.

Her durumda, derlemeden sonra panel benim için görüntülenmiyor. Hiç. Pencere şöyle görünür:

ps Bu trolleme değil.

Dosya adında bir boşluk var. Neden "_" işaretiyle indiriliyorlar, bilmiyorum.

1. 'External Connection.mqh' ve 'Connection Properties.mqh' dosyaları içerme klasöründe olmalıdır.

2. Uzmanlar klasöründeki Uzman Danışman dosyası. Açılması, derlenmesi ve kaydedilmesi gerekir.

3. Motoru göstergeler klasörüne kaydedin.

4. Motoru ve danışmanı tabloya atın. Herşey.

Özür dilerim:

 #include<DRIVE\Connection Properties.mqh>
#include<DRIVE\External Connection.mqh> 

Gerçekten. Danışmanda, DRIVE klasörü aracılığıyla bağlantıyı kaldırmayı unuttum

Bunun düzeltilmesi gerekiyor.