Temel sorular... - sayfa 9

 
Zen_Leow:
matrixebiz, mum kapanmadan önce aynı mumda alım satımın açılıp kapanma olasılığını düşündünüz mü? muhtemelen geçmiş listesini de kontrol etmelisiniz.

Yazdığım bu küçük işlevi her zaman tüm EA'larıma taşıdım, belki siz de yararlı bulabilirsiniz.

bool DecideToOpenTrade()

{

int total = OrdersTotal();

if (total > 0)

{

for(int cnt=0;cnt<total;cnt++)

{

if(OrderSelect(cnt,SELECT_BY_POS))

{

if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM)

{

return (false);

}

}

}

}

// in case trades has already opened and closed within the candle

int histotal = OrdersHistoryTotal();

if (histotal > 0)

{

for(cnt=0;cnt<histotal;cnt++)

{

if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY))

{

if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM)

{

if (Time[0] <= OrderOpenTime()) // don't open a new position if we're still on the same candle

{

return (false);

}

}

}

}

}

return (true);

}

int start()

{

// some time check codes first.. blah blah

// ...

// ...

// ...

// check signals

if (Should_Buy())

{

if (DecideToOpenTrade())

{

//... trade opening codes here

}

}

if (Should_Sell())

{

if (DecideToOpenTrade())

{

//... trade opening codes here

}

}

}

not: bu işlev, EA_MAGIC_NUM için benzersiz bir değer belirlediğinizi varsayar. Bu şekilde çek, diğer EA'lar tarafından açılan işlemlere bakmaz.

Should_Buy() ve Should_Sell(), bir alım veya satım sinyalinin oluşup oluşmadığını belirlemek için tüm EA'larımda oluşturduğum işlevlerdir.

Bu yardımcı olur umarım. Daha fazla açıklamaya ihtiyacınız olursa bana PM atın.

Saygılarımızla,

Zen

teşekkür ederim Sanırım bu bana iyi gelecek EA'm çok para birimi ticareti yapan bir EA olduğu için muhtemelen birkaç değişiklik yapmam gerekiyor, bu yüzden EA'nın hangi para birimi çiftiyle işlem yaptığını bilmeden belirli bir para birimini kontrol edemedim, bu nedenle kodun nedeni budur. OrderSymbol()'a sahip olduğunuz şey yerine belirli bir OrderComment() aramak için değiştirmelisiniz. Şu anda alım satımların zaten var olup olmadığını kontrol etmek için aşağıdaki kodu kullanıyordum, ancak alım satımların aynı çubukta zaten kapatılıp kapatılmadığını kontrol etmekte sorun yaşıyordum.

for(int i=toplam siparişler-1;i>=0;i--)

{

OrderSelect(i, SELECT_BY_POS);

if (OrderComment() == EA_Name + MagicNumber) GoOrders = false; }

if (GoOrders){siparişler();}

 

sinyal başına 1 işlem

Merhaba yardımcı olabilecek herkes

Kodlamada çok yeniyim ve üzerinde çalıştığım bir ürünle ilgili bir sorunum var Bu ürünün işlem yapmasını ve ardından başka bir işleme girmeden önce başka bir sinyal beklemesini çok istiyorum

şu anda bir işlem yapıyor ve bu işlem kapanır kapanmaz bir sonraki sinyali beklemeden başka bir işleme yeniden giriyor şimdi tekrar girmeden önce bir sonraki sinyali beklemek için kullandığım kodu bilen var mı bilmek istiyorum

şimdiden herhangi bir yardım için teşekkürler

 

Lütfen bu hatayı temizlememe yardım edin

Son zamanlarda bu uzman üzerinde çalışıyorum.Ama yine de bu hatayı düzeltemiyorum, bu yüzden gerçekten buradaki herhangi birinin, durum ters yönde olduğunda bu uzmanın bir siparişi kapatmasına yardımcı olabileceğini umuyorum.Lütfen...

hata aşağıdadır;

2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose işlevi için bilinmeyen bilet 197

2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose hatası 4108

şimdiden teşekkürler.

int başlangıç()

{

if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0) <iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)

)

{

OrderSend(Symbol( ),OP_SEL, Lot,Bid, 0,Bid+StopLoss* Point,Bid- TakeProfit* Point,"", SystemMagicNumbe r,0,Red);

dönüş(0);

}

if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)

)

{

OrderSend(Symbol( ),OP_BUY, Lots,Ask, 0,Ask-StopLoss* Point,Ask+ TakeProfit* Point,"", SystemMagicNumbe r,0,Blue) ;

dönüş(0);

}

if (OrderType() ==OP_SEL)

{

if (iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0))

{

OrderClose(SystemMa gicNumber, Lots,OrderCloseP pirinç(),0) ;

dönüş(0);

}

}

if (OrderType() ==OP_BUY)

{

if (iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)<iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0))

{

OrderClose(SystemMa gicNumber, Lots,OrderCloseP pirinç(),0) ;

dönüş(0);

}

}

 

Sonlu çizgi nesnesi nasıl oluşturulur

Sonsuz olan trendline_object oluşturmak mümkündür. Fakat bir noktadan diğerine sonlu bir çizgiyi nasıl çizebilirim? Herhangi bir cevap için teşekkür ederiz.

 
MetaMaster:
Sonsuz olan trendline_object oluşturmak mümkündür. Fakat bir noktadan diğerine sonlu bir çizgiyi nasıl çizebilirim? Herhangi bir cevap için teşekkür ederiz.

OBJPROP_RAY'i false olarak ayarla

 

EA, sinyalden sonra her tikte sipariş gönderir. YARDIM.

Şu anda EA yapmak için çalışıyorum.

EA'nın, görünen her sinyalde yalnızca bir sipariş göndermek istediğimi anlamasını nasıl sağlarım.

mantık

sinyal vermeden önce sakin kalır,

sinyal göründükten hemen sonra, bir kez sipariş gönderir.

ve başka bir sinyal bekleyin.

problem şu

Bu Ea, önceki siparişin tasfiye edilip edilmediğine bakılmaksızın sipariş gönderebilmelidir.

bu yüzden, yalnızca önceki sipariş kapandıktan sonra sipariş göndermek için kodlayamıyorum.

Teşekkür ederim.

 

ea base on göstergesi için yardım

-------------------------------------------------- ------------------------------

Sayın Baylar ve Bayanlar

göstergem var(3ma cross with signal) onu ea olarak değiştirmem gerekiyor, ind init()'i uzman init()'e ve ind start()'ı uzman start()'a kopyalayabilir miyim ve sonra ok verdiğinde sat ve satın al işlevini koyabilir miyim? ben sinyal??

yapıyorum ama işe yaramıyor

Dosyalar:
 

kodlama sorunu yardım

Merhaba

Sabit aralıklarla bir dizi bekleyen siparişi açan çok basit bir EA yazmaya çalışıyorum. Kullanımda emirleri açar ama sonra onları durmadan açmaya devam eder. Emirlerin yalnızca bir kez açılmasını ve ayrıca bir siparişin canlı hale gelmesi ve TP veya SL'ye ulaşması durumunda orijinal listeden yeni bir bekleyen emir ile değiştirilmesini nasıl kodlayabilirim?

Sunulan herhangi bir yardım için çok teşekkürler,

Dan

 

Sihirli sayı başına bir ticaret?

Manuel alım satım kararlarına dayalı olarak bir alım satımı otomatik olarak açacak bir EA yazıyorum. Örneğin, grafiğe bakacağım ve emrin hangi fiyattan açılmasını istediğimi, dur kalkın ne olduğunu vb. belirleyeceğim... Daha sonra EA ayarlayacağım ve fiyata ulaşıldığında açılacaktır. Ticaret.

EA'nın sihirli sayı başına yalnızca bir işlem açması için bunu yapmam gerekiyor. Sihirli numarayı manuel olarak ayarlayacağım ve her numara benzersiz olacak. Bu şekilde, ticaret açılır ve ardından durdurulursa, ticaret fiyatına tekrar ulaşılırsa EA başka bir ticaret açmaya çalışmayacaktır.

Bunu başarmanın en iyisi hakkında herhangi bir fikriniz var mı? Bazı kod örnekleri de yardımcı olabilir

 

...

jerzzhere:
Manuel alım satım kararlarına dayalı olarak bir alım satımı otomatik olarak açacak bir EA'yı yazıyorum. Örneğin, grafiğe bakacağım ve emrin hangi fiyattan açılmasını istediğimi, dur kalkın ne olduğunu vb. belirleyeceğim... Daha sonra EA ayarlayacağım ve fiyata ulaşıldığında açılacaktır. Ticaret.

EA'nın sihirli sayı başına yalnızca bir ticaret açması için bunu yapmam gerekiyor. Sihirli numarayı manuel olarak ayarlayacağım ve her numara benzersiz olacak. Bu şekilde, ticaret açılır ve ardından durdurulursa, ticaret fiyatına tekrar ulaşılırsa EA başka bir ticaret açmaya çalışmayacaktır.

Bunu başarmanın en iyisi hakkında herhangi bir fikriniz var mı? Bazı kod örnekleri de yardımcı olabilir

Bu forumda sihirli bir sayı çözümü olan bir adım vardı... ne yazık ki davidke & Walander yenilikçi fikirlerimden nefret etti ve tahtanın her yerinde kokuyu artırdı...sonuç olarak adım adım silindi...