Hai, saya memerlukan bantuan untuk menyelesaikan EA saya. Saya telah cuba menulis beberapa EA mudah. Idea utama adalah mengikuti trend. kita mempunyai sasaran dan perhentian. apabila pasaran pergi ke titik stoploss kita boleh membuka kedudukan baru ke arah yang lain.

masalahnya saya tidak boleh berhenti EA untuk membuka banyak kedudukan. semua yang saya perlukan adalah 1 kedudukan. saya tidak baik dalam bahasa inggeris ...... hanya cuba EA ini dan plz beritahu saya apa yang harus saya tambah.

terima kasih.


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

keuntungan luar int = 30;
extern int ST = 50;
extern int SL = 75;

ganda Banyak = 0.1;
double MaximumRisk = 0.02;
double DecreaseFactor = 3;
int res;

int hitorder (simbol rentetan)
{
int beli = 0, menjual = 0;
//----
untuk (int i = 0; ilt; OrdersTotal (); i )
{
jika (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == false) break;
jika (OrderSymbol () == Simbol () OrderMagicNumber () == skode)
{
jika (OrderType () == OP_BUY) membeli ;
jika (OrderType () == OP_SELL) menjual ;
}
}
jika (buysgt; 0) kembali (beli);
lain kembali (-sells);
}

membatalkan buka ()
{
double rata, trend, sekarang, take1, sar;

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

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

kembali;

}

batal tutup ()
{
double rata, trend, sekarang, 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);

untuk (int i = 0; ilt; OrdersTotal (); i )
{
jika (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == false) break;
jika (OrderMagicNumber ()! = skode || OrderSymbol ()! = Simbol ()) terus;

jika (Volum [0] gt; 1) pulangan;

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

jika (OrderType () == OP_SELL)/pendek
{
jika ((OrderOpenPrice () Point * ST) lt; Tanya)
OrderSend (Symbol (), OP_BUY, 0.1, Ask, 3, (Bid- (Point * SL)), (Bid (Point * profit)) ,, skode, 0, Yellow);
}
}
}

// ----------------------------------------------- -------------------
//| fungsi permulaan pakar |
// ----------------------------------------------- -------------------
int start ()
{
jika (Barslt; 100 || IsTradeAllowed () == false) kembali;
jika (hitorder (Symbol ()) == 0) buka ();
lain tutup ();
pulangan (0);
}
// ----------------------------------------------- -------------------