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

 

EA'mı test ederken Sleep() işlevi çalışmıyor

Sipariş kapatıldıktan sonra uzmanın uzun süre donması gerekiyor, ancak bunun yerine sahte keşifler yapmaya devam ediyor, ne tavsiye edersiniz?


bool cl() {if (OrderSelect(0,SELECT_BY_POS)==true){ int t=OrderType();
çift l=SiparişLotları();
int tik=OrderTicket();Alert("tik=", tik);
}
if (t==OP_BUY) OrderClose(tik,l,Bid,3,Red);
if (t==OP_SEL) OrderClose(tik,l,Ask,3,Green);
Uyku(300000000);
}

 

Uyku , test cihazında çalışmıyor.

 

Danışmanın göstergenin rengindeki bir değişikliğe tepki vermesinin mümkün olup olmadığını bilmek istiyorum, diyelim ki yeşil-al kırmızı-sat

ve ekranda çeşitli simgelerin görünümü...belki MT4'te bazı işlevler vardır?

 
unumi >> :

Danışmanın göstergenin rengindeki bir değişikliğe tepki vermesinin mümkün olup olmadığını bilmek istiyorum, diyelim ki yeşil-al kırmızı-sat

ve ekranda çeşitli simgelerin görünümü...belki MT4'te bazı işlevler vardır?

Göstergenin rengi değişirse, ya a) satırı farklı arabelleklerde görüntülenir; bu, durumu anlamak için onları sorgulamanın yeterli olduğu anlamına gelir (MT4'te, arabelleğin rengi MT5'ten farklı olarak dinamik olarak değiştirilemez), veya b) gösterge çizgisi grup nesneleri tarafından görüntülenir - o zaman sadece ObjectGet(....) özelliklerini okumanız gerekir.

Aynısı simgeler için de geçerlidir - bunlar arabellek aracılığıyla kod olarak ve nesneler olarak çıkarılabilir.

 
Svinozavr >> :

Göstergenin rengi değişirse, ya a) satırı farklı arabelleklerde görüntülenir; bu, durumu anlamak için onları sorgulamanın yeterli olduğu anlamına gelir (MT4'te, arabelleğin rengi MT5'ten farklı olarak dinamik olarak değiştirilemez), veya b) gösterge çizgisi grup nesneleri tarafından görüntülenir - o zaman sadece ObjectGet(....) özelliklerini okumanız gerekir.

Aynısı simgeler için de geçerlidir - bunlar arabellek aracılığıyla kod olarak ve nesneler olarak çıkarılabilir.

Teşekkürler, anladım

 

İyi geceler.

Lütfen, birbiriyle bağlantılı iki sorum var.

1. Her bir işarette dizi öğeleri nasıl sıfırlanır (gerekirse örneğe göre).

2. Dizi öğelerinin değerleri nasıl doğru bir şekilde eklenir.

Örneğin:

Her onayda dizi elemanları doldurulur, 1 veya 2 veya 3 veya 4... veya 15 eleman doldurulabilir,

ama her seferinde dizi öğelerinin değerlerinin aritmetik toplamına ihtiyacım var.

 
gvi2504 писал(а) >>

İyi geceler.

Lütfen, birbiriyle bağlantılı iki sorum var.

1. Her bir işarette dizi öğeleri nasıl sıfırlanır (gerekirse örneğe göre).

2. Dizi öğelerinin değerleri nasıl doğru bir şekilde eklenir.

Örneğin:

Her onayda dizi elemanları doldurulur, 1 veya 2 veya 3 veya 4... veya 15 eleman doldurulabilir,

ama her seferinde dizi öğelerinin değerlerinin aritmetik toplamına ihtiyacım var.

1. İşlev ArrayInitialize(ArrayName,0).

2. Diziyi doldurma sürecinde hemen özetleyin. Bir değişken bildirin, örneğin sum, ona 0 değerini atayın, ardından diziyi doldururken değeri bu değişkene ekleyin.

 
Integer >> :

1. İşlev ArrayInitialize(ArrayName,0).

2. Diziyi doldurma sürecinde hemen özetleyin. Bir değişken bildirin, örneğin sum, ona 0 değerini atayın, ardından diziyi doldururken değeri bu değişkene ekleyin.

İyi.

Tam olarak ne gerekli. Çok teşekkürler

 
Bion писал(а) >>

Uyku(300000000);

Bu kadar uzun bir uyku saati, Sleep() test cihazında çalışsa bile bir seçenek değildir. Açıldıktan sonra açılış saatini hatırlayabilirsiniz:

LastTime=TimeCurrent();

start() işlevinin başında bir kontrol yapın:

if(TimeCurrent()<LastTime+Pause)return(0);

Duraklatma - açıldıktan sonra "uykuya dalma" süresi (saniye olarak).

 
Integer писал(а) >>

Bu kadar uzun bir uyku saati, Sleep() test cihazında çalışsa bile bir seçenek değildir. Açıldıktan sonra açılış saatini hatırlayabilirsiniz:

LastTime=TimeCurrent();

start() işlevinin başında bir kontrol yapın:

if(TimeCurrent()<LastTime+Pause)return(0);

Duraklatma - açıldıktan sonra "uykuya dalma" süresi (saniye olarak).

tavsiye ettiğin gibi yaptın

tarihsaat LastTime;
tarihsaatDuraklatma=3600;

int başlangıç()
{
if(TimeCurrent()<LastTime+Pause)return(0);

...

bool cl() {if (OrderSelect(0,SELECT_BY_POS)==true){ int t=OrderType();
çift l=SiparişLotları();
int tik=OrderTicket();Alert("tik=", tik);
}
if (t==OP_BUY) OrderClose(tik,l,Bid,3,Red);
if (t==OP_SEL) OrderClose(tik,l,Ask,3,Green);
LastTime=TimeCurrent();
}

Yine de test cihazına tepki vermiyor, duruma göre sırayla hepsini sırayla açıyor ama aynı zamanda zamana tepki vermiyor.

Ve test cihazında bekleyen sipariş ömrü parametresi yanıt vermiyor, yani ayrılma zamanı geldiğinde silinmiyor.

Bu böyle mi olmalı?

Testin, sipariş kapatıldıktan sonra geçen sürenin parametresini hesaba katması nasıl sağlanır?

Neden: