Советники: Советник по стратегии "Возврат".

 

Советник по стратегии "Возврат".:

Ночной скальпер. EURUSD H1.

Author: Andrew Kornishkin

 

добавил параметр "недохода" до цели "tt"


//+------------------------------------------------------------------+
//| i`lbeback_2.mq4 |
//| Copyright © 2011, AM2 && Tiburond |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, AM2 && Tiburond"
#property link "http://www.forexsystems.biz"

#define MAGIC 20110406
extern int tt = 50; //ДОБАВИЛ
extern int StopLoss = 1300; //Стоплосс ордера
extern int StartHour = 21; //Час начала торговли(терминальное время)
extern int Distance = 250; //Расстояние от цены для устпновки ордера
extern int Step = 50; //Шаг установки ордеров
extern int Count = 4; //Количество устанавливаемых ордеров
extern int Expiration = 4; //Время истечения ордера
extern double Lots = 1; //Лот
extern bool MM = true; //Отключение манименеджмента
extern double TSP = 5; //Риск
extern bool BU = true; //Отключение вывода позиций в безубыток в течение дня
extern int BUHour = 2; //Час после которго выводим позиции в безубыток

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int b=0,s=0,res;
datetime expiration = TimeCurrent()+3600*Expiration;
double BuyPrice=fND(Open[0]-Distance*Point);
double SellPrice=fND(Open[0]+Distance*Point);
for (int i=OrdersTotal()-1;i>=0;i--)
{
if (OrderSelect(i, SELECT_BY_POS))
{
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=MAGIC) continue;
if (OrderType()==OP_BUYLIMIT) b++;
if (OrderType()==OP_SELLLIMIT) s++;
}
}
if (Hour()>BUHour && Hour()<StartHour && AllProfit()>0) ClosePositions();
if (Hour()>BUHour && DayOfWeek() == 5) ClosePositions();
if (Hour()==StartHour && b<1 && DayOfWeek() != 5)
for(i=1;i<=Count;i++)
{
{
res=OrderSend(Symbol(),OP_BUYLIMIT,fLots(),fND(Ask-(Distance*Point+i*Step*Point)),3,fND(BuyPrice-StopLoss*Point),fND(Open[0]-tt*Point),"",MAGIC,expiration,Blue);
Sleep(3000);
if(res<0)
{
Print("ОШИБКА: ",GetLastError());
} else {
RefreshRates();
}
}
}

if (Hour()==StartHour && s<1 && DayOfWeek() != 5)
for(i=1;i<=Count;i++)
{
{
res=OrderSend(Symbol(),OP_SELLLIMIT,fLots(),fND(Bid+(Distance*Point+i*Step*Point)),3,fND(SellPrice+StopLoss*Point),fND(Open[0]+tt*Point),"",MAGIC,expiration,Red );

 

В 23:00 часа по МСК размещаем по 4 отложенных лимитных ордера Buy Limit и Sell Limit на расстоянии 25-ти пипсов от цены открытия ценового бара с шагом 5 пипсов.

вот тут ты соврал, открываются они от текущей цены, притом бай лимит ордера рассчитываются от Ask

 
Смысл в идее есть. Надо только добавить магик в код.
Причина обращения: