[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 463

 

Merhaba!

Uzmana bir sipariş açma gerçeğinin (siparişi kapattıktan sonra) olduğunu hatırlamayı nasıl öğretebileceğinizi söyleyin. Global boole'ler iyidir, ancak yalnızca bir araç için. Bir terminalde birkaç araç varsa, değişkenler değişecek ve artık gerektiği gibi çalışmayacaktır.

 
demlin :

Merhaba!

Uzmana bir sipariş açma gerçeğinin (siparişi kapattıktan sonra) olduğunu hatırlamayı nasıl öğretebileceğinizi söyleyin. Global boole'ler iyidir, ancak yalnızca bir araç için. Bir terminalde birkaç araç varsa, değişkenler değişecek ve artık gerektiği gibi çalışmayacaktır.


Bu, her aracın kendi global değişkenine sahip olduğu anlamına gelir.))
 
tol64 :

Bu, her aracın kendi global değişkenine sahip olduğu anlamına gelir.))
Mantıklı, o zaman programın isim üretmesini nasıl sağlayabilirim? 60 değişkeni koda manuel olarak eklemek bir şey için av değildir)))
 

Herkese selam!

zorluk yaşıyorum... uzman günün her saatinde grafikte asılı duruyor, bu öğleden sonra EUR/USD'de bir short açmak için bir koşul vardı, (önceki mumun açılışı MA'nın üzerindeydi ve kapanışı MA'nın altında), ancak sipariş açılmadı, bu bölümü şimdi test cihazında çalıştırdım - sipariş hoş bir küçük gibi açıldı,

koddaki hata nerede - anlamıyorum, sipariş açılmadıysa özellikle bir koşul ekledim - 10 kez açmaya çalışıyorlar, ancak bu görünüşe göre yeni başlayana yardımcı olmadı ...

 void CheckForOpensell()
  {
   double maopensell;
   int     ticketsell= 0 ;


//---- go trading only for first tiks of new bar
   if (Volume[ 0 ]> 1 ) return ;
//---- get Moving Average 
   maopensell= iMA ( NULL ,TF,MovingPeriod,MovingShift, MODE_SMA , PRICE_CLOSE , 0 );
//---- sell conditions
   if (Open[ 1 ]>maopensell && Close[ 1 ]<maopensell)
   for ( int it= 1 ; it<= 10 ; it++)
    {
       while (!IsTradeAllowed()) Sleep ( 5000 ); 
      RefreshRates();
      ticketsell= OrderSend ( Symbol (),OP_SELL,LotsOptimizedsell(),Bid, 3 , 0 , 0 , " MA Sell M" +TF,MAGICMA, 0 , Red );
       if (ticketsell> 0 )
         {
          OrderModify (ticketsell,OrderOpenPrice(),Bid+StopLoss* Point ,Bid-TakeProfit* Point , 0 , Gold );
           return ;  
         }
      
       else
       {
         int err= GetLastError ();
         if (err== 128 || err== 142 || err== 143 || err== 144 ) 
         {
           Sleep ( 2000 );
           Print ( "Error(" ,err, ") opening position: " ,ErrorDescription(err), ", try " ,it);
           continue ;
         }
         if (err== 146 ) while (IsTradeContextBusy()) Sleep ( 2000 );
         Print ( "Error(" ,err, ") opening position: " ,ErrorDescription(err), ", try " ,it);
         if (err== 2 || err== 64 || err== 65 || err== 4110 || err== 4111 ) break ;
         Sleep ( 2000 );
       }
      
     }
  }
 
Abylhat :

Herkese selam!

zorluk yaşıyorum... uzman günün her saatinde grafikte asılı duruyor, bu öğleden sonra EUR/USD'de bir short açmak için bir koşul vardı, (önceki mumun açılışı MA'nın üzerindeydi ve kapanışı MA'nın altında), ancak sipariş açılmadı, bu bölümü şimdi test cihazında çalıştırdım - sipariş hoş bir küçük gibi açıldı,

koddaki hata nerede - anlamıyorum, sipariş açılmadıysa özellikle bir koşul ekledim - 10 kez açmaya çalışıyorlar, ancak bu görünüşe göre yeni başlayana yardımcı olmadı ...


Sorunun bu bölgede olma ihtimali çok yüksek.

 if (Volume[ 0 ]> 1 ) return ;

Bu koşula sahip sinyaller atlanabilir. Ancak test cihazında kesinlikle çalışacaklar.

Test cihazında atlama işareti yok

 
Vinin :


Sorunun bu bölgede olma ihtimali çok yüksek.

Bu koşula sahip sinyaller atlanabilir. Ancak test cihazında kesinlikle çalışacaklar.

Test cihazında atlama işareti yok


Teşekkür ederim, ama bana durumu farklı şekilde ayarlamanın nasıl mümkün olduğunu söyleme?
 
Abylhat :

Teşekkür ederim, ama bana durumu nasıl farklı şekilde ayarlayabileceğinizi söylemeyin?

 int start(){
   static int prevtime= 0 ;
   if (Time[ 0 ]==prevtime) return ( 0 );
   prevtime=Time[ 0 ];

//
   return ( 0 );
}
Time[0] yerine TimeCurrent() kullanabilirsiniz.
 
demlin :

Merhaba!

Uzmana bir sipariş açma gerçeğinin (siparişi kapattıktan sonra) olduğunu hatırlamayı nasıl öğretebileceğinizi söyleyin. Global boole'ler iyidir, ancak yalnızca bir araç için. Bir terminalde birkaç araç varsa, değişkenler değişecek ve artık gerektiği gibi çalışmayacaktır.

Expert Advisor aynı anda birden fazla enstrümanın ticaretini yapıyor mu?

Yalnızca bir tane işlem yapıyorsa, global değişkenin adına Uzman Danışmanın Sihirli Numarası eklenebilir.

 
rlx :

Expert Advisor aynı anda birden fazla enstrümanın ticaretini yapıyor mu?

Yalnızca bir tane işlem yapıyorsa, global değişkenin adına Uzman Danışmanın Sihirli Numarası eklenebilir.

Uzman Danışman, aynı anda birkaç enstrüman ticareti yapar
 
Vinin :

Time[0] yerine TimeCurrent() kullanabilirsiniz.

Teşekkürler, deneyeceğim....
Neden: