Ema Çapraz! - sayfa 4

 

Ema Çapraz Sürüm?

SpecII:
Merhaba,

EMACross D1 TF'den ileriye dönük testim

Şerefe

merhaba SpecII,

Bizi paylaştığınız için çok teşekkür ederiz!

Kullandığınız EMA_CROSS sürümü nedir?

 

Çoklu çiftler!

SpecII:
Merhaba Codersguru

SL olmayan sürümü kullanıyorum ama kodu birden fazla çift için değiştirdim ve çift lot hehe için hata yaptım.

Daha sonra çift lot için hatayı düzelteceğim.

Şerefe

Tekrar teşekkürler ! Birden çok çift için kodunuzu görebilir miyim?

 
codersguru:
Tekrar teşekkürler ! Birden çok çift için kodunuzu görebilir miyim?

Merhaba, kodu gönderiyorum.Doğru mu?

teşekkürler

//+------------------------------------------------------------------+

//| EMA_CROSS.mq4 |

//| Coders Guru |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//| TODO: Add Money Management routine |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

//---- input parameters

extern double TakeProfit=130;

extern double Lots=1;

extern double TrailingStop=20;

extern int ShortEma = 10;

extern int LongEma = 80;

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| expert deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

int Crossed (double line1 , double line2)

{

static int last_direction = 0;

static int current_direction = 0;

//Don't work in the first load, wait for the first cross!

static bool first_time = true;

if(first_time == true)

{

first_time = false;

return (0);

}

if(line1>line2)current_direction = 1; //up

if(line1<line2)current_direction = 2; //down

if(current_direction != last_direction) //changed

{

last_direction = current_direction;

return (last_direction);

}

else

{

return (0); //not changed

}

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

int OrdersPerSymbol=0;

//----

int cnt, ticket;

double SEma, LEma;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

if(TakeProfit<10)

{

Print("TakeProfit less than 10");

return(0); // check TakeProfit

}

OrdersPerSymbol=0;

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol() )

{

OrdersPerSymbol++;

}

}

SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);

LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);

static int isCrossed = 0;

isCrossed = Crossed (LEma,SEma);

// total = OrdersTotal();

if(OrdersPerSymbol < 1)

{

if(isCrossed == 1)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

if(isCrossed == 2)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

//OrderPrint();

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

/* REMOVED - Trailling stop only close

if(isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

*/

// check for trailing stop

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

else // go to short position

{

// should it be closed?

/* REMOVED - Trailling stop only close

if(isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

*/

// check for trailing stop

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+
 
codersguru:
merhaba SpecII,

Bizi paylaştığınız için çok teşekkür ederiz!

Kullandığınız EMA_CROSS sürümü nedir?

Merhaba Codersguru

SL olmayan sürüm kullanıyorum ama kodu birden fazla çift için değiştirdim ve çift lot hehe için hata yaptım.

Daha sonra çift lot için hatayı düzelteceğim.

Şerefe

 

Ters

Bana ters gibi görünüyor.

Kod, uzun EMA kısa EMA'dan daha büyük olduğunda satın alınacak şekilde ayarlanmıştır.

ve uzun EMA kısa EMA'nın altına düştüğünde satmak.

Sanırım bu yüzden başarılı - başka bir yerde tam tersini yapmak öğretildiği gibi.

Ayrıca EA'nın ilk sürümünde birden fazla işlem alıyorum, yine de ikinci sürümü denemem gerekiyor. Bu yanlış geçmiş verilerinden mi kaynaklanıyor?

Bu gece test edeceğim.

teşekkürler

 

böyle

yani Sema Lema'nın altına indiğinde satın alır

ve Sema Lema'nın üzerine çıktığında satar

Yoksa yine kafam mı karıştı?

 

ea eklediğimde

Bir grafiği bir tabloya eklediğimde, bir 'X' alıyorum - gülen yüz yok - her biri veya üzerimde.

işe yaradı - oyun uzmanları düğmesine basmak zorunda kaldı.

 

Merhaba,

Bu EA'yı bir hesap gösterimi ile test etme ruhum var. İlk izlenimler çok iyi. Şu an için 4 açık diyagrama rağmen sadece bir çift açılıyor. Ancak, İşlemlerin her açılışında olumlu yöndedir ve dinlenir. Dünden beri seni iliştiriyorum.

 
BrunoFX:
Merhaba, bu EA'yı bir hesap gösterimi ile test etme ruhum var. İlk izlenimler çok iyi. Şu an için 4 açık diyagrama rağmen sadece bir çift açılıyor. Ancak, İşlemlerin her açılışında olumlu yöndedir ve dinlenir. Dünden beri seni iliştiriyorum.

Sihirli sayıyı kullanmak için bu EA'yı değiştirdim. Bu, aynı anda çoklu çiftler üzerinde ticaret sağlayacaktır. Her çift için farklı olması için maigc parametresini değiştirin.

Dosyalar:
 

Merhaba Kalenzo,

Bu değişiklik için teşekkür ederim, her zaman hızlı ve etkili, tezahürat