-
علت پوزیشن نگرفتن اکسپرت
درود خدمت استاد احمدی
من این کد رو نوشتم و بعد از کامپایل کردن و خطایی نداشتن
در استراتژی تستر تست کردم ولی پوزیشن نمیگیره ، امکانش هست راهنمایی کنید؟
ممنون میشم
extern int Magic1=1;
extern int Magic2=2;
extern double lot=0.1;
extern int slippage=6;
extern int stoploss=40;
extern int takeprofit=50;
extern bool EnableAlert=true;
//+——————————————————————+
//| Expert initialization function |
//+——————————————————————+
int OnInit()
{
//—
//—
return(INIT_SUCCEEDED);
}
//+——————————————————————+
//| Expert deinitialization function |
//+——————————————————————+
void OnDeinit(const int reason)
{
//—
}
//+——————————————————————+
//| Expert tick function |
//+——————————————————————+
void OnTick()
{
if(Volume[0]<=1)
{
if(Orders()==0)
{
if(candlestatus()==”buy”)
{
Pendbuy();
}
if(candlestatus()==”sell”)
{
Pendsell();
}
}
}
}
//+——————————————————————+
//+Sharte aval=Psition baz darim ya na?
int Orders()
{
int num=0;
for(int i=OrdersTotal()-1;i>=0;i–)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==Magic1 || OrderMagicNumber()==Magic2)
num++;
}
return(num);
}
//+Sharte dovom=noe candle ghabl ra moshakhas mikonad.
string candlestatus()
{
if(Close[1]>=Open[1])
return(“buy”);
else
if(Close[1]<Open[1])
return(“sell”);
return(“NO”);
}
//+Sharte sevom=bakhshe position giri va tarife Alert
void Pendbuy()
{
int ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Ask-stoploss*MathPow(10,-Digits),Ask+takeprofit*MathPow(10,-Digits),”FxNew”,Magic1,0,Blue);
if(EnableAlert==true)
{
if(ticket>0)
Alert(“Buy Signal”);
}
}
void Pendsell()
{
int ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Bid+stoploss*MathPow(10,-Digits),Bid-takeprofit*MathPow(10,-Digits),”FxNew”,Magic2,0,Red);
if(EnableAlert==true)
{
if(ticket>0)
Alert(“Sell Signal”);
}
}
برای پاسخ دادن وارد سایت شوید.