Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
"Робот"- это такое создание, в которое его создатель пичкает всё, что ему (создателю) вздумается и на что он (создатель) горазд. Если Вы считаете, что все остальные участники форума знают, чем понапичкан Ваш "робот", то это не совсем соответствует действительности.
#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;
//--- input parameters
//input double Lots = 0.1; /*Lots*/ // Объем позиции
input int Shift = 10; /*Shift*/ // Величина скачка цены для открытия позиции
input int Limit = 100; /*Limit*/ // Величина убытка в пунктах для закрытия позиции
input int Prof=10;
input int MA_Period=50; // Период Moving Average
int maHandle; // хэндл индикатора Moving Average
double maVal[3]; // статический массив для хранения значений индикатора Moving Average
bool first;
double a,b,Lots;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
maHandle=iMA(NULL,0,MA_Period,2,MODE_SMA,PRICE_CLOSE);
if(maHandle<0)
{
Alert("Ошибка при создании индикаторов - номер ошибки: ",GetLastError(),"!!");
return(-1);
}
first=false;
if(!Sym.Name(_Symbol))
{
Alert("Ошибка инициализации CSymbolInfo, поворите попытку");
return(-1);
}
Print("Инициализация эксперта выполнена");
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
IndicatorRelease(maHandle);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if(CopyBuffer(maHandle,0,0,3,maVal)<0)
{
Alert("Ошибка копирования буферов индикаторов - номер ошибки:",GetLastError());
return;
}
if(!Sym.RefreshRates())
{
return;
}
if(first)
{
a=Sym.Ask();
b=Sym.Bid();
first=false;
return;
}
Lots=AccountInfoDouble(ACCOUNT_FREEMARGIN)*0.66/1000/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE);
Lots=MathMin(999,MathMax(1,Lots));
Lots=NormalizeDouble(Lots,2);
if(Pos.Select(_Symbol))
{
if(Pos.Profit()>2)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2);
}
else
{
if(Pos.PositionType()==POSITION_TYPE_BUY)
{
if((Pos.PriceOpen()-Sym.Ask())/Sym.Point()>Limit)// || Sym.Bid()<maVal[0]-0.0005)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2);
}
}
else if(Pos.PositionType()==POSITION_TYPE_SELL)
{
if((Sym.Bid()-Pos.PriceOpen())/Sym.Point()>Limit)// || Sym.Ask()>maVal[0]+0.0005)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2);
}
}
}
}
else
{
if(b-Sym.Bid()>=Shift*Sym.Point() && maVal[0]>maVal[1] && maVal[1]>maVal[2] && Sym.Bid()<maVal[0])
{
Trade.SetDeviationInPoints(Sym.Spread()*2);
Trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,Lots,Sym.Bid(),0,0,""); //Sym.Bid()+0.0030
// Trade.Sell(Lots,_Symbol,0,0,0,"");
Print(__FUNCTION__,"():Sell");
}
if(Sym.Ask()-a>=Shift*Sym.Point() && maVal[0]<maVal[1] && maVal[1]<maVal[2] && Sym.Ask()>maVal[0])
{
Trade.SetDeviationInPoints(Sym.Spread()*2);
Trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lots,Sym.Ask(),0,0,""); //Sym.Ask()-0.0030
// Trade.Buy(Lots,_Symbol,0,0,0,"");
Print(__FUNCTION__,"():Buy");
}
}
a=Sym.Ask();
b=Sym.Bid();
}
//+------------------------------------------------------------------+
forward666:
Если надо вставить небольшой кусок кода жми на SRC как на рисунке и вставляй код. Если кода много, столько сколько вставил, то прикрепляй файл с кодом.
forward666:
Если надо вставить небольшой кусок кода жми на SRC как на рисунке и вставляй код. Если кода много, столько сколько вставил, то прикрепляй файл с кодом.
Понял!
Так как с кодом ничего не получилось, попробую вечером на своём компе посмотреть. А что такое "Стилизатор" - посмотрите по ссылке.
Спасибо!Если сможете подсказать что-нить,то будет супер!
А про стилизатор сейчас почитаю подробнее