PDA

Zobacz pełną wersję : jak napisać to w meta?



Mopklolo77
11-14-2006 00:51, 00:51
hai, potrzebuję pomocy, aby dokończyć mój EA. próbuję napisać kilka prostych EA. Główną ideą jest śledzenie trendu. mamy cel i stoploss. kiedy rynek przechodzi do punktu stoploss, możemy otworzyć nową pozycję w innym kierunku.

Problem polega na tym, że nie mogę zatrzymać EA, aby otworzyć wiele pozycji. wszystko czego potrzebuję to 1 pozycja. nie jestem dobry po angielsku ...... spróbuj tego EA i plz powiedz mi, co powinienem dodać.

dzięki.
https://www.forex-instant.com/attachments/1529227470.png

//------------------------------------------------ --------
#define skode 353571

extern int profit = 30;
extern int ST = 50;
extern int SL = 75;

podwójne Partie = 0,1;
double MaximumRisk = 0.02;
double DecreaseFactor = 3;
int res;

int hitorder (symbol ciągu)
{
int kupuje = 0, sprzedaje = 0;
//----
for (int i = 0; ilt; OrdersTotal (); i )
{
if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == false) break;
if (OrderSymbol () == Symbol () OrderMagicNumber () == skode)
{
if (OrderType () == OP_BUY) kupuje ;
if (OrderType () == OP_SELL) sprzedaje ;
}
}
if (buysgt; 0) powrót (kupuje);
else return (-sells);
}

void buka ()
{
podwójny rata, trend, teraz, take1, sar;

rata = iMA (NULL, 0,100,6, MODE_SMA, PRICE_MEDIAN, 0);
trend = iMA (NULL, 0,12,5, MODE_SMA, PRICE_MEDIAN, 0);

if (trend lt; rata)
OrderSend (Symbol (), OP_SELL, 0.1, Bid, 3, (Ask (Point * SL)), (Ask- (Point * profit)) ,, skode, 0, Red);
if (trend gt; rata)
OrderSend (Symbol (), OP_BUY, 0.1, Ask, 3, (Bid- (Point * SL)), (Bid (Point * profit)) ,, skode, 0, Blue);

powrót;

}

void tutup ()
{
podwójny rata, trend, teraz, take1, sar;
int jual = 0;
int beli = 0;

trend = iMA (NULL, 0,12,5, MODE_SMA, PRICE_MEDIAN, 0);
rata = iMA (NULL, 0,100,6, MODE_SMA, PRICE_MEDIAN, 0);

for (int i = 0; ilt; OrdersTotal (); i )
{
if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == false) break;
if (OrderMagicNumber ()! = skode || OrderSymbol ()! = Symbol ()) kontynuuj;

if (Volume [0] gt; 1) return;

if (OrderType () == OP_BUY)
{
if ((OrderOpenPrice () - Point * ST) lt; Bid)
OrderSend (Symbol (), OP_SELL, 0.1, Bid, 3, (Ask (Point * SL)), (Ask- (Point * profit)) ,, skode, 0, Red);
}

if (OrderType () == OP_SELL)/short
{
if ((OrderOpenPrice () Point * ST) lt; Ask)
OrderSend (Symbol (), OP_BUY, 0.1, Ask, 3, (Bid- (Point * SL)), (Bid (Point * profit)) ,, skode, 0, żółty);
}
}
}

// ----------------------------------------------- -------------------
//| funkcja startu eksperta |
// ----------------------------------------------- -------------------
int start ()
{
if (Barslt; 100 || IsTradeAllowed () == false) return;
if (hitorder (Symbol ()) == 0) buka ();
else tutup ();
return (0);
}
// ----------------------------------------------- -------------------