Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
siparişi askıya al
Merhaba millet,
MQL4'te programlama konusunda gerçek bir acemiyim ama her gün öğreniyorum. Şu anda aşağıdakileri deniyorum:
EA'mın ana döngüsünde, belirli koşullar sağlandığında bir sipariş açılır. Bu sipariş, OrderSend işlevini kullanarak belirli bir giriş, stoploss ve kâr alma ile yapılır.
Aynı anda yalnızca bir siparişe izin verilir:
toplam = SiparişlerToplam();
if(toplam < 1)
{ vesaire vesaire
İnşa etmek istediğim şey, emrin zarar durdurma veya kar alma isabetine ulaşıldığında, EA'nın mevcut saatlik çubuk (stoploss veya kar alma içindeki çubuk isabet) bitene kadar yeni emirler alarak beklemesidir.
Şu andaki sorun şu ki, stoploss veya takeprofit'e ulaşılır vurulmaz, ana döngüde hemen başka bir emir alınır.
Lütfen bana yardım eder misiniz?
FXX
EA'yı birleştirin yardıma ihtiyacınız var
Herkese selam,
2 fark EA'yı 1 EA'da birleştirmeyi bilen var mı? Lütfen bana bunun nasıl yapıldığını adım adım gösterin?
Yardımın için şimdiden teşekkürler !
EA'nın Mantığına Bağlıdır
Her EA'nın farklı mantığı vardır, bu nedenle iki EA'yı birleştirme yöntemi onların mantığına bağlıdır..
Peki birleştirmek istediğiniz adet nerede?
Herkese selam,
2 fark EA'yı 1 EA'da birleştirmeyi bilen var mı? Lütfen bana bunun nasıl yapıldığını adım adım gösterin?
Yardımın için şimdiden teşekkürler !Değerler Nasıl Sıralanır? Yardım Gerekiyor
Herhangi biri bana rank fonksiyonunu nasıl oluşturacağıma yardım edebilir.
örneğin, bunlar gibi bir çift değerim var:
a=3.0; b=4.0; c=5.0; d=2.0; e=1.0; f=6.0; g=0.0;
yüksekten düşüğe değer (6.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0)
veya (f,c,b,a,d,e,g) değeri
yani sıralama böyle olmalı
sıra numarası: (th)
f=1; c=2; b=3; a=4; d=5; e=6; g=7;
İhtiyacım olan, değeri girersem sıralamayı döndürmekten daha fazla bir işlevdir.
int rank (çift değer)
{
tüm değerleri işlemek;
dönüş (tüm değerlerden bir değerin sırası)
}
Böyle bir fonksiyon yaparsak kolay olduğunu biliyorum.
örneğin "a" değeri
int rank (çift değer)
{
if(a>b && a>c && a>d && a>e && a>f && a>g)
dönüş (1);
.
.
.
if(a<b && a<c && a<d && a<e && a<f && a<g)
dönüş(7);
}
Sorun, değer varyasyonları 2 olduğunda kombinasyon sadece birkaç, ancak varyasyonlar örneğin 5,7 veya 10 vb. arttığında, sıralama yapmak için kombinasyon çok çok fazla olacaktır..
Umarım birileri bu tür bir sorun için bana yardımcı olabilir ..
Şimdiden teşekkürler, zayıf ingilizcem için özür dilerim, ama öğreniyorum..
pi..
Bir dizi kullanın ve ArraySort() işlevine bakın.
İyi şanlar
Lüks
Stoch OBOS'u
Bu indi stoch'u çok seviyorum, ancak bunu değiştirmek için yardıma ihtiyacım var, çünkü stoch, satılan alan üzerine dokunduğunda uyarıya ihtiyacım var. Ve uyarı verdiğinde, hangi para birimini de gösterebilir.
Şimdiden teşekkür ederim.
Bir dizi kullanın ve ArraySort() işlevine bakın.
İyi şanlar
LüksBunu denedim ama yine de kafam karıştı,
Bana o şeyi nasıl yapacağımı öğretebilecek veya gösterebilecek birine ihtiyacım var..
Belki Lux Yapabilirsin?
Şimdiden teşekkürler
Her EA'nın farklı mantığı vardır, bu nedenle iki ea'yı birleştirme yöntemi onların mantığına bağlıdır. Peki, EA'ları nerede birleştirmek istersiniz?
Merhaba primajaya,
Geri bildiriminiz için teşekkürler. Yani 1. EA açık işlemler ve 2. EA yakın işlemler, eğer 1. EA açık işlemlerse ve bir miktar kâra sahipse ve 2. EA kapanış işlemini XXX kârda istiyorum, nasıl yapmalıyım? 2 sohbete eklersem çalışırlar, ancak yalnızca 1 EA'yı açmam gerektiğinden 2'si 1 arada birleştirmek istiyorum.
Yardımın için teşekkürler!
Merhaba primajaya,
Geri bildiriminiz için teşekkürler. Yani 1. EA açık işlemler ve 2. EA yakın işlemler, eğer 1. EA açık işlemlerse ve bir miktar kâra sahipse ve 2. EA kapanış işlemini XXX kârda istiyorum, nasıl yapmalıyım? 2 sohbete eklersem çalışırlar, ancak yalnızca 1 EA'yı açmam gerektiğinden 2'sini 1'de birleştirmek istiyorum.
Yardımın için teşekkürler!İşlemleri açmak için 1. ve 2. EA mantığını hala bilmiyorum ...
Ama belki bu size yardımcı olabilir..
İki adeti tek bir EA'da birleştirmeye çalışın..
Bu nedenle, EA'nın ticaret açmak için iki sinyali olmalıdır:
1. EA'dan 1. sinyal ve 2. EA'dan 2. sinyal..
OrderMagicNumber()'ı iki sinyalle yapılan her açık işlem için kimlik olarak kullanabilirsiniz...
örneğin:
1. sinyal ile açık işlemler varsa, o zaman -- sihirli sayı 1111'dir
2. sinyale göre işlemler açılırsa -- sihirli sayı 2222'dir
Dolayısıyla, işlemi ikinci sinyalden kapatmak istiyorsak, kapatmak için OrderMagicNumber() öğesini kimlik olarak kullanabiliriz:
Umarım yardımcı olur...
pj
10 puan3
LÜTFEN, PROGRAMCILAR!
10points3 EA'ya ihtiyacımız var, üçüncü ticaret açıldığında, ilki kapandığında, deniyorum ama hala tüm pozisyonları kapatıyor.
aslında elimizde:
if (ÖncekiAçıkSiparişler>AçıkSiparişler)
{
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
mod=SiparişTürü();
if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)
{
if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }
if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); }
dönüş(0);
}
}
}
Bunu yapmayı düşünüyordum:
1. ikinci işlem açıldığında ilk işlem için sihirli sayıyı değiştirin, örneğin sihirli sayı+1
2. üçüncü ticaret açıldığında, sihirli sayı+1 atanmış olarak ilkini kapatın.
haklı mıyım?
veya daha sonra kapatmak için açılan ilk ticareti başka hangi yolla belirleyebilirim?
Bana rehberlik edebilir veya değişiklikleri yapabilirseniz, daha iyi çünkü ben bir programcı değilim, sadece öğreniyorum.
Bu değişiklik Kutsal Kase'nin başlangıcı olacaktır !!!