[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 38
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
charter , siparişi 30 dakika sonra değil, aynı saniyede kapattığı anlamına gelir.
Örnekte olduğu gibi kodda ayarladım
Diğer nedenlerden dolayı robot hiçbir şekilde kapanmaz, yani. durarak değil, kâr ederek değil.1 2011.07.29 00:00 1 satın al 0.01 1.4328 1.3328 1.5328 0.00 1000.00
2 2011.07.29 00:01 kapat 1 0.01 1.4327 1.3328 1.5328 -0.10 999.90
3 2011.07.29 00:01 2 satın al 0.01 1.4329 1.3329 1.5329 0.00 999.90
4 2011.07.29 00:01 kapat 2 0.01 1.4326 1.3329 1.5329 -0.30 999.60
5 2011.07.29 00:01 3 satın al 0.01 1.4328 1.3328 1.5328 0.00 999.60
6 2011.07.29 00:03 kapat 3 0.01 1.4327 1.3328 1.5328 -0.10 999.50
7 2011.07.29 00:03 4 satın al 0.01 1.4329 1.3329 1.5329 0.00 999.50
8 2011.07.29 00:03 kapat 4 0.01 1.4329 1.3329 1.5329 0.00 999.50
Tüm bunları start() fonksiyonunun en sonuna koyun. Operasyonlarınız bununla yüzleşmeli.
Anladım.
Ve başlangıç olarak 0$'lık bir hesap açmayı ve bakiyenin 1. ikmalini tamamlama olarak düşünürsek. Hesaba yapılan tüm yedekleri (birincisi dahil) programlı olarak belirlemek mümkün müdür?
:-R
Yanlış yöne kürek çekiyorsun ... :-)))
bir işlev var
onun yardımıyla, herhangi bir zamanda kapatılan işlemler için ticaret hesabı bakiyesinin durumunu belirlersiniz.
Sonra - piyasaya girdiğimizi varsayalım - açık pozisyonlu hesapta dalgalı bir eksi var , sonra hesabı yenilersiniz ... Burada hacmi ayarlamak için (varsa) kontör miktarını programlı olarak belirlemek zaten gereklidir ( açık pozisyonların artırılması) başlangıç \u200b\u200bçekme / kâr için " ödeneği " kaydetmek için, diyelim ki, sermayenin bir yüzdesi olarak, "başlangıç" piyasa pozisyonlarının hacimlerinin hesaplandığı ilk miktardan (doldurmadan önce). Bu sorunun çözümü nedir?
Gerek yok. Bu, her zaman son kapanışın zamanına eşit olan bir "ara" zaman değişkenidir.
Tepki süresi saniye olarak ayarlanır. Senin durumunda 30*60.
30'u bir değişkenle değiştirebilirsiniz, örneğin exstern int closetime = 30.
Ardından yanıt süresi şöyle görünecektir: closetime*60.
Gerek yok. Bu, her zaman son kapanışın zamanına eşit olan bir "ara" zaman değişkenidir.
Tepki süresi saniye olarak ayarlanır. Senin durumunda 30*60.
30'u bir değişkenle değiştirebilirsiniz, örneğin exstern int closetime = 30.
Ardından yanıt süresi şöyle görünecektir: closetime*60.
:-R
Yanlış yöne kürek çekiyorsun ... :-)))
bir işlev var
onun yardımıyla, herhangi bir zamanda kapatılan işlemler için ticaret hesabı bakiyesinin durumunu belirlersiniz.
Sonra - piyasaya girdiğinizi varsayalım - açık pozisyonları olan hesapta değişken bir eksi var, sonra hesabı yenilersiniz ... Burada, hacmi ayarlamak için (varsa) kontör miktarını programlı olarak belirlemek zaten gereklidir ( açık pozisyonların artırılması) başlangıç \u200b\u200bçekme / kâr için " ödeneği " kaydetmek için, diyelim ki, sermayenin bir yüzdesi olarak, "başlangıç" piyasa pozisyonlarının hacimlerinin hesaplandığı ilk miktardan (doldurmadan önce). Bu sorunun çözümü nedir?
Başlangıç bakiyesinin (başlangıç bakiyesi) StarLot'a (başlangıç partisi) oranını başlangıçta belirlenen risklere göre belirlediyseniz, tamamlama tutarı özkaynaktan belirlenmelidir:
if(AccountEquity()<StartBalance) Yükleme = (AccountBalance()+(StartBalance-AccountEquity()))*Yeni Parti/StarLots
Bu, AccountCredit() olmadan. Seni doğru anladıysam tabii.
Ben de aynı şeyi denedim, başlangıç vücudun sonunda .... Bunu neden anlamıyorum. Belki başka bir seçenek vardır?
Her iki seçenek de çalışmalıdır.
Merhaba. Sana bir sorum var. En yakın maksimum ve minimumu bulmam gerekiyor. Ancak Open[0]'dan + - 10 puan içinde olmaları;
Şimdi buna sahibim:
için (int i=1;i<100;i++)
if (Yüksek[i+1]<Yüksek[i] && Yüksek[i]>Yüksek[i-1] kırılma;
en yakın maksimumu bulur,
High[i]>(Open[0]+0.0010) ve High[i]<(Open[0]+0.0020) karşılaştırmasını eklersem şöyle görünür:
if (Yüksek[i+1]<Yüksek[i] && Yüksek[i]>Yüksek[i-1] && Yüksek[i]>(Açık[0]+0.0010) && Yüksek[i]<(Açık[0] +0.0020) ara;
Program yanlış maksimumu veriyor.Sorun nedir?
Henüz minimumu denemedim.