ハイ、私は私のEAを完了するために助けが必要です。私はいくつかのシンプルなEAを書こうとしています。主なアイデアはトレンドに従っている。私たちは目標とstoplossを持っています。市場がストップポイントになると、新たなポジションを別の方向に開くことができます。

問題はEAが多くの立場を開くのを止めることができないということです。私が必要とするのは1位です。私は英語ではうまくいきません......このEAを試してみて、何を追加すればいいのか教えてください。

THX。


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

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

ダブルロット= 0.1;
double MaximumRisk = 0.02;
double DecreaseFactor = 3;
int res;

int hitorder(文字列シンボル)
{
int buys = 0、sells = 0;
//----
for(int i = 0; ilt; OrdersTotal(); i )
{
if(OrderSelect(i、SELECT_BY_POS、MODE_TRADES)== false)ブレーク;
if(OrderSymbol()== Symbol()OrderMagicNumber()== skode)
{
if(OrderType()== OP_BUY)は を購入します。
if(OrderType()== OP_SELL)は を売る。
}
}
if(buysgt; 0)return(購入);
そうでなければ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(傾向lt; rata)
OrderSend(Symbol()、OP_SELL、0.1、Bid、3、(Ask (Point * SL))、(Ask-(Point *利益))、skode、0、Red);
if(トレンドgt; rata)
OrderSend(Symbol()、OP_BUY、0.1、Ask、3、(Bid-(Point * SL))、(Bid (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)ブレーク;
if(OrderMagicNumber()!= skode || OrderSymbol()!= Symbol())continue;

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 *利益))、skode、0、Red);
}

if(OrderType()== OP_SELL)//短い
{
if((OrderOpenPrice() Point * ST)lt;質問)
OrderSend(Symbol()、OP_BUY、0.1、Ask、3、(Bid-(Point * SL))、(Bid (Point * profit))、skode、0、Yellow);
}
}
}

// ----------------------------------------------- -------------------
//|エキスパートスタート機能|
// ----------------------------------------------- -------------------
int start()
{
if(Barslt; 100 || IsTradeAllowed()== false)return;
if(hitorder(Symbol())== 0)buka();
そうでなければtutup();
return(0);
}
// ----------------------------------------------- -------------------