안녕하세요. EA를 완성하는 데 도움이 필요합니다. 나는 간단한 EA를 썼다. 주요 아이디어는 추세를 따르는 것입니다. 우리는 표적과 stoploss 있습니다. 시장이 stoploss point가되면 다른 방향으로 새로운 포지션을 열 수 있습니다.

문제는 EA가 여러 입장을 열지 못하게하는 것이다. 내가 필요한 건 1 포지션 뿐이야. 나는 영어로 좋지 않다. ...... 그냥 EA를 시험해보고 PLZ에 내가 무엇을 더해야하는지 말해줘.

고마워.


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

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

double Lots = 0.1;
double MaximumRisk = 0.02;
double DecreaseFactor = 3;
int res;

int hitorder (문자열 기호)
{
int = 0, sells = 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) 구매 ;
if (OrderType () == OP_SELL)는 를 판매합니다.
}
}
if (buysgt; 0) return (buy);
그렇지 않으면 return (-sells);
}

void buka ()
{
이중 비율, 추세, 지금, take1, sar;

rata = iMA (NULL, 0,100,6, MODE_SMA, PRICE_MEDIAN, 0);
트렌드 = 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 (추세 gt; rata)
OrderSend (Symbol (), OP_BUY, 0.1, Ask, 3, (Bid- (Point * SL)), (입찰 (Point * 수익)), skode, 0, Blue);

반환;

}

void tutup ()
{
이중 비율, 추세, 지금, take1, sar;
int jual = 0;
int beli = 0;

트렌드 = 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 ()) continue;

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

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

if (OrderType () == OP_SELL)/짧은
{
if ((OrderOpenPrice () Point * ST) <물음)
OrderSend (Symbol (), OP_BUY, 0.1, Ask, 3, (Bid- (Point * SL)), (입찰 (Point * profit)), skode, 0, Yellow);
}
}
}

// ----------------------------------------------- -------------------
//| 전문가 시작 기능 |
// ----------------------------------------------- -------------------
int start ()
{
if (Barslt; 100 || IsTradeAllowed () == false) return;
if (hitorder (Symbol ()) == 0) buka ();
그렇지 않으면 tutup ();
return (0);
}
// ----------------------------------------------- -------------------