extern double StopLoss =0;
extern double TakeProfit =0;
extern double step =25;
extern int StepMode =0;
extern double proffactor =10;
extern double mult =1.5;
extern double lotsbuy =0.01;
extern double lotssell =0.01;
extern double MaxLotBuy =0.15;
extern double MaxLotSell =0.15;
extern double per_K =200;
extern double per_D =20;
extern double slow =20;
extern double zoneBUY =50;
extern double zoneSELL =50;
extern double Magicbuy =555;
extern double Magicsell =556;
extern string Parameters = "StochasticPerceptron";
extern string Parameters_Stochastic = "Stochastic";
extern string OrderComment = "MartingailExpert_V3";
extern int Kperiod = 5;
extern int Dperiod = 3;
extern int slowing = 3;
extern string Parameters_Perceptron = "Perceptron";
extern int shag = 0;
extern int x1 = 0;
extern int x2 = 0;
extern int x3 = 0;
extern int x4 = 0;
double sl = 0;
double tp = 0;
double openpricebuy,openpricesell,lotsbuy2,lotssell2,lastlotbuy,lastlotsell,tpb,tps,cnt,smbuy,smsell,lotstep,
ticketbuy,ticketsell,maxLot,free,balance,lotsell,lotbuy,dig,sig_buy,sig_sell,ask,bid;
int OrdersTotalMagicbuy(int Magicbuy)
{
int j=0;
int r;
for (r=0;r<OrdersTotal();r++)
{
if(OrderSelect(r,SELECT_BY_POS,MODE_TRADES))
{
if (OrderMagicNumber() == Magicbuy) j++;
}
}
return(j);
}
int OrdersTotalMagicsell(int Magicsell)
{
int d=0;
int n;
for (n=0;n<OrdersTotal();n++)
{
if(OrderSelect(n,SELECT_BY_POS,MODE_TRADES))
{
if (OrderMagicNumber()==Magicsell) d++;
}
}
return(d);
}
int orderclosebuy(int ticketbuy)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy)
{
ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;
double bid = MarketInfo(symbol,MODE_BID);
RefreshRates();
OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta);
}
}
lotsbuy2=lotsbuy;return(0);
}
int orderclosesell(int ticketsell)
{
string symbol = Symbol();
int cnt;
for(cnt = OrdersTotal(); cnt >= 0; cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == symbol && OrderMagicNumber()==Magicsell)
{
ticketsell=OrderTicket();OrderSelect(ticketsell, SELECT_BY_TICKET, MODE_TRADES);lotssell2=OrderLots() ;
double ask = MarketInfo(symbol,MODE_ASK);
RefreshRates();
OrderClose(ticketsell,lotssell2,ask,3, Lime);
}
}
lotssell2=lotssell;return(0);
}
int start()
{
// код доступен только после оплаты
}
double profitbuy=0;double profitsell=0;
string symbol = OrderSymbol();
double spread = MarketInfo(symbol,MODE_SPREAD);
double minLot = MarketInfo(symbol,MODE_MINLOT);
if (minLot==0.01){dig=2;maxLot=MarketInfo(symbol,MODE_MAXLOT);}
if (minLot==0.1){dig=1;maxLot=((AccountBalance()/2)/1000);}
if(OrdersTotalMagicbuy(Magicbuy)>0)
{
double smbuy;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicbuy)
{
ticketbuy = OrderTicket();OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES);
smbuy = smbuy+OrderLots();openpricebuy = OrderOpenPrice();lastlotbuy = OrderLots();
}
}
{
if (smbuy+(NormalizeDouble((lastlotbuy*mult),dig))<maxLot)
{
if(StepMode==0)
{
if(Ask<=openpricebuy-step*Point)
{
lotsbuy2=lastlotbuy*mult;
if( StopLoss == 0 ) sl = 0 ; else sl = Ask - (StopLoss * Point);
if( TakeProfit == 0 ) tp = 0 ; else tp = Ask + (TakeProfit * Point);
if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,sl,tp,OrderComment,Magicbuy,0,Blue);
}
}
if(StepMode==1)
{
if(Ask<=openpricebuy-(step+OrdersTotalMagicbuy(Magicbuy)+OrdersTotalMagicbuy(Magicbuy)-2)*Point)
{
lotsbuy2=lastlotbuy*mult;
if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
if( StopLoss == 0 ) sl = 0 ; else sl = Ask - (StopLoss * Point);
if( TakeProfit == 0 ) tp = 0 ; else tp = Ask + (TakeProfit * Point);
if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,sl,tp,OrderComment,Magicbuy,0,Blue);
}
}
}
}
}
if(OrdersTotalMagicsell(Magicsell)>0)
{
double smsell;
for (cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicsell)
{
ticketsell = OrderTicket();OrderSelect(ticketsell,SПоказано первые 50% кода (символов: 8266)
Введите ваш email и нажмите кнопку, чтобы перейти к оплате.