Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 57

 
FAQ :

ve kader dizileri kullanmayacak mı?

sipariş listesini iki boyutlu bir diziye okuyun, ilk boyut sihir, ikincisi kâr.

do ArraySort() - siparişler sırayla sihirlerle sıralanır, toplamaya ve görüntülemeye başlarız.

Bu harika!

Peki boyutların kesiştiği noktada elimizde ne var?

 

tekrar açıklıyorum. emirleri direkt listeden okurken büyüler dağılacaktır yani en azından büyüleri bilmeniz ya da ikinci listedeki sihri aramak ve ona kar eklemek için döngü içinde bir döngü yapmanız gerekir.

ArraySort() 'dan sonra, sihirler sırayla sıralanır.Sadece diziyi gözden geçiririz ve ikinci boyutu (kârı) toplarız, ilk boyuttaki sihir değişir değişmez, bir metin değişkeni çıkarırız:

 int premagic = arr[ 0 ][ 0 ];
string text = "" ;
for (i= 0 ;i= ArrayRange (arr, 0 );i++){
   if (arr[i][ 0 ]==premagic){
       profit += arr[i][ 1 ];
   } else {
       text = text + "MagickNum :" +premagic+ "  Profit :" +profit+ "\n" ;
       profit   = arr[i][ 1 ];
       premagic = arr[i][ 0 ];
   }
}
Comment (text);
 
borilunad :
W1'in haftalık geçmişini tam olarak kontrol edin!

Teşekkür ederim, geçmişi sadece kurulum sırasında indiriyorum ve özellikle kesinlikle delik olmadığı dönem için kontrol ediyorum - çizelgede mumlar var.
 
Bir acemi yardım edin! Bir sorunu çözemiyorum.
EA 100 siparişe kadar açar ve sıraya koyar. vb. Belirli bir sinyal seviyesinin aşılmasından sonra, emirler aşağıdakiler tarafından değiştirilir. vb. Her siparişin kendi sinyal seviyesi vardır, cl. vb. Sl. vb. sonraki değişiklik için, siparişin açılması sırasında hesaplanır.
Bir algoritma düşünemiyorum. Lütfen itin!!!
 
Danışman, belirli bir mumda ikiden fazla siparişin açılamayacağını nasıl hatırlatır?
 
MauzerVII :
Danışman, belirli bir mumda ikiden fazla siparişin açılamayacağını nasıl hatırlatır?


Piyasadan geliyorsa, sipariş açılış saatini hatırlayın ve açık siparişlerin sayısını bir olarak ayarlayın.

Bir sonraki siparişi açarken, süreyi kontrol edin , çıtayı aşmadıysa, açık siparişlerin sayısını artırın.

Mantığın geri kalanını oluşturmak oldukça kolaydır.

 

Bir soru daha :

Bir döngüde yaklaşık 30 adet sipariş paketini kapatıyoruz

tüm siparişlerin kapalı olup olmadığını kontrol etmek veya komisyoncuyu yeniden fiyatlamayı bırakana kadar yağlayacak ve çekiçleyecek bir döngü nasıl yapılır?

Aklıma gelen ilk şeyi çizdim, bunu yapmak mümkün mü ???

 void close ( int m)
{
for ( int f= OrdersTotal ()- 1 ; f>= 0 ; f--)
if ( OrderSelect (f,SELECT_BY_POS)    )
if ( OrderSymbol()== Symbol ()         )
if ( OrderMagicNumber()==m           )
if (OrderType()== 0 )
if (OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Red)== true ) continue ;
else f++;
if (OrderType()== 1 )
if (OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red)== true ) continue ;
else f++;
}
 
nachalo = H;
finich = D;

if (DayOfWeek() == 1 && Hour()==H && Minute()<= 00 )
      {
      Opn_B = true ;
      }
if (DayOfWeek() == 2 && Hour()==D && Minute()<= 01 )
      {                                           
      Cls_B= true ;                 
      }

Danışmanı haftanın günlerine ve saatlerine göre test ederken aşağıdaki kodu yazdım:

"H", "D" değişkenleri şuraya getirildi:

 extern int   H = 18 ;  
extern int   D = 19 ;
uzmanın özelliklerinde değişkenleri 0'dan 23'e, adım 1'e başlayacak şekilde ayarladım.
Tüm sonuçlar önemsiz olarak reddedilir. Diğer Uzman Danışmanlarla, belirtilen test aralığı taşınır, ancak bununla bir şeyler yolunda gitmez.
Bana neyin yanlış olduğunu söyle?
 
nachalo = H;
finich = D;

if (DayOfWeek() == 1 && Hour()==H && Minute()<=0)
      {
      Opn_B = true;
      }
if(DayOfWeek() == 2 && Hour()==D && Minute()<=1)
      {                                           
      Cls_B=true;                 
      }
 
VOLDEMAR :


Teşekkürler, üç gün elle sayarak geçirdim.

Optimizasyonda karlı işlemlerin yüzdesinin görünmemesi can sıkıcı mı, yoksa bir şekilde görüntülemek mümkün mü?