[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 182

 
hoz :

Basit bir gösterge yazdım. İşte kod:

Sadece bir tamponu vardır. Çift tip gösterge değerleri.

Expert Advisor'da göstergenin değerini alıp ticarette filtre olarak uygulamaya karar verdim.

Burada, son oluşturulan çubukta verilen gösterge arabelleğinin işlevinde basit bir çağrı yazdım:

Test cihazında eğim değeri yanlış döndürülür:

Nedenmiş? Tip doğru belirtilmiş.Çağrı da doğru görünüyor. Gösterge iyi çalışıyor. İşte test cihazındaki ve mevcut olanın gerçek pazarındaki günlüğün günlüğü:

Neden 2147483647 numarası her zaman gerekli olanın yerine döndürülüyor?

Size 2147483647 olan bir Boş değer ( EMPTY_VALUE ) döndürülür. Belki Ctrl + D değerinde ve göstergenin verilerini görüyor musunuz?
 
hoz :

Basit bir gösterge yazdım. İşte kod:

Sadece bir tamponu vardır. Çift tip gösterge değerleri.

Expert Advisor'da göstergenin değerini alıp ticarette filtre olarak uygulamaya karar verdim.

Burada, son oluşturulan çubukta verilen gösterge arabelleğinin işlevinde basit bir çağrı yazdım:

Test cihazında eğim değeri yanlış döndürülür:

Nedenmiş? Tip doğru belirtilmiş.Çağrı da doğru görünüyor. Gösterge iyi çalışıyor. İşte test cihazındaki ve mevcut olanın gerçek pazarındaki günlüğün günlüğü:

Neden 2147483647 sayısı gerekli olanın yerine her zaman döndürülüyor?


Gösterge yeniden tasarlandı

 2013.02 . 26 21 : 22 : 39      2011.12 . 30 23 : 59   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0003
2013.02 . 26 21 : 22 : 39      2011.12 . 30 23 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0003
2013.02 . 26 21 : 22 : 39      2011.12 . 30 22 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0006
2013.02 . 26 21 : 22 : 39      2011.12 . 30 21 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0009
2013.02 . 26 21 : 22 : 39      2011.12 . 30 20 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0011
2013.02 . 26 21 : 22 : 39      2011.12 . 30 19 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 18 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 17 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0014
2013.02 . 26 21 : 22 : 39      2011.12 . 30 16 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 15 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 14 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 13 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 12 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 11 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 10 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 30 09 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 08 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 07 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 06 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 05 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0011
2013.02 . 26 21 : 22 : 39      2011.12 . 30 04 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 03 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 02 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 01 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 30 00 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 23 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 22 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0014
2013.02 . 26 21 : 22 : 39      2011.12 . 29 21 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0015
2013.02 . 26 21 : 22 : 39      2011.12 . 29 20 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0017
2013.02 . 26 21 : 22 : 39      2011.12 . 29 19 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0018
2013.02 . 26 21 : 22 : 39      2011.12 . 29 18 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0018
2013.02 . 26 21 : 22 : 39      2011.12 . 29 17 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0017
2013.02 . 26 21 : 22 : 39      2011.12 . 29 16 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0016
2013.02 . 26 21 : 22 : 39      2011.12 . 29 15 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0015
2013.02 . 26 21 : 22 : 39      2011.12 . 29 14 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0015
2013.02 . 26 21 : 22 : 39      2011.12 . 29 13 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0014
2013.02 . 26 21 : 22 : 39      2011.12 . 29 12 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0014
2013.02 . 26 21 : 22 : 39      2011.12 . 29 11 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0014
2013.02 . 26 21 : 22 : 39      2011.12 . 29 10 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 09 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 08 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 07 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 06 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 05 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 04 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 03 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 02 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 01 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 29 00 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0013
2013.02 . 26 21 : 22 : 39      2011.12 . 28 23 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0012
2013.02 . 26 21 : 22 : 39      2011.12 . 28 22 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.001
2013.02 . 26 21 : 22 : 39      2011.12 . 28 21 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0007
2013.02 . 26 21 : 22 : 39      2011.12 . 28 20 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0004
2013.02 . 26 21 : 22 : 39      2011.12 . 28 19 : 00   D_Aleks_first_pattern EURUSD,H1: slope = - 0.0002
2013.02 . 26 21 : 22 : 39      2011.12 . 28 18 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0
2013.02 . 26 21 : 22 : 39      2011.12 . 28 17 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0
2013.02 . 26 21 : 22 : 39      2011.12 . 28 16 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02 . 26 21 : 22 : 39      2011.12 . 28 15 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02 . 26 21 : 22 : 39      2011.12 . 28 14 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02 . 26 21 : 22 : 39      2011.12 . 28 13 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02 . 26 21 : 22 : 39      2011.12 . 28 12 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02 . 26 21 : 22 : 39      2011.12 . 28 11 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0.0002
2013.02 . 26 21 : 22 : 39      2011.12 . 28 10 : 00   D_Aleks_first_pattern EURUSD,H1: slope = 0.0002
Dosyalar:
 
Vinin :


Göstergede sorun var gibi.


Haklısın... Ama bu sadece yeniden hesaplanması gereken çubuk sayısı ... Bu durumda doğru değeri elde etmenin bir yolu olmaması garip.

Bu satırı yorumlarsanız, her şey net bir şekilde çalışır ve 0. çubuktan hesaplamayı düzeltir:

 int start()
  {
    int i, countedBars = IndicatorCounted();
    int limit = Bars - countedBars - 1 ;
    //if (limit > 400) limit = 400;
        
    for (i = limit;i > 0 ;i--)
    {

Ancak önceki sürümde, çıktı alınırken yeterli bir değer görüntüleniyordu. Ve baykuş yeterli değildi. Niye ya?

 
hoz :


Haklısın... Ama bu sadece yeniden hesaplanması gereken çubuk sayısı... Bu durumda doğru değeri elde etmenin bir yolu olmaması garip.

Bu satırı yorumlarsanız, her şey net bir şekilde çalışır ve 0. çubuktan hesaplamayı düzeltir:

Ancak önceki sürümde, çıktı alınırken yeterli bir değer görüntüleniyordu. Ve baykuş yeterli değildi. Niye ya?


Kontrol etmek için görselleştirme modunu kullanıyorsunuz gibi görünüyor
 
Vinin :

Kontrol etmek için görselleştirme modunu kullanıyorsunuz gibi görünüyor

Evet ne olmuş?
 

Hatayı bulmama yardım et, herhangi bir işlem yapmıyor ve hata vermiyor. Belki bazı kütüphaneleri özlüyorum?

 //+------------------------------------------------------------------+
//+------------------------------------------------------------------+
#import "kernel32.dll"
   int _lopen  ( string path, int of);
   int _lcreat ( string path, int attrib);
   int _llseek ( int handle, int offset, int origin);
   int _lread  ( int handle, string buffer, int bytes);
   int _lwrite ( int handle, string buffer, int bytes);
   int _lclose ( int handle);
#import


int start()
 {
 string text = "222222" ; //текст который собираемся записать или перезаписать в файл
 string pach = "D:\FILE.txt" ; //путь куда записываем файл или перезаписываем
 WriteFile( "D:\FILE.txt" , text); //выполнение 
 }
//+------------------------------------------------------------------+
//|  записать содержимое буфера по указанному пути                   |
//+------------------------------------------------------------------+
void WriteFile ( string path, string buffer) 
 {
   int count= StringLen (buffer); //Возвращает число символов в строке. 
   int result;
   int handle=_lopen (path, 1 );
   if (handle< 0 ) //если файл еще не создан то создаем
  {
  handle=_lcreat (path, 0 );
  result=_lclose (handle);
  }
  handle=_lopen (path, 1 );     //открываем          
  result=_llseek (handle, 0 , 0 );     //ставим указатель      
  result=_lwrite (handle,buffer,count); //записываем
  result=_lclose (handle);       //закрываем файл       
 }
//+------------------------------------------------------------------+  

Sistemim: MT4, Derleme 451.

Windows 7 Ev Temel.

 
merkulov.artem :

Hatayı bulmama yardım et, herhangi bir işlem yapmıyor ve hata vermiyor. Belki bazı kütüphaneleri özlüyorum?

Sistemim: MT4, Derleme 451.

Windows 7 Ev Temel.

Her işlemden sonra baskı tutamacı ve sonuç, neyin işe yaramadığını bileceksiniz
 
Neden standart FileXXXX işlevlerini sevmiyorsunuz?
 
tüm açık işlemler arasında en küçük lotu nasıl seçeceğimi söyle?
 
pasha5282 :
tüm açık işlemler arasında en küçük lotu nasıl seçeceğimi söyle?


int i, ot = OrdersTotal();
double min=0;
int min_ticket=0;
for(i=0;i <ot; i ++)
{
   if (!OrderSelect( i ,SELECT_BY_POS)) continue ;
   if (OrderType()!=OP_BUY && OrderType ()!=OP_SELL) continue ;
   if ( i ==0||min> OrderLots()) {min = OrderLots(); min_ticket=OrderTicket();}
}
Neden: