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

 

İyi günler sevgililer. Yeni başlayana hangi yöne kazacağını söyleyin. Sorun çözülmedi. İşin özü şu:

H4'te çubuk dalgayı aşağıdan yukarıya doğru kırar, burada gerçekten kapanır ve bu bir satın alma koşuludur. Alıyoruz. Şimdi birkaç puan almanız gerekiyor, kabaca on, yakın (bu noktaya kadar her şey benim için basit ve açıktı) ve bir sonraki bara kadar sigarayı bırakmanız gerekiyor (bu tam olarak işe yaramıyor). Emir kapanır kapanmaz yenisi açılır (koşul yerine getirilmeye devam eder), bir sonraki bara kadar ticaret nasıl yasaklanır?

Görünüşe göre her şey basit, çözümün yakınlarda bir yerde olduğunu hissediyorum, ancak yeterli bilgi (veya beyin) yok). Hemen itiraf etmeliyim ki 549 sayfayı yönetemedim ve eğer biri daha önce sorduysa ... Çok fazla küfür etmeyin)))

bana yardım et lütfen

 

SSS

 
teşekkürler
 
ex_kalibur :

Merhaba, lütfen yardım edin, bariz bir şey göremiyorum ((((

double LotsAllPos(int op) {

int i;

çift = 0;

for (i=0; i<SiparişToplam(); i++) {

(OrderType()!=op) devam ederse;

(OrderSymbol()!=sy) devam ederse;

if (OrderMagicNumber()==Magic || OrderMagicNumber()==Magic+1) ll+=OrderLots();

}

dönüş(ll);

burada toplam hacmi sembolüme ve türe göre döndürmem gerekiyor

 for (i= 0 ; i< OrdersTotal (); i++) {
 if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)){
   if ( OrderType ()!=op) continue ;

....
   }
 
Sepulca :


teşekkürler yardımcı oldu
 

Lütfen bana sorunumun ne olabileceğini söyle. newlots değişkeni 0.2'dir.

Danışman başlatıldığında, Print 1 önce bir mesaj görüntüler - 1 0.2, ardından bir sipariş açma koşulu tetiklenir, sipariş açılır, ancak ondan önce gelen Print 2 işlevi bir mesaj göstermiyor, anlayamıyorum neden atlanır, çünkü koşul çalışır ve sipariş işlevine giden yol açıksa, Yazdır işlevinin de yakalanması gerekir. Buna ek olarak, günlük, her sipariş açıldığında görüntülenen standart mesaj olan siparişin gönderildiğine dair bir mesaj görüntülemez.

Ama bu en kötüsü değil, asıl sorun newlots değişkeninin 0,2'ye eşit olması ve siparişin 0,1 hacimle açılması, bu nasıl mümkün olabilir, çünkü newlots değişkeni fonksiyonda yerine açıkça yazılmıştır. Ses.

   Print ( "1 " ,newlots);
  
   if (условие)
    {
     if (buytime != Time[ 0 ] && buys == 0 && sells == 0 )
      {
       Print ( "2 " ,newlots);
         if ( OrderSend ( Symbol (),OP_BUY,newlots,Ask,Slippage, 0 , 0 , 0 ,MagicNumber, 0 ,BuyColor) > 0 )
          {
          buytime = Time[ 0 ];
          }
      }
    }

// пробовал даже вот так, в этом случае выводятся только первые два сообщение, причем значение выводится что newlots все таки равен 0.2, но третье сообщение
не выводится, и ордер открывается с лотом 0.1.


Print("1 ",newlots); - равен 0.2


Print("2 ",newlots); - равен 0.2

Print("3 ",newlots); - не выводится сообщение, и далее ордер открывается с лотом 0.1



Print("1 ",newlots);
  if(((Ask > (MA1+3*Point*a)) && (Open[0] < (MA1+3*Point*a)) && (Ask < (MA1+5*Point*a))) || ((Low[0] < (MA1+3*Point*a)) && (Bid > (MA1+3*Point*a)) && (Bid < (MA1+5*Point*a))))
    {
    Print("2 ",newlots);
    if(buytime != Time[0] && buys == 0 && sells == 0)
      {
      Print("3 ",newlots);
        if(OrderSend(Symbol(),OP_BUY,newlots,Ask,Slippage,0,0,0,MagicNumber,0,BuyColor) > 0)
          {
          buytime = Time[0];
          }
      }
    }

 
sss2019 :

Lütfen bana sorunumun ne olabileceğini söyle. newlots değişkeni 0.2'dir.

Danışman başlatıldığında, Print 1 önce bir mesaj görüntüler - 1 0.2, ardından bir sipariş açma koşulu tetiklenir, sipariş açılır, ancak ondan önce gelen Print 2 işlevi bir mesaj göstermiyor, anlayamıyorum neden atlanır, çünkü koşul çalışır ve sipariş işlevine giden yol açıksa, Yazdır işlevinin de yakalanması gerekir. Buna ek olarak, günlük, her sipariş açıldığında görüntülenen standart mesaj olan siparişin gönderildiğine dair bir mesaj görüntülemez.

Ama bu en kötüsü değil, asıl sorun newlots değişkeninin 0,2'ye eşit olması ve siparişin 0,1 hacimle açılması, bu nasıl mümkün olabilir, çünkü newlots değişkeni fonksiyonda yerine açıkça yazılmıştır. Ses.


Kodda başka nerede sipariş açılıyor? OrderSend başka nerede?

Gösterdiğiniz bölümde, koşul karşılanmıyor ve bu nedenle Print 2'niz ve dolayısıyla bu durumdaki OrderSend'iniz de açılmıyor - 0.2'nin çok olduğu bir sipariş açılmıyor.

Başka bir Sipariş Gönderme işlemi devam ediyor.

 
zxc :


Kodda başka nerede sipariş açılıyor? OrderSend başka nerede?

Gösterdiğiniz bölümde, koşul karşılanmıyor ve bu nedenle Print 2'niz ve dolayısıyla bu durumdaki OrderSend'iniz de açılmıyor - çok 0.2 olan bir sipariş açılmıyor.

Başka bir Sipariş Gönderme işlemi devam ediyor.


işte burada

 if ( OrderSend ( Symbol (),OP_BUY,newlots,Ask,Slippage, 0 , 0 , 0 ,MagicNumber, 0 ,BuyColor) > 0 )

Expert Advisor'da sadece bir tane OrderSend var, koşul yerine getirildi ve sipariş açıldı, ne kadar olduğu belli değil.

 

Söyle bana, set danışmanıyla gelince hangi klasöre atayım? Teşekkür ederim.

 

Güzel gün!

Yardım, bir dosyadan okuma, bir satır var (genel olarak, daha fazlası olacak, ama önemli değil), dosyanın sonunu görmüyormuş gibi döngüler ...

 int qq= 0 ;
 while ( FileIsEnding (h3)==false)
 {
   int uu= 0 ;
   while ( FileIsLineEnding (h3)==false)
  { 
    Histxmas[qq][uu]= StrToDouble ( FileReadString (h3));
     Print ( "Histxmas[" ,qq, "][" ,uu, "]=" ,Histxmas[qq][uu]);
    uu+;
  }
   FileSeek (h3, 0 , SEEK_END );   
  qq++;
   Print ( "Бро зациклился, покажи мне кюкю" ,qq);
 }
Neden: