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

 
Cod :

Ve burada ortaya çıktı ki, GA çalıştırma sayısını mı artırıyor? Mümkün mü?

Hata!

Çok ilginç bir vaka...

 
DhP :

Hata!

Çok ilginç bir vaka...


Olası seçeneklerden daha fazlası olmayacak
 

Teşekkür ederim baktım ama bir şey anlamadım. Örneğin:

Belirtilen gereksinimlerden herhangi biri ihlal edilirse bir ticaret işlemi gerçekleştirilmez.

Satış sınırı

1) OpenPrice-Bid StopLevel

2) SL-OpenPrice StopLevel (örnekte daha ayrıntılı)

3) OpenPrice-TP StopLevel

"İşlem devam etmiyor" ne anlama geliyor? Bekleyen bir emir verilmeyecek (kabul edilmeyecek) veya önceden ayarlanmış olan çalışmayacak (o zaman ona ne olacak, komisyoncu tarafından silinecek mi)? Koşullar değiştiyse ve örneğin bir saat içinde daha önce başarıyla verilen siparişin içinde SL-OpenPrice varsa soruyu tekrarlıyorum şimdiye kadar değişti StopLevel, ona ne oluyor?

Ve başka bir soru. Diyelim ki fark 2 oldu ve 7 puan oldu. Ne anlama geliyor - teklif veya satış fiyatı değişti mi yoksa borker keyfi olarak ona uygun mu seçiyor?

 

Bir içerme dosyasını (*.mqh) derlemeye çalışırken, '\end_of_program' hatası - tanımlı işlev görünmüyor. Yanlış olan nedir ve nasıl düzeltilir?

dış çift Lot = 0.0;
extern int Yüzde = 0;
harici int StopLoss = 100;
harici int TakeProfit = 40;
harici int TrailngStop = 100;

int Seviye_Yeni;
int Level_Old;

 

DERS KİTABI'nın kapağına her taraftan baktım ve hala hiçbir şey anlamadım ...)))

Gördüğüm her yerde şöyle yazıyorlar:

 int Ticket = OrderSend (...);

Durakları daha fazla işlemek ve ayarlamak için Fiyat = OrderOpenPrice() almak istersem aşağıdaki yazım doğru mu?

 double Price = OrderSend (...);

Benim için çalışıyor, ama kabul edilebilir mi?

 
Vinin :

Yerleşik işlevler yoktur, zaman dilimine bağlı olarak hesaplama süresinin hesaplanmasıyla kendi farenizi yazmanız yeterlidir.
Soru değil... Ama koddaki TF'nin mevcut değeri nasıl belirlenir?
 

Hepinize iyi günler!

İlk kez gönderiyorum, yanlışsa özür dilerim.

Soru şu ki, işlev (aşağıya bakın) neden hata veriyor: 'A' - dizi öğesi atanamıyor?

double get_init_values( double A[], int index){

int size = 0 ;

size = ArraySize (A);

if (size < index){

return ( 0 );

} else {

A [index] = Ask;

return (A);
}

}
Şimdiden teşekkürler!
 
Saltan :

Bir içerme dosyasını (*.mqh) derlemeye çalışırken, '\end_of_program' hatası - tanımlı işlev görünmüyor. Yanlış olan nedir ve nasıl düzeltilir?

Denemek zorunda değilsin! .mqh dosyaları dahil edilir ve sessizce öylece durur. Yazıldığı bir Expert Advisor derlerken, derleyici gerekli kod öğelerini otomatik olarak birleştirir ve birlikte derler.
.mqh'yi ayrı olarak derlemeye çalışırken, derleyici ürün tipini (EA, gösterge..) belirlemeye çalışır ve "nereden başladınız?" hatasını bulmaya başlar. vb.
Doğru derleme sırasında hatalar oluşursa .mqh ile uğraşmaya başlamalısınız.
 

Açılan pozisyonun lot büyüklüğünü hesaplamak için Expert Advisor'a yeni bir blok ekledim. Anlamı şudur:

1. Stop, Satış pozisyonu ile mevcut günün En Yüksek ve Al pozisyonu ile günün En Düşük üzerine yerleştirilir.

2. Emir açma koşulu tetiklendiğinde partiyi hesaplamak için bu blok yürütülmeye başlar. Günün Yüksek/Düşük mesafesi puan olarak hesaplanır, istenilen lotu bulmak için 0,1'den başlayan partiler arasında dolaşırım (stop tetiklendiğinde %5)

Ancak günlükte aşağıdaki satırlar görünür:

2011.01.30 16:59:47 TestGenerator: eşleşmeyen veri hatası (2011.01.13 14:45'te hacim sınırı 1107 aşıldı)

Bu bloğu kapatır kapatmaz her şey yolunda. nerede hatalıyım? Lütfen bana söyle.

İşte kodun kendisi:

 double Balance = AccountBalance();
     double DistanceToHighDay = MathAbs (HighDay-Ask)* 10000 ;
     double DistanceToLowDay  = MathAbs (Bid-LowDay)* 10000 ;
     double ExpectedSellLoss;
     double ExpectedBuyLoss;
     double ExpectedSellRisk;
     double ExpectedBuyRisk;
     double LotSell;
     double LotBuy;
    int    Risk = 5 ;
   
    // Расчёт лота для Sell
     for ( int i= 0.1 ; ExpectedSellRisk<Risk; i=i+ 0.1 )
       {
        ExpectedSellLoss = DistanceToHighDay*i* 10 ;         // ожидаемый убыток в $
        ExpectedSellRisk = (ExpectedSellLoss* 100 )/Balance; // ожидаемый убыток в %
        LotSell=i;
       }
       
     // Расчёт лота для Buy
     for (i= 0.1 ; ExpectedBuyRisk<Risk; i=i+ 0.1 )
       {
        ExpectedBuyLoss = DistanceToLowDay*i* 10 ;         // ожидаемый убыток в $
        ExpectedBuyRisk = (ExpectedBuyLoss* 100 )/Balance; // ожидаемый убыток в %
        LotBuy=i;
       }
 
mql4 diline hakimim, basit bir ses göstergesi yazamıyorum, yani. her çubukta kaç tik varsa, lütfen paylaşın. Birisi özellikle yazarsa, o zaman çok teşekkür ederim.
Neden: