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

 
snail09 :
Algoritmayı kelimelerle atın, aksi takdirde biraz anlaşılmaz ...

Aşağı yukarı şöyle:

//toplam işlem günü sayısını belirle.

Sipariş Seçimi (0,SELECT_BY_POS, MODE_HISTORY );

Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1);

sonra belirtilen süre için kar/gün =%/gün hesaplarız

Tüm bu süre için hafta sonlarını saymam ve hesaplamadan çıkarmam gerekiyor:

kar/(gün-hafta sonu)

 

forexnew :

Aşağı yukarı şöyle:

//toplam işlem günü sayısını belirle.

OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);

Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1);

sonra belirtilen süre için kar/gün =%/gün hesaplarız

Tüm bu süre için hafta sonlarını saymam ve hesaplamadan çıkarmam gerekiyor:

kar/(gün-hafta sonu)



Dönem için gerekli geçmişi kontrol edin ve "kârınızı/günlerinizi" sayın. Sadece takvimi kullanmayın (formülünüzdeki sabitler) ve bu kadar. Tarihe sadece işlem günleri düşer (genel tatiller de vardır). Gibi gündüz barlarına bağlanın...

Özellikle takvime göre istiyorsanız (Gregoryen veya örneğin Julian, o zaman tüm mantığı üstlenin). Akıllı olacak ne var, yeni bir bar var, yeni bir şarkı var mı?

 
forexnew :

Aşağı yukarı şöyle:

//toplam işlem günü sayısını belirle.

OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);

Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24) + 1);

sonra belirtilen süre için kar/gün =%/gün hesaplarız

Tüm bu süre için hafta sonlarını saymam ve hesaplamadan çıkarmam gerekiyor:

kar/(gün-hafta sonu)



Test başlangıç tarihinden itibaren günlük çubukların sayısını saymak mümkündür.

20'den fazla saatlik çubukların bulunduğu günlük çubukların sayısını sayabilirsiniz (kısmi hafta sonlarını hariç tutmak için). Yeni bir çubuğun görünümü vb. gibi (işlemlerin tüm geçmişini okumak ve benzersiz tarihleri saymak gibi) çalışma sürecindeki yeni bir günü izleyebilirsiniz.

 
splxgf :

Test başlangıç tarihinden itibaren günlük çubukların sayısını saymak mümkündür.

20'den fazla saatlik çubukların bulunduğu günlük çubukların sayısını sayabilirsiniz (kısmi hafta sonlarını hariç tutmak için). Yeni bir çubuğun görünümü vb. gibi (işlemlerin tüm geçmişini okumak ve benzersiz tarihleri saymak gibi) çalışma sürecindeki yeni bir günü izleyebilirsiniz.

Her halükarda " (3600*24) + 1)" yeterli bir yapı değildir , bar sayısından başlamak gerekir.
 
snail09 :

Dönem için gerekli geçmişi kontrol edin ve "kârınızı/günlerinizi" sayın. Sadece takvimi kullanmayın (formülünüzdeki sabitler) ve bu kadar. Tarihe sadece işlem günleri düşer (genel tatiller de vardır). Gibi gündüz barlarına bağlanın...

Özellikle takvime göre istiyorsanız (Gregoryen veya örneğin Julian, o zaman tüm mantığı üstlenin). Akıllanacak ne var, yeni bir bar var, yeni bir şarkı var mı?

Öyle mi yaptı:

Sipariş Seçimi (0,SELECT_BY_POS, MODE_HISTORY );
Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24));
for(i=0; i<Gün; i++)
{
if(TimeDayOfWeek(CurTime()-i*24*3600)==6 || TimeDayOfWeek(CurTime()-i*24*3600==7) Days3++;
}
Günler-=Günler3;

 
forexnew :

Öyle mi yaptı:

OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
Days=MathRound((TimeCurrent()-OrderOpenTime())/(3600*24));
for(i=0; i<Gün; i++)
{
if(TimeDayOfWeek(CurTime()-i*24*3600)==6 || TimeDayOfWeek(CurTime()-i*24*3600==7) Days3++;
}
Günler-=Günler3;

evet hayır, bu sipariş seçimi ile geçmişteki siparişleri seçersiniz (TEK kez), ardından her seferinde yalnızca bir tane (sonuncusu) gidersiniz. Seni rahatsız etmiyor mu?

Döngüdeki siparişleri tamamlayın ve her birine kendi koşullarınızı uygulayın.

// Tüm siparişler arasında dolaş

for(int i=0;i<=SiparişlerToplam();i++)

{

if(Sipariş Seçimi(i,SELECT_BY_POS, MODE_HISTORY ))

{

// Enstrüman ve sihir eşleşirse, sıra bizimdir

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)

{

// burayı kontrol et

}

}

}

 
snail09 :

evet hayır, bu sipariş seçimi ile geçmişteki siparişleri seçersiniz (TEK kez), ardından her seferinde yalnızca bir tane (sonuncusu) gidersiniz. Seni rahatsız etmiyor mu?

Döngüdeki siparişleri tamamlayın ve her birine kendi koşullarınızı uygulayın.

// Tüm siparişler arasında dolaş

for(int i=0;i<=SiparişlerToplam();i++)

{

if(Sipariş Seçimi(i,SELECT_BY_POS, MODE_HISTORY ))

{

// Enstrüman ve sihir eşleşirse, sıra bizimdir

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)

{

// burayı kontrol et

}

}

}

Neden izinlere ihtiyacım var? Haftanın sadece bir kerelik ticaret olmayan günlerini tanımlarım, yani. Cumartesi ve Pazar günleri toplam gün sayısından çıkarın.
 

Tabii ki yanılmışım:

TimeDayOfWeek(CurTime()-i*24*3600)==7

7 yerine 0 olmalı

Zaten bir haftadan eski olan hesapları kontrol ettim. Doğru gösteriyor gibi.

 

iMA nasıl hesaplanır?



avatar
90
Eugene1 20.10.2011 16:34

iMA işlevinin nasıl hesaplandığını (veya sınıflandırıldığını) bir yerde bulabilirsiniz.

Özellikle MODE_LWMA ile ilgileniyorum.

Bakmak ve zevkime göre düzeltmek istiyorum, ancak kaynak kodunu google'da bir şey işe yaramadı

 
forexnew :

Tabii ki yanılmışım:

TimeDayOfWeek(CurTime()-i*24*3600)==7

7 yerine 0 olmalı

Zaten bir haftadan eski olan hesapları kontrol ettim. Doğru gösteriyor gibi.

Peki, gerekli değil, gerekli değil. Uzman Danışmanınız emirlerini kontrol edemiyorsa, ne yapıyor? ...Test cihazında işlem yapmak mı?