Biri bana bir EA'ya ince ayar yapmama yardım edebilir mi lütfen
daha iyisini yapabilir - tüm gördüğüm yanlış yerlerde alıp sattığını
Stratejinizi açıklamak ister misiniz? İnce ayar yapmadan önce belirtilen stratejiye göre kodlanıp kodlanmadığını kontrol etmemiz gerekiyor.
Kodlar doğruysa ve EA'dan zayıf alım satımlar alıyorsak, o zaman strateji hatalı mı? Strateji, manuel ticaretten iyi çalışıyor mu?
Stratejinizi açıklamak ister misiniz? İnce ayar yapmadan önce belirtilen stratejiye göre kodlanıp kodlanmadığını kontrol etmemiz gerekiyor.
Kodlar doğruysa ve EA'dan zayıf alım satımlar alıyorsak, o zaman strateji hatalı mı? Strateji, manuel ticaretten iyi çalışıyor mu?
geri döndüğün için teşekkürler
strateji şudur - yalnızca ema kesiştiğinde satın almalı veya satmalıdır. iyi çalışan bir ayar var ve sadece haçlarda alıp satarsa kar eder
olduğu gibi bağladım ama 2 ema'nın çaprazında satın almıyor
açık siparişi kapatmalı ve kısa ema uzun ema'yı geçtiğinde ve tam tersi şekilde satın almalıdır. Bu aşamada sadece bunu yapmasını istiyorum.
sonra 2. aşamayı yapabiliriz. bu aşamada para yönetimi yok. programlamada yeniyim ama daha fazlasını öğrenmek istiyorum
bana yardım edebilir misin
olduğu gibi, işi eur/usd 15 ve 1h tf'de yapıyor - ama yeterli değil
geri döndüğün için teşekkürler
strateji şudur - yalnızca ema kesiştiğinde satın almalı veya satmalıdır. iyi çalışan bir ayar var ve sadece haçlarda alıp satarsa kar eder
olduğu gibi bağladım ama 2 ema'nın çaprazında satın almıyor
açık siparişi kapatmalı ve kısa ema uzun ema'yı geçtiğinde ve tam tersi şekilde satın almalıdır. Bu aşamada sadece bunu yapmasını istiyorum.
sonra 2. aşamayı yapabiliriz. bu aşamada para yönetimi yok. programlamada yeniyim ama daha fazlasını öğrenmek istiyorum
bana yardım edebilir misin
olduğu gibi eur/usd 15 ve 1h tf'de işi yapıyor - ama yeterli değil
ben öyle şüpheleniyorum; EMA çaprazları için kodunuz yanlış
Ema=iMA(NULL,0,KısaEma,UzunEma,MODE_EMA,PRICE_CLOSE,0);
longema ve shortema için her biri iki iMA'ya ihtiyacınız var
SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
SEMA2=iMA(NULL,0,KısaEma,0,MODE_EMA,PRICE_CLOSE,2);
LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
ve çapraz kontrolü yapmak için
(SEMA1>LEMA1 && SEMA2<LEMA2) satın alma siparişi gönderirse
ve satmak için
eğer (SEMA1<LEMA1 && SEMA2>LEMA2) satış emri gönderirse
ben öyle şüpheleniyorum; EMA çaprazları için kodunuz yanlış
Ema=iMA(NULL,0,KısaEma,UzunEma,MODE_EMA,PRICE_CLOSE,0);
longema ve shortema için her biri iki iMA'ya ihtiyacınız var
SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
SEMA2=iMA(NULL,0,KısaEma,0,MODE_EMA,PRICE_CLOSE,2);
LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
ve çapraz kontrolü yapmak için
(SEMA1>LEMA1 && SEMA2<LEMA2) satın alma siparişi gönderirse
ve satmak için
eğer (SEMA1<LEMA1 && SEMA2>LEMA2) satış emri gönderirse
tamam yani
SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
SEMA2=iMA(NULL,0,KısaEma,0,MODE_EMA,PRICE_CLOSE,2);
LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
"Açık sipariş koşullarını kontrol et - "hareketli ortalama al" altına yerleştirilmelidir
ve "
(SEMA1>LEMA1 && SEMA2<LEMA2) satın alma siparişi gönderirse " nerede ?
ayrıca LEMA1 VE LEMA2'yi en üstte tanımlamalıyım
bu konuda henüz yeni
skype'ım delcor59, eğer benimle skype yapmak istersen
Yardımlarınız için teşekkürler
tamam yani
SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
SEMA2=iMA(NULL,0,KısaEma,0,MODE_EMA,PRICE_CLOSE,2);
LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
"Açık sipariş koşullarını kontrol et - "hareketli ortalama al" altına yerleştirilmelidir
ve "
(SEMA1>LEMA1 && SEMA2<LEMA2) satın alma siparişi gönderirse" nerede ?
ayrıca LEMA1 VE LEMA2'yi en üstte tanımlamalıyım
bu konuda henüz yeni
skype'ım delcor59, eğer benimle skype yapmak istersen
Yardımlarınız için teşekkürler
kendi kodlarını değiştirmek gibi bir şey ....
geçersiz CheckForOpen()
{
çift Ema;
int res;
//---- sadece yeni çubuğun ilk tikleriyle işlem yap
if(Volume[0]>1) dönüş;
//---- Hareketli Ortalamayı al
Ema=iMA(NULL,0,KısaEma,UzunEma,MODE_EMA,PRICE_CLOSE,0);
double SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
double LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
double SEMA2=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,2);
double LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
//---- satış koşulları
// if(Aç[1]>Ema && Kapat[1]<Ema)
eğer (SEMA1<LEMA1 && SEMA2>LEMA2)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Kırmızı);
dönüş;
}
//---- satın alma koşulları
// if(Aç[1]<Ema && Kapat[1]>Ema)
eğer (SEMA1>LEMA1 && SEMA2<LEMA2)
{
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Mavi);
dönüş;
}
//----
}
geçersiz CheckForClose()
{
çift Ema;
//---- sadece yeni çubuğun ilk tikleriyle işlem yap
if(Volume[0]>1) dönüş;
//---- Hareketli Ortalamayı al
Ema=iMA(NULL,0,KısaEma,UzunEma,MODE_EMA,PRICE_CLOSE,0);
double SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
double LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
double SEMA2=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,2);
double LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) devam ediyor;
//---- sipariş tipini kontrol et
if(OrderType()==OP_BUY)
{
// if(Aç[1]>Ema && Kapat[1]<Ema)
if (SEMA1<LEMA1 && SEMA2>LEMA2) OrderClose(OrderTicket(),OrderLots(),Bid,3,Beyaz);
kırmak;
}
if(OrderType()==OP_SEL)
{
// if(Aç[1]<Ema && Kapat[1]>Ema)
if (SEMA1>LEMA1 && SEMA2<LEMA2) OrderClose(OrderTicket(),OrderLots(),Ask,3,Beyaz);
kırmak;
}
}
//----
}
kendi kodlarını değiştirmek gibi bir şey ....
geçersiz CheckForOpen()
{
çift Ema;
int res;
//---- sadece yeni çubuğun ilk tikleriyle işlem yap
if(Volume[0]>1) dönüş;
//---- Hareketli Ortalamayı al
Ema=iMA(NULL,0,KısaEma,UzunEma,MODE_EMA,PRICE_CLOSE,0);
double SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
double LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
double SEMA2=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,2);
double LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
//---- satış koşulları
// if(Aç[1]>Ema && Kapat[1]<Ema)
eğer (SEMA1<LEMA1 && SEMA2>LEMA2)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Kırmızı);
dönüş;
}
//---- satın alma koşulları
// if(Aç[1]<Ema && Kapat[1]>Ema)
eğer (SEMA1>LEMA1 && SEMA2<LEMA2)
{
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Mavi);
dönüş;
}
//----
}
geçersiz CheckForClose()
{
çift Ema;
//---- sadece yeni çubuğun ilk tikleriyle işlem yap
if(Volume[0]>1) dönüş;
//---- Hareketli Ortalamayı al
Ema=iMA(NULL,0,KısaEma,UzunEma,MODE_EMA,PRICE_CLOSE,0);
double SEMA1=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
double LEMA1=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,1);
double SEMA2=iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,2);
double LEMA2=iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,2);
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış) ara;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) devam ediyor;
//---- sipariş tipini kontrol et
if(OrderType()==OP_BUY)
{
// if(Aç[1]>Ema && Kapat[1]<Ema)
if (SEMA1<LEMA1 && SEMA2>LEMA2) OrderClose(OrderTicket(),OrderLots(),Bid,3,Beyaz);
kırmak;
}
if(OrderType()==OP_SEL)
{
// if(Aç[1]<Ema && Kapat[1]>Ema)
if (SEMA1>LEMA1 && SEMA2<LEMA2) OrderClose(OrderTicket(),OrderLots(),Ask,3,Beyaz);
kırmak;
}
}
//----
}
tekrar teşekkürler
bazışeyler doğru değil. Ea'yı tekrar test ettiğimde sadece alımları gösteriyor ve satış yok
tekrar teşekkürler
bazışeyler doğru değil. Ea'yı tekrar test ettiğimde sadece alımları gösteriyor ve satış yok
İlk önce hangi emrin verildiğine bağlı olarak, yani al veya sat, cross başladığında bir emir başlattığınızı ve zıt cross olduğunda emri kapattığınızı fark ettiniz; yr start() içinde, piyasa emrinin varlığını kontrol ettiğinizde, emir türlerinden birinin asla tetiklenmemesini önleyeceksiniz, yani al ile başladığınızda, her zaman satın alınacaktır; bir satış emriyle başladığınızda, her zaman bir satış emri olacaktır; bu kontrol koşulunu kaldır
İlk önce hangi emrin verildiğine bağlı olarak, yani al veya sat, cross başladığında bir emir başlattığınızı ve zıt cross olduğunda emri kapattığınızı fark ettiniz; yr start() içinde, piyasa emrinin varlığını kontrol ettiğinizde, emir türlerinden birinin asla tetiklenmemesini önleyeceksiniz, yani al ile başladığınızda, her zaman satın alınacaktır; bir satış emriyle başladığınızda, her zaman bir satış emri olacaktır; bu kontrol koşulunu kaldır
EA'nın altındaki kontrol koşulundan mı bahsediyorsunuz?
//+------------------------------------------- -------------------+//| Başlatma işlevi |
//+------------------------------------------- -------------------+
geçersiz başlangıç()
{
//---- geçmişi ve ticareti kontrol et
if(Bars<100 || IsTradeAllowed()==yanlış) dönüş;
//---- açık siparişleri mevcut sembole göre hesapla
if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
başka CheckForClose();
//----
}
çünkü ayrıca var
geçersiz CheckForOpen()
geçersiz CheckForClose()
EA'nın altındaki kontrol koşulundan mı bahsediyorsunuz?
//+------------------------------------------- -------------------+//| Başlatma işlevi |
//+------------------------------------------- -------------------+
geçersiz başlangıç()
{
//---- geçmişi ve ticareti kontrol et
if(Bars<100 || IsTradeAllowed()==yanlış) dönüş;
//---- açık siparişleri mevcut sembole göre hesapla
if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
başka CheckForClose();
//----
}
çünkü ayrıca var
geçersiz CheckForOpen()
geçersiz CheckForClose()
söyle bana, bu EA çalıştığında ne olduğunu adım adım göstermek için EA programlamasında bir test sistemi var mı?
EA'nın altındaki kontrol koşulundan mı bahsediyorsunuz?
//+------------------------------------------- -------------------+//| Başlatma işlevi |
//+------------------------------------------- -------------------+
geçersiz başlangıç()
{
//---- geçmişi ve ticareti kontrol et
if(Bars<100 || IsTradeAllowed()==yanlış) dönüş;
//---- açık siparişleri mevcut sembole göre hesapla
if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
başka CheckForClose();
//----
}
çünkü ayrıca var
geçersiz CheckForOpen()
geçersiz CheckForClose()
if(Bars<100 || IsTradeAllowed()==yanlış) dönüş;
//---- açık siparişleri mevcut sembole göre hesapla
CheckForOpen();
CheckForClose();
//----
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Biri bana bir EA'ya ince ayar yapmama yardım edebilir mi lütfen
daha iyisini yapabilir - tüm gördüğüm yanlış yerlerde alıp sattığını