Hatalar, hatalar, sorular - sayfa 122

 
sergey1294 :
CFD'ler, vadeli işlemler, endeksler vb. için OrderCalcMargin() işlevinin düzgün çalışmasını bekleyemem. Bu enstrümanlar için marjın nasıl doğru bir şekilde hesaplanacağına dair formülleri kimse paylaşabilir mi?

Kılavuzda yok mu? Sanki...
 
Interesting :

Ve muhtemelen her şeyi getirdim, artık sebebinin ne olduğunu bile anlayamıyorum ...

Durumu daha ayrıntılı olarak açıklamaya çalışacağım.

Basit bir "CMqlTimer" sınıfı vardır, bu sınıfın görevi, farklı zaman aralıklarının değişme anını izlemektir: saat, gün, hafta, ay, yıl.

İlkel olana kadar her şey basitçe yapılır, örneğin, dakikalar 0 ise, o zaman "yeni saat" gelmiştir; haftanın gün sayısı, değişkende saklanan sayıya karşılık gelmiyorsa, bir gün değişikliği meydana geldi (sunucu saatine göre "00:00:00"). Peki, vb.

Analiz, zamanlayıcı tetiklendiğinde 1 saniye aralıklarla CMqlTimer::OnTimer() içinde iş yapıldığında gerçekleşir. Belirli bir zaman aralığı değiştiyse, belirli bir işlevin yürütülmesi gerekir. Örneğin, "yeni" bir gün geldiyse, CMqlTimer::OnRolloverDay() işlevi yürütülmelidir.


Yani, diğer her şeyi kaldırırsanız ve yalnızca OnRolloverDay()'in özünü bırakırsanız, şöyle bir şey elde edersiniz:

Tüm kullanıcı olayları izlenir ve işlenmek üzere ana sınıfa iletilir.

şuna benziyor

Bu nedenle, test modunda olaylar OnChartEvent'e ulaşmaz, yani. Test modundaki bir EA, EventChartCustom kullanılarak gönderilen bir olayı işleyemez. Günlükteki tüm (tümü arka arkaya) olaylar görüntülenerek kontrol edilir.

not

en ilginç şey, tüm olayların demoya ulaşması , ancak test cihazında çalışmayı reddetmesidir.

319'a kadar her şey çalıştı ve olaylar test cihazında başarıyla işlendi. Doğru, çalıştığı son sürüm, söyleyemem ...

alexvd :
Teşekkür ederim. Düşünmeye devam edeceğiz.
İşlerin bu yönde nasıl ilerlediğini sorabilir miyim? Test cihazındaki olayların normal çalışmasına gerçekten ihtiyacım var ...
 
Interesting :
Kılavuzda yok mu? Sanki...

Kesinlikle buldum, formüllerde aşağıdaki değişkenler net değil, kırmızı ile vurgulanmış

tanımlayıcı

Tanım

formül

SYMBOL_CALC_MODE_FOREX

Forex modu - Forex için kar ve marj hesaplaması

Marj: Lot*Sözleşme_Boyutu/Kaldıraç

Kar: (close_price-open_price)*Contract_Size*Çok

SYMBOL_CALC_MODE_FUTURES

Vadeli işlemler modu - vadeli işlemler için marj ve kar hesaplaması

Marj: Lot * BaşlangıçMarj * Yüzde /100

Kar: (close_price-open_price)*TickPrice/TickSize*Lots

SYMBOL_CALC_MODE_CFD

CFD modu - CFD için marj ve kar hesaplaması

Marj: Lot *SözleşmeBoyutu* PazarFiyatı * Yüzde /100

Kar: (close_price-open_price)*Contract_Size*Çok

SYMBOL_CALC_MODE_CFDINDEX

CFD endeks modu – endeks CFD'leri için marj ve kar hesaplaması

Marj: (Lot*SözleşmeBoyutu* PazarFiyatı )* TickPrice / TickSize

Kar: (close_price-open_price)*Contract_Size*Çok

SYMBOL_CALC_MODE_CFDLEVERAGE

CFD Kaldıraç modu – kaldıraç ile alım satım yaparken CFD için marj ve kar hesaplaması

Marj: (Parti*SözleşmeBoyutu* PazarFiyatı * Yüzde )/Kaldıraç

Kar: (close_price-open_price)*Contract_Size*Çok

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
Interesting :
İşlerin bu yönde nasıl ilerlediğini sorabilir miyim? Test cihazındaki olayların normal çalışmasına gerçekten ihtiyacım var ...

İsteğiniz üzerine başvuru oluşturuldu - kaybolmayacak!

 
alexvd :

İsteğiniz üzerine başvuru oluşturuldu - kaybolmayacak!

Teşekkür ederim. bekleyecek...
 

Hata - eskiden çalışıyordu, ama şimdi çalışmıyor.

 //+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
  // вот так работает
     Print ( TimeCurrent ()+ 2 * PeriodSeconds ( PERIOD_D1 ));
  // а вот так нет (а раньше работало)  
     datetime    time_end= 0 ;
     time_end= TimeCurrent ()+ 2 * PeriodSeconds ( PERIOD_D1 );
     Print (time_end);
  }
 
Prival :

Hata - eskiden çalışıyordu, ama şimdi çalışmıyor.

Ve benim için çalışıyor.

işte sonuç:

2010.09.08 20:15:12 Taslak1_1 (EURUSD,M15) 2010.09.10 19:15:04
2010.09.08 20:15:12 Taslak1_1 (EURUSD,M15) 2010.09.10 19:15:04

 
Prival :

Hata - eskiden çalışıyordu, ama şimdi çalışmıyor.

Her iki seçenek de benim için çalışıyor. 324 inşa
 


2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13

Yapmıyorum, çalışmıyor. sayılar farklıdır. 324 oluşturun. Win7 64 bit

 

Prival :

2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13

Ben de öyle:

2010.09.08 21:18:04 Özel Test (EURUSD,H1) 2010.09.10 19:18:15
2010.09.08 21:18:04 Özel Test (EURUSD,H1) 2010.09.10 19:18:15

Dakikada:

2010.09.08 21:30:15 Özel Test (EURUSD,M1) 2010.09.10 19:30:24
2010.09.08 21:30:15 Özel Test (EURUSD,M1) 2010.09.10 19:30:24

Windows XP.