Başlangıç olarak, parti hesaplama işlevi, başlatma işlevinin içinde bildirilir. Onu dışarı çıkar. O zaman bildirilmemiş bir değişkenle birkaç hata olacak, ama evet, onlarla kendiniz ilgileneceğinizi düşünüyorum.
Bir soru daha, lot hesaplaması hangi fonksiyonda bildirilmelidir? init, deinit?
EA'daki kod bolluğu (optimize edilmemiş) nedeniyle bilgisayar yavaşlayabilir mi? Yani, büyük bir kodu varsa, işlemlerin açılması ve danışman tarafından karar verme süreci yavaşlar mı?
Bu, iç içe geçmiş bir işlev değil, temel MACD Sample Expert Advisor'ın bir parçasıdır. Hesaplanmış bir lot eklemeye çalışıyorum. Ana ve tek start() işlevi
Çocuklar!
artan lot ile her 40. sipariş nasıl yapılır? :: piyasa ve ertelenmiş
belki bu yüzden?
Pek değil , geçmişteki siparişlerin sayısını saymanız gerekiyor a = (OrdersHistoryTotal()+ 1) % 40
Bu, aynı anda kaç siparişin açılabileceğini hesaba katmaz, aksi takdirde Sipariş Toplamını eklemeniz gerekir (muhtemelen eksi bekleyen siparişler).
Pek değil, geçmişteki siparişlerin sayısını saymanız gerekiyor a = (OrdersHistoryTotal()+ 1) % 40
Bu, aynı anda kaç siparişin açılabileceğini hesaba katmaz, aksi takdirde Sipariş Toplamını eklemeniz gerekir (muhtemelen eksi bekleyen siparişler).
Ve diğer enstrümanlar veya diğer danışmanlar için de pozisyonlar açıldıysa ? ne yazdığını düşün
Başlangıç olarak, parti hesaplama işlevi, başlatma işlevinin içinde bildirilir. Onu dışarı çıkar. O zaman bildirilmemiş bir değişkenle birkaç hata olacak, ama evet, onlarla kendiniz ilgileneceğinizi düşünüyorum.
Bir soru daha, lot hesaplaması hangi fonksiyonda bildirilmelidir? init, deinit?
Ayrı bir işlev yapmak ve gerektiğinde kullanmak daha iyidir (yeni bir pozisyon açmadan önce)
Ayrı bir işlev yapmak ve gerektiğinde kullanmak daha iyidir (yeni bir pozisyon açmadan önce)
Kene geçmişini kaydetme
Herkese iyi günler!
Soru şu ki - bir kene geçmişi kayıt komut dosyası var
...
FileSeek(ExtHandle,0,SEEK_END);
FileWrite(ExtHandle, TimeToStr(TimeCurrent(), TIME_DATE | TIME_SECONDS), Bid, Ask, iVolume(Symbol(), NULL, 0));
...
şöyle yazıyor:
...
2011.08.15 08:38:49;76.936;76.946;1389
2011.08.15 08:38:51;76.934;76.953;1390
2011.08.15 08:38:56;76.929;76.958;1391
2011.08.15 08:38:56;76.935;76.945;1392
...
Yani, minimum zaman biriminin bir saniye olduğu ortaya çıktı. Öyleyse soru şu - keneleri milisaniye cinsinden yazmanın bir yolu var mı?
Şimdiden teşekkürler
Yani, minimum zaman biriminin bir saniye olduğu ortaya çıktı. Öyleyse soru şu - keneleri milisaniye cinsinden yazmanın bir yolu var mı?
GetTickCount'a bakın... veya Windows işlevine bakın
Victor, tavsiyene uyarak bir işlev ekledi. Şimdi derleme yapmıyor.
İç içe işlevlere izin verilmez
İç içe işlevlere izin verilmez