Nasıl kodlanır? - sayfa 34

 

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.

 
Flytox:
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:

//IsTrade = True;[/PHP]

2. Change blank line 104 to be

if ( Bid > OrderOpenPrice() - GAP * Point ) IsTrade = true;

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....

 
ralph.ronnquist:
Aşağıdaki dört düzenlemeyi yapmanız yeterli olabilir:

1. satır 102'yi şu şekilde yorumlayın:

//IsTrade = True;[/PHP]

2. Change blank line 104 to be

if ( Bid > OrderOpenPrice() - GAP * Point ) IsTrade = true;

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 start()

{

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

Neden: