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
EuroX2_sl EA'nın bir bölümünü düzenlemek için yardıma ihtiyacınız var .......
Merhaba tüm Programcılar,
Forex ticaretinde yeniyim ve bu forumda da yeniyim. İlk kez, 10 puan 3 olduğunu öğreniyorum, o zaman EuroX2_sl, 10 puan 3 EA betiğinden uzatıldı. Birkaç ileri test yaptıktan sonra, benim için bu EA öğrenmek benim gibi yeni başlayanlar için oldukça uygun. İleriye dönük testte, Açık Pozisyonu iyi yaptı ama piyasa tersine döndüğünde veya trend değiştiğinde ihtiyacım olan (zaten şartlandırdım bile) Pozisyonu Kapatmadı. Belki, kodda bir sorun vardır (çünkü ben bir programcı değilim) ve sanırım bunu çözmek için herhangi birinizin yardımına ihtiyacım var. Lütfen hangi parçanın yanlış olabileceğini kontrol edebilir misiniz?
Bence AÇIK pozisyon, kâr sağladığı için sorun değil ama sorun KAPALI POZİSYON'da çünkü gösterge varken bile KAPATMADI ( AL veya SATIŞ ) ve bu değişken kayıplara neden oluyor .......
Bunu bilen herkes, lütfen bu kodu düzenlememe yardım edin .......
Yaptığım gibi kod:
-------- EuroX2_sl'den gelen betiğin bir kısmı, yakın konum için olduğunu düşündüğüm için 10 noktadan 3 uzatıldı -------
//+------------------------------------------- ---------
// pazara doğru girmek önemlidir,
// ama doğru çıkmak daha önemli...
for(cnt=0;cnt<toplam;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // açık pozisyonu kontrol edin
OrderType()<=OP_SATIN AL &&
OrderType()>=OP_SEL &&
OrderType()>=OP_SATIN AL &&
OrderSymbol()==Symbol()) // sembolü kontrol edin
{
//+------------------------------------------- ---------------
if(OrderType()==OP_BUY) // uzun pozisyon açıldı
{
//+------------------------------------------- --------------------
//+ YAKIN POZİSYON ŞART
//+------------------------------------------- --------------------
//+--------------- SATIN ALMA POZİSYONUNU KAPAT ----------------------------
eğer ( Stoch_Main_M15_Cu < Stoch_Sig_M15_Cu )
//+ stokastik ana < stokastik sinyal
//+------------------------------------------- -------------------
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // konumu kapat
dönüş(0); // çıkış
}
//+------------------------------------------- ---------------------------
// takip eden durdurmayı kontrol et
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Teklif Noktası*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
dönüş(0);
}
}
}
}
//+-----------KAPALI SATIŞ POZİSYONU ----------------------------- ---
else // kısa pozisyona git
{ //+ KALDIRMAYIN
if(OrderType()==OP_SELL) // kısa pozisyon açıldı
{
}
// kapatılmalı mı?
//+------------------------------------------- ----------------------------------
if ( Stoch_Main_M15_Cu > Stoch_Sig_M15_Cu )
//+ stokastik ana > stokastik sinyal
//+------------------------------------------- ------------------------------
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // konumu kapat
dönüş(0); // çıkış
}
//+-------------------------------------------
// takip eden durdurmayı kontrol et
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Nokta*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Poi nt*TrailingStop,OrderTakeProfit(),0,Red);
dönüş(0);
}
}
}
}
}
}
-------------------------------------------------- ------------
Teşekkür ederim,
fxgroup
En iyi haftalık/günlük vadeli göstergeler nelerdir?
Bu soru deneyimli tüccarlara yöneltilebilir.
Aşağıdakiler sırasında ana trend hareketi hakkında bize fikir verebilecek güvenilir (Zaten test edilmiş) göstergeler hangileridir:
1- Gelecek hafta
2- Gelecek gün (Ya da sonraki Gün)
B/S giriş seviyeleri istemediğimi bilerek.
Not: Önümüzdeki hafta için hareket yönünü belirlediğimizde, ne zaman gireceğimiz konusunda bir temel oluşturabileceğimizi düşünüyorum.
teşekkürler
mql sorusu
Kod:
// eğer pozisyon açtıysak onlarla ilgileniyoruz
// stoploss değiştirilerek
cnt=SiparişToplam();
while(cnt>=0)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) // && Ters==Yanlış)
{
Print("Ticket ",OrderTicket()," değiştirildi.");// siparişleri değiştirmeden önce neden burada yazıyor (anladığım kadarıyla)?
if (OrderType()==OP_SEL)
{
if (TrailingStop>0){
if ((OrderOpenPrice()-Ask)>=(TrailingStop*Nokta+Pip*Puan))
{
if (OrderStopLoss()>(Ask+Point*TrailingStop) || OrderStopLoss()==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderClosePrice()-TakeProfit*Point-TrailingStop*Puan,0,Mor);
dönüş(0);
Herkese merhaba, biri bana nedenini açıklayabilir mi :Print("Ticket ",OrderTicket()," değiştirildi."); sırayı değiştirmeden önce yazılır. Anladığım kadarıyla değiştirilmemiş olsa bile " sipariş bileti değiştirildi" yazacaktır. Bu bir terminatör kodu parçası.
Teşekkür ederim.
Kod:
// eğer pozisyon açtıysak onlarla ilgileniyoruz
// stoploss değiştirilerek
cnt=SiparişToplam();
while(cnt>=0)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) // && Ters==Yanlış)
{
Print("Ticket ",OrderTicket()," değiştirildi.");// siparişleri değiştirmeden önce neden burada yazıyor (anladığım kadarıyla)?
if (OrderType()==OP_SEL)
{
if (TrailingStop>0){
if ((OrderOpenPrice()-Ask)>=(TrailingStop*Nokta+Pip*Puan))
{
if (OrderStopLoss()>(Ask+Point*TrailingStop) || OrderStopLoss()==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderClosePrice()-TakeProfit*Point-TrailingStop*Puan,0,Mor);
dönüş(0);
Herkese merhaba, biri bana nedenini açıklayabilir mi :Print("Ticket ",OrderTicket()," değiştirildi."); sırayı değiştirmeden önce yazılır. Anladığım kadarıyla, değiştirilmemiş olsa bile "sipariş bileti değiştirildi" yazacaktır. Bu bir terminatör kodu parçası.
Teşekkür ederim.Haklısınız, değişiklikten sonra yazılmalı veya mesaj şöyle olmalıdır: "Siparişi değiştirmeye çalışılıyor: ",OrderTicket()
teşekkürler Kalenzo, mql öğreniyorum ve makaleleriniz ve cevaplarınız çok yardımcı oldu, tekrar teşekkürler.
Aşağıdaki dört düzenlemeyi yapmanız yeterli olabilir:
1. satır 102'yi şu şekilde yorumlayın:
2. Change blank line 104 to be
3. Change blank line 120 to be
[PHP]if ( Ask < OrderOPenPrice() + GAP * Point ) IsTrade = true;4. "Hedge" in gelmesi gereken pip sayısı olan "GAP" değişkenini (extern int) ekleyin.
Yine de, birileri daha önce bu forumda bir yerde aynı sembolle gerçekten "hedge" yapamayacağınızı belirtmişti; kaybı almakla hemen hemen aynı. Belki de kaybı almak ve fiyat tekrar tersine döndüğünde geri dönmek daha iyidir....
Aşağıdaki dört düzenlemeyi yapmanız yeterli olabilir:
1. satır 102'yi şu şekilde yorumlayın:
2. Change blank line 104 to be
3. Change blank line 120 to be
[PHP]if ( Ask < OrderOPenPrice() + GAP * Point ) IsTrade = true;4. "Hedge" in gelmesi gereken pip sayısı olan "GAP" değişkenini (extern int) ekleyin.
Yine de, birileri daha önce bu forumda bir yerde aynı sembolle gerçekten "hedge" yapamayacağınızı belirtmişti; kaybı almakla hemen hemen aynı. Belki de kaybı almak ve fiyat tekrar tersine döndüğünde geri dönmek daha iyidir....Yardım etmedim. Ve daha spesifik olmak gerekirse, EA'mın yapmasını istediğim şey şudur:
EA, belirli bir koşula dayalı olarak bir alım/satım işlemine girecektir. İlk ticaret girildikten sonra, bazen kârın alınmasıyla kapanması üç ila beş gün sürebilir. Bu arada, bu üç ila beş günlük süre boyunca, ters yönde birkaç ticaret fırsatı olabilir. EA'nın orijinal ticareti açık bırakırken bu fırsatlardan faydalanmasını istiyorum çünkü sonunda kârla kapanacak. Orijinal ticaretin tersi yönündeki bu ek ticaret fırsatları, teknik olarak orijinal ticarete karşı bir riskten korunma olacaktır, ancak bunlar eninde sonunda kâr almada da kapanacaktır. Yine de açık olmak gerekirse, EA'nın aynı yönde yalnızca bir ticarete sahip olmasını istiyorum. Bu nedenle, aynı anda açık olan maksimum işlemler, bir alım ve bir satış olacaktır.
Umarım bu yardımcı olur!
cevabınız için teşekkürler
Hmm; EA'nızı denemedim, ancak mantığı okuyarak, bana bir Satın Alma işleminden sonra bir sonraki Satışı durduran tek şeyin "IsTrade" in doğru olduğu görünüyor. (Bir Alış açarken aynı anda bir Satış açmaması dışında)
Dolayısıyla, Satış mantığının koşulsuz olarak uygulanmasını istiyorsanız, yalnızca düzenlememin (1) -- 2-4'ü unutun -- hile yapacağını düşünürdüm. Veya "IsTrade" mantığını kaldırın .
Yine de, "TickCheck" ve "BarCount" ile aynı tikte veya aynı çubukta başka bir ticareti durduran alt mantık var, ancak bunun yine de uygulanmasını istediğinizi varsayıyorum.
Tabii atladığınız sinyalizasyon kısmı hakkında pek bir şey söyleyemem. Örneğin, bir "Sell_Signal" yükseltmek "Siparişleri" hesaba katıyorsa, yapılacak daha çok şey vardır.
Kodlamayı İlgilendirin
GERİ tuşuna basmadan önce, lütfen bana yardım eder misin???
Kodlama göstergelerinde yeniyim, ancak EA'ları nasıl kodlayacağımı biliyorum. %100 değil ama yeterince iyi.
Her neyse, birinin bana yardım edip etmeyeceğini merak ediyordum.
Lütfen bana her satırı açıklayıp bir örnek verebilir misiniz?
ps MACD için bir kodun parçası:
{
int limit;//what does Limit equal,0?
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
for(int i=0; i<limit; i++)//i<0?
MacdBuffer=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd buffer
for(i=0; i<limit; i++)
SignalBuffer=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- done
return(0);
}
//+------------------------------------------------------------------+Biri veya daha fazla kişi bana yardım ederse ve kodlama göstergeleri veya bunun gibi bir şey için ipuçları verirse çok mutlu olurum.
Teşekkür ederim,
Dan.
Bir EA içinde bir komut dosyası nasıl çalıştırılır?
Merhaba,
Bir EA içindeki komut dosyası dizininde bir komut dosyasının nasıl çalıştırılacağını bilmek istiyorum.
Eğer (koşul doğruysa)
{
Komut Dosyasını Çalıştırın;
}
şimdiden teşekkürler
Saygılarımızla
Jimmy