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

 

Muhtemelen bir şeyi özlüyorum:

 extern double LotsStep = 0.1 ;
       double Lots;
...

int start()
{
   ...
   
   if (NewOrder)
   { 
       if ( OrdersTotal () == 0 )
         Lots = LotsStep;
       else
         Lots += LotsStep;
      
      Lots = TrueLots(Lots);
       if (Lots < 0 )
      {
         Alert ( "Не хватает денег на " , DoubleToStr (-Lots, 2 ), " лотов!" );
         Lots = 0 ;
         Buy  = False;
         Sell = False;
      }
      
      NewOrder = False;
   }
      
   //Блок открытия на бай
   
   ...
}

double TrueLots( double Lots)
{
   double Free    = AccountFreeMargin ();
   double One_Lot = MarketInfo ( Symbol (), MODE_MARGINREQUIRED);
   
   if (Lots > Max_Lot)
   {
       Alert ( "..." );
      Lots = Max_Lot;
   }

   if (Lots*One_Lot > Free)
       return (-Lots);
   
   return (Lots);
}

 

Yine de, derleme sırasında karşılaştığım eşlik eden bir sorun '(' işlev tanımı beklenmeyen bir hataydı, bu işlevi "double LotSize () çıkardım)
"start() için, hata ortadan kalktı, bunun sonucunda bu fonksiyon, prensipte açılan her bir sonraki lotu artırmaya başladı
, ancak bunun yalnızca bir satın alma için bir dizi sinyalde ve zıt sinyaller olduğunda geçerli olmasını istiyorum. alındı, sayaç sıfırlandı ve yeni bir piramit inşa edilmeye başlandı, belki de, elbette, bu kod parçasını neden aldım, çünkü bu adımdan sorumlu olanın o olduğunu düşündüm, olmadığı ortaya çıktı. böyle ...

 
MaxZ :

Muhtemelen bir şeyi özlüyorum:


Teşekkürler. şimdi deneyeceğim
 
SeALALex :
Bunun gibi bir şey


Fragmana bakın - kendiniz düzeltin.

Dosyalar:
b-lots.mqh  3 kb
 
SeALALex :

Teşekkürler. şimdi deneyeceğim

Belirli sayıda Lot açma olasılığı için başka bir kontrol eklendi. Doğaçlama yapın ve mutlu olacaksınız! :))


Mantık şudur:

Piyasada hiç emir yoksa (burada bekleyen emirleri hariç tutuyorum ), o zaman Lot değişkenine başlangıç değerini atarız (bu durumda, aynı adım).

Halihazırda piyasada emir varsa her açılışta Lot parametresi LotsStep değeri kadar artacaktır.

Hangi özel görevin olduğunu bilmiyorum, bu yüzden "doğaçlama" yazdım.


Roma. :


Fragmana bakın - kendiniz düzeltin.

Her şeyi elinizle anlamak daha iyi, aynı zamanda kodlamayı da öğreneceksiniz! :D

 
MaxZ :

Muhtemelen bir şeyi özlüyorum:


Maxim, zamanın varsa - şu konuya bak... :-)))

Tüm danışmanlar için aynı anda bir "ortak paydaya" gelemiyorum (evrensel versiyon)... :-(((

EA kodlarımda - "çift" taşma hakkında yazıyor ...

Bir gün o başlıkta ekran görüntüleri eklenmiş ayrıntılı bir soru soracağım...

not Bazı baykuş çeşitleri için - düzgün çalışıyor, bazıları için çalışmıyor ... Şimdi her şey orada kitaba göre yapılıyor, çarpma dahil ... Onun ürününün de evrensel bir yaklaşım için faktörlere bölünmesi gerekiyor. TWR değişkeni için önerdiğiniz gibi bir dizi yaptım, ancak şimdiye kadar her şey tüm danışmanlar için çalışmıyor, bazıları için "çift" veri türü hala tarihte 1000 parçaya kadar olan işlemler için taşıyor ... optimal f'nin son hesaplaması.

 
MaxZ :

Muhtemelen bir şeyi özlüyorum:


Üzgünüm, her zaman yakalayamıyorum


Hata NewOrder -'NewOrder' - değişken tanımlanmadı, onu önce nereden çağırmalıyım?

 
Roman. :


Maxim, zamanın varsa - şu konuya bak... :-)))

ProCapital forum başlığında ne görmeliyim? :))


Roma. :


Tüm danışmanlar için aynı anda bir "ortak paydaya" gelemiyorum (evrensel versiyon)... :-(((

EA kodlarımda - "çift" taşma hakkında yazıyor ...

Bir gün o başlıkta ekran görüntüleri eklenmiş ayrıntılı bir soru soracağım...

not Bazı baykuş çeşitleri için - düzgün çalışıyor, bazıları için çalışmıyor ... Şimdi her şey orada kitaba göre yapılıyor, çarpma dahil ... Onun ürününün de evrensel bir yaklaşım için faktörlere bölünmesi gerekiyor. TWR değişkeni için önerdiğiniz gibi bir dizi yaptım, ancak şimdiye kadar her şey tüm danışmanlar için çalışmıyor, bazıları için "çift" veri türü hala tarihte 1000 parçaya kadar olan işlemler için taşıyor ... optimal f'nin son hesaplaması.

ProCapital başlığında?? Neden orada? Yerleş, ekran görüntülerine bakacağım, düşüneceğim.
 
MaxZ :

ProCapital forum başlığında ne görmeliyim? :))


ProCapital başlığında?? Neden orada? Yerleş, ekran görüntülerine bakacağım, düşüneceğim.


Üzgünüm, arabellekte yanlış bir bağlantı vardı - eskisi... :-)))

Burada.

Şimdi işteyim - bu gece veya yarın aynı başlıkta ekran görüntüleriyle birlikte ayrıntılı bir soru yayınlayacağım. :-)))

 
SeALALex :

Üzgünüm, her zaman yakalayamıyorum


Hata NewOrder -'NewOrder' - değişken tanımlanmadı, onu önce nereden çağırmalıyım?

Tecrübe ile gelecek! ;)


NewOrder bir bool değişkenidir. Örneğin, Start() işlevinin başında bildirilmelidir. Her şey kodunuzun yapısına bağlı olsa da.

Bir sipariş açmak istediğimizde NewOrder değişkenini True olarak ayarlıyoruz.

Örneğin, EA açık fiyatlar ve Hareketli Ortalama göstergesi üzerinde çalışır:

if ((Close[2] < = MA2 && Close[1] > MA1) || (Close[2] < MA2 && Close[1] > = MA1))
{
   NewOrder = True;
   Buy = True;
}
Neden: