MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 356

 
Nauris Zukas :

Teşekkür ederim, ancak o zaman verileri de ölçeklendirmeniz gerekir (eğer doğru anladıysam). Verileri ölçeklendirmek tek çözüm gibi görünüyor.

Neden herhangi bir şeyi ölçeklendirelim? Biri pozitif değerler için diğeri negatif değerler için olmak üzere 2 tampon kullanın. Hesaplama sırasında sadece pozitif olanlar elde edilirse, bunlar -1 ile çarpılabilir. Ancak hesaplama sırasında hem pozitif hem de negatif değerler elde edilirse teklifim uygun değildir.

Daha sonra farklı genişliklerde histogramlar oluşturabilirsiniz. Önce geniş histogramla görüntülenen arabellek bir değerle, ardından ince bir histogramla görüntülenen arabellekle doldurulur.

Daha sonra aşağıdaki histogram elde edilir. Burada 4 tampon kullanılır.


 
Alexey Viktorov :

Neden herhangi bir şeyi ölçeklendirelim? Biri pozitif değerler için diğeri negatif değerler için olmak üzere 2 tampon kullanın. Hesaplama sırasında sadece pozitif olanlar elde edilirse, bunlar -1 ile çarpılabilir. Ancak hesaplama sırasında hem pozitif hem de negatif değerler elde edilirse teklifim uygun değildir.

Daha sonra farklı genişliklerde histogramlar oluşturabilirsiniz. Önce geniş histogramla görüntülenen arabellek bir değerle, ardından ince bir histogramla görüntülenen arabellekle doldurulur.

Daha sonra aşağıdaki histogram elde edilir. Burada 4 tampon kullanılır.


Teşekkür ederim ama bu seçenek çalışmayacak çünkü satırlı arabellek örneğin 1.19653'ten 1.19674'e ve histogram 0'dan 250'ye kadar olacak. Bir pencerede işaretler ve yayılır, bu yüzden ikinci bir Y yapmak istedim eksen.

 
Nauris Zukas :

Teşekkür ederim ama bu seçenek çalışmayacak çünkü satırlı arabellek örneğin 1.19653'ten 1.19674'e ve histogram 0'dan 250'ye kadar olacak. Bir pencerede işaretler ve yayılır, bu yüzden ikinci bir Y yapmak istedim eksen.

uymayacağını kabul ediyorum. Ancak!!! Ölçekleme ne verecek? Histogram değerleri 100'e bölünebilir mi? Veya 0,01 ile çarpın...

 
Alexey Viktorov :

uymayacağını kabul ediyorum. Ancak!!! Ölçekleme ne verecek? Histogram değerleri 100'e bölünebilir mi? Veya 0,01 ile çarpın...

Şimdilik konsept bu: max/min alıyoruz. lineer tamponlardan gelen değer ve maksimum spread bu değerlere göre yapılır, kalan spreadler maksimuma ölçeklenir.

 
Artyom Trishkin :

Bu, komisyoncunun hesabınız için otomatik ticarete izin vermediği anlamına gelir, çünkü her şey açık ve danışman pozisyon açmaz ve emir vermez.

EA sunucuya bir ticaret talebi göndermeye çalıştığında günlükte ne görüntülenir?

Emirler verilir, ancak IsTradeAllowed() 0'dır. Nasıl yani?

 
Andrei :

Otomatik ticarete izin vermek mi demek istiyorsun? Bu da dahildir...

Destek için komisyoncuyu aramak mantıklı

 
Andrei :

Emirler verilir, ancak IsTradeAllowed() 0'dır. Nasıl yani?


rekabetçi hesap?

En az dört parametreyi kontrol etmeniz gerekir:

 ACCOUNT_TRADE_EXPERT
ACCOUNT_TRADE_ALLOWED
TERMINAL_TRADE_ALLOWED
IsTradeAllowed ( _Symbol , TimeCurrent ())
 

Lütfen bana seçilen işlem enstrümanı için mevcut ve önceki keneleri karşılaştırmak için nasıl bir kod yazacağımı söyleyin?

Karşılaştırmam gerekiyor: Eğer Tick (geçerli) > tik (önceki), o zaman bu keneleri saymaya gidin ve bunun tersi, Tick (mevcut) < Tick (önceki) ise Ticks2'yi saymaya gidin.

Böylece, seçilen grafikte ve zaman diliminde her bir çubukta kaç tik'in fiyatı artırdığını ve kaç tanesini azalttığını hesaplamak istiyorum.

Lütfen bana söyle! Hayatımdaki ilk program gibi ilk antrenman göstergemi de yazıyorum :(

Doğru mu yaptım?

int İşaret;

int Tik2;

int başlangıç()

if((Teklif - Teklif[1]) > 0)

{

Kene++;

dönüş;

}

başka

{

Tik2++;

dönüş;

}

 
YarTrade :

Lütfen bana seçilen işlem enstrümanı için mevcut ve önceki keneleri karşılaştırmak için nasıl bir kod yazacağımı söyleyin?

Karşılaştırmam gerekiyor: Eğer Tick (geçerli) > tik (önceki), o zaman bu keneleri saymaya gidin ve bunun tersi, Tick (mevcut) < Tick (önceki) ise Ticks2'yi saymaya gidin.

Böylece, seçilen grafikte ve zaman diliminde her bir çubukta kaç tik'in fiyatı artırdığını ve kaç tanesini azalttığını hesaplamak istiyorum.

Lütfen bana söyle! Hayatımdaki ilk program gibi ilk antrenman göstergemi de yazıyorum :(

Doğru mu yaptım?

Her tik için Tarih, Saat, Teklif ve hesaplamalarınızın sonuçlarını bir dosyaya yazmaya çalışın. Ardından Excel'e yükleyin ve kontrol edin. Programın her on satırını koordine etmek pek mantıklı değil!

Ama bakın, koşullu operatörün her dalında geri döndünüz, yani. her zaman yürütülür. Sonra onu koşullu operatörün dışına çıkarıyoruz. Alırız:

 int Tick=0, Tick2=0;       // Для вставки программы используйте кнопку SRC
double Bid1;

void OnInit()
{
  Bid1=Bid;
}

void start()   // Вместо start более модно писать OnTick
{
     if ( Bid > Bid 1 ) Tick++;                             
     else           Tick2++;
    Bid1=Bid;                          
}

Teklif[1] - olur mu?

 
STARIJ :
// Вместо start более модно писать OnTick

:)