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
Teşekkürler Ralph ama takası kaçıracaktım ve takas karını/zararını sipariş kararının kapanışına dahil etmek istiyorum
Ama ilk döngü hem kar hem de takas biriktirir, değil mi?
Hisse senedi rakamının, açık lotlar için 5 pip'in ne anlama geleceğiyle karşılaştırılacak rakam olduğunu düşünüyordum.... ve o zaman aslında başabaş fiyatı hesaplamanıza gerek yok.
Merhaba Ralph
3 değişkenim var
OrdLotlar ; lotlar halinde ve açık lotları temsil eder, ancak bu takası atlayacaktır
Eşitlik ; bu toplam kar kaybıdır ve bu, takası içerecektir
MinPro ; bu benim karım, yani 5 pip + başabaş noktası
Takas işlemini atlayacağından, pip cinsinden kâr/zararı bulmak için OrdLots'u kullanamıyorum
Pip cinsinden kar/zararı bulmak için Öz Sermayeyi kullanamıyorum çünkü bunun için ne kadar lot kullanıldığını bilmem gerekiyor ama lotlar için yaptığım hesaplama takası atlıyor
Bir şekilde kaç pip açıldığını bilmek için hem OrdLots hem de Equity işlevini kullanmam gerekiyor
MT4'te hesap bakiyesi veya hesap öz sermayesi ile ilgili hazır bir şey olabilir ama ben bulamadım
Teşekkür ederek önerdiğiniz çözüm takası düşünmeden karı/zararı pip olarak bulacaktır ama bunun için zaten bir fonksiyon koydum... Swap ile başabaş noktasının 5 pip üzerinde çıkmak istiyorum.
Times karşılaştırın ve döngü yapın
Selam millet.
Mql4 dili konusunda çok tecrübesizim. openordertime'ı bir Int var ile karşılaştırmak istiyorum ve eğer belirli bir süreyi besliyorsa ve siparişler hala açıksa, izin verilen açık emirlerin miktarını artırmak istiyorum, böylece bir Başabaş durumuna veya Belki bir kar durumuna ulaşmaya çalışabilirim ve ardından tüm açık siparişleri aynı anda kapatın ve maksimum siparişleri başlangıçta izin verilen maksimum değere ayarlayın. Birisi bana yardım edebilir veya bana zaten böyle bir şey yapan başka bir gönderide kod gösterebilir mi?
Bu kodu kullanıyorum ama çalışmıyor gibi görünüyor.
// Emirler uzun süre açık kalırsa emirleri kapat ve başabaşa çalış
geçersiz Zaman Koruması()
{
int toplam siparişler = SiparişlerToplam();
for(int i=toplam siparişler-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if ( OrderSymbol()==Symbol() )
{
prTime = OrderOpenTime();
prTime = prTime * ÇağrıZamanı;
if (prTime >= TimeCurrent())
{
MaxAllowable_Trades = MaxAllowable_Trades + 3;
bayrak = 1;
kırmak;
}
}
}
dönüş;
}
Bu konuda gerçekten yardımınızı istiyorum.
teşekkürler
Merhaba Ralph
3 değişkenim var
OrdLotlar ; lotlar halinde ve açık lotları temsil eder, ancak bu takası atlayacaktır
Eşitlik ; bu toplam kar kaybıdır ve bu, takası içerecektir
MinPro ; bu benim karım, yani 5 pip + başabaş noktası
Takas işlemini atlayacağından, pip cinsinden kâr/zararı bulmak için OrdLots'u kullanamıyorum
Pip cinsinden kar/zararı bulmak için Öz Sermayeyi kullanamıyorum çünkü bunun için ne kadar lot kullanıldığını bilmem gerekiyor ama lotlar için yaptığım hesaplama takası atlıyor
Bir şekilde kaç pip açıldığını bilmek için hem OrdLots hem de Equity işlevini kullanmam gerekiyor
MT4'te hesap bakiyesi veya hesap öz sermayesi ile ilgili hazır bir şey olabilir ama ben bulamadım
Teşekkür ederek önerdiğiniz çözüm takası düşünmeden kar zararı pip olarak bulacaktır ama bunun için zaten bir fonksiyon koydum... Swap ile başabaş noktasının 5 pip üzerinde çıkmak istiyorum.Ah... belki anlıyorum... Yani ilk döngüde EquityNoSwap'a takas olmadan da kar biriktirirseniz, o zaman benim "if" ifademde Equity yerine bunu kullanabilirsiniz. (?) Çünkü o zaman test "başabaş+swap fiyatına göre 5 pip kâr var mı?" olurdu. bu aslında "swap'ı görmezden gelen 5 pip kâr var mı?" ile aynı şey. (ya da belki hala anlamıyorum)
Temel olarak "kar+swap" göreli "başabaş" ve dolayısıyla "kar" göreli "başabaş+swap" ve "kar", "OrdLots" üzerinden dağıtılır. Sonuç olarak, hala "başabaş" için gerçek bir pip fiyatı belirlemenize gerek yok.
En iyi EA kodlama fikri
Burada biraz yardım almak için bu adıma başlıyorum. Ekteki göstergeyi kodlamayı öğreniyorum. Ancak işe yaramadı. Yardımcı olabilecek var mı? Bu çok güvenilir bir göstergedir ve eğer birisi bunun için bir EA yapabilirse .bu neredeyse kutsal bir kâsedir.
Temel ilke:
1. kırmızı ok göründüğünde Satış pozisyonunu açın,
2 beyaz ok göründüğünde satın alma pozisyonunu açın ve tüm bu satış pozisyonlarını/pozisyonlarını otomatik olarak kapatın.
3. Herhangi bir zaman dilimi için başvurun.
4. kaybı durdurma yok,
5. sipariş fonksiyonu ekleyin.
Yanıt bekliyorum!
//+------------------------------------------- -------------------+
//| IINWMARROWS.mq4 |
//| EMA_CROSS.mq4 temel alınarak |
//| Telif hakkı ?2006, MetaQuotes Software Corp. |
//| Forex Ticaret Yazılımı: Forex Ticaret Platformu MetaTrader 4 |
//| Son küçük değişiklik Iin Zulkarnain tarafından |
//+------------------------------------------- -------------------+
#property telif hakkı "Telif hakkı ?2006, MetaQuotes Software Corp."
#özellik bağlantısı "http://www.metaquotes.net"
//----
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_renk1 Beyaz
#özellik göstergesi_renk2 Kırmızı
#özellik göstergesi_width1 2
#özellik göstergesi_width2 2
//----
çift Çapraz[];
çift CrossDown[];
harici int FasterMode=3; //0=sma, 1=ema, 2=smma, 3=lwma
harici int Daha HızlıMA= 3;
extern int SlowerMode=3; //0=sma, 1=ema, 2=smma, 3=lwma
harici int Daha YavaşMA= 3;
//+------------------------------------------- -------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- -------------------+
int init()
{
//---- göstergeler
SetIndexStyle(0, DRAW_OK, BOŞ);
SetIndexArrow(0, 233);
SetIndexBuffer(0, CrossUp);
SetIndexStyle(1, DRAW_OK, BOŞ);
SetIndexArrow(1, 234);
SetIndexBuffer(1, CrossDown);
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Özel gösterge sıfırlama işlevi |
//+------------------------------------------- -------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- -------------------+
//| Özel gösterge yineleme işlevi |
//+------------------------------------------- -------------------+
int başlangıç()
{
int limit, i, sayaç;
iki kat daha hızlıMAnow, daha yavaşMAnow, daha hızlıMAönceki, daha yavaşMAönceki, daha hızlıMAsonra, daha yavaşMAsonra;
çift Aralık, AvgRange;
int counted_bars=IndicatorCounted();
//---- olası hataları kontrol et
if(counted_bars<0) return(-1);
//---- son sayılan çubuk yeniden sayılacak
if(counted_bars>0) counted_bars--;
//----
limit=Barlar-sayılan_barlar;
for(i=0; i<=limit; i++)
{
sayaç=i;
Aralık=0;
OrtAralık=0;
for(sayaç=i ;sayaç<=i+9;sayaç++)
{
AvgRange=AvgRange+MathAbs(Yüksek[sayaç]-Düşük[sayaç]);
}
Aralık=OrtAralık/10;
daha hızlıMAnow=iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE, i);
fastMAprevious=iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE, i+1);
fastMAafter=iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE, i-1);
//----
daha yavaşMAnow=iMA(BOŞ, 0, YavaşMA, 0, YavaşMod, PRICE_OPEN, i);
slowerMAprevious=iMA(NULL, 0, SlowerMA, 0, SlowMode, PRICE_OPEN, i+1);
slowerMAafter=iMA(NULL, 0, SlowerMA, 0, SlowerMode, PRICE_OPEN, i-1);
if ((daha hızlıMAnow > daha yavaşMAnow) && (fasterMAönceki daha yavaşMAson)
{
CrossUp=Düşük - Aralık*0.5;
}
else if ((fasterMAnow daha slowerMAprevious) && (fasterMAafter < slowerMAafter))
{
CrossDown=Yüksek + Aralık*0.5;
}
}
dönüş(0);
}
//+------------------------------------------- -------------------+doğru kodlamayı öğrenmek için bu konu, kodlamayı öğreniyorum
Büyük ve cesur kodlayıcılara
herhangi biri bu EA için maksimum konum ekleyebilir mi
veya sadece bir pozisyonda çalışmasına izin mi vereceksiniz?
şimdiden teşekkürler
Gönderi Silindi
konu dışı soru
Açık kaynak kodlu olmayan bir programdan veri koklamak mümkün müdür?
Programlama dilleri zayıf (Metastock'a benzer ama daha zayıf, ''önceki'' fonksiyona izin verilmiyor. Sadece kendi göstergelerine izin veriyorlar ve (yasa gereği) veri tekellerine sahipler. DLL uzantısı yazmak mümkün değil. göstergelerimi gerçek zamanlı ortamda çalıştırmak için. '' excell'de port dinleme işlevi '' gibi bir şey duydum ama ne olduğu hakkında hiçbir fikrim yok.
Tüm programcılar çok takdir yanıt verir.
Farklı bir çift için açık sipariş
Merhaba,
Farklı bir döviz çifti için emir açmanın bir yolu var mı?
Örneğin, EA bir EURUSD grafiğinde çalışıyor, ancak USDJPY için bir sipariş açmak istiyorum.
Mümkün mü.
Şimdiden teşekkürler
OrderSend("USDJPY",OP_BUY,0.1,MarketInfo("USDJPY",MODE_ASK),10,0,0,"Com",0,0, CLR_NONE );