[Архив!] Напишу советника бесплатно - страница 33

 
доброго времени! помогите! на МТ4 в тестере эксперт на паре GBPCHF на периодах М1,М15,М30 показывает результаты.
а на демо счете вооще ни как себя не проявляет во вложенгии посмотрите. зарание благодарен с уважением Егор! lenok_lenin@inbox.ru
Файлы:
ugvymodb.txt  4 kb
 
alfasolo писал(а) >>
как я могу с вами связаться

Я не пишу на заказ
 
народ помогите не могу найти ни одного нормального советника перепробовал очень много! все показывают убыток как я не подгонял их тестере! если есть нормальный скинте эл я написал. зарание благодарен
 
egor78 >>:
народ помогите не могу найти ни одного нормального советника перепробовал очень много! все показывают убыток как я не подгонял их тестере! если есть нормальный скинте эл я написал. зарание благодарен
Да зачем тебе нормальный советник и вся эта головная боль ? Лучше сразу проси печатный станок.
 

Помогите запустить советника. Сократил до минимума. Циклит не правильно и выдает ошибку 130.

extern int period_EMA = 233,

period_SMA = 233,

stoploss = 200,

Magic = 55;

extern double Lot = 0.01;

extern string TimeEnd = "22:00"; //граничное время для Хая или Лоу

extern string TimeSetOrders = "00:30"; // Время установки ордеров

extern string TimeDelOrders = "13:00"; // Время удаления ордеров

extern int LevelWLoss = 1; // Уровень безубытка

extern int LevelProfit = 40; // Уровень профита

extern bool AllSymbols = True; // Следить за позициями всех символов

extern int Ticket = -1; // Идентификатор позиций (исправил!!!)

extern bool TSProfitOnly = True; // Тралить только профит

extern int TStop.Buy = 1000; // Размер трала в пунктах для покупок

extern int TStop.Sell = 1000; // Размер трала в пунктах для продаж

extern int TrailingStep = 100; // Шаг трала в пунктах


int HiTime,LoTime;

int time; // на следующем баре обнкляем значения

int currDay, i=0;

void start() {

if (TimeToStr(CurTime(), TIME_MINUTES)==TimeSetOrders) SetLimOrd(); // Время =00.30, то выставляем ордера

if (TimeToStr(CurTime(), TIME_MINUTES)==TimeDelOrders) DelLim(); // Время ==13.00, то удаляем отложки

return (0);

}

//+------------------------------------------------------------------+

//| удаление не сработавших лимитордеров |

//+------------------------------------------------------------------+

void DelLim()

{

for (int i=0;i<OrdersTotal();i++)

{

if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()==2||3)

OrderDelete(OrderTicket());

}

return (0);

}

//+------------------------------------------------------------------+

//| Установка отложенных ордеров |

//+------------------------------------------------------------------+

void SetLimOrd() {

//------- Дневные цены, Фибы и время отрисовки Хай-Лоу--------------+

int shift = iBarShift(NULL,1440,Time[0]) + 1;

double HiPrice = iHigh(NULL,1440,shift); // цена Хая

double LoPrice = iLow (NULL,1440,shift); // цена Лоу

double OpPrice = iOpen (NULL,1440,shift); // цена Открытия

double ClPrice = iClose (NULL,1440,shift); // цена Закрытия

datetime StTime = iTime(NULL,1440,shift);

double Pivot =(HiPrice+LoPrice+ClPrice)/3;

double Range =HiPrice-LoPrice;

double Fibo138 =1.382*Range;

double Fibo162 =1.618*Range;

double Fibo262 =2.618*Range;

double Fibo_138 =(LoPrice-1.382*Range)-Range;

double Fibo_162 =(LoPrice-1.618*Range)-Range;

double Fibo_262 =(LoPrice-1.218*Range)-Range;

// ??

if(TimeDayOfWeek(StTime)==0/*Sunday*/){ //Add fridays high and low

HiPrice = MathMax(HiPrice,iHigh(NULL,1440,shift+1));

LoPrice = MathMin(LoPrice,iLow(NULL,1440,shift+1));

OpPrice = iOpen (NULL,1440,shift+1);

ClPrice = iClose (NULL,1440,shift+1);

Pivot =(HiPrice+LoPrice+ClPrice)/3;

Range =HiPrice-LoPrice;

Fibo138 =1.382*Range;

Fibo162 =1.618*Range;

Fibo262 =2.618*Range;

Fibo_138 =(LoPrice-1.382*Range)-Range;

Fibo_162 =(LoPrice-1.618*Range)-Range;

Fibo_262 =(LoPrice-1.218*Range)-Range;

}

//----------------время хая и лоу-----------------------------------------+

if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}

if (High[0]>HiPrice)HiTime=TimeCurrent();

if (Low[0]<LoPrice)LoTime=TimeCurrent();

Comment("На этом баре:"+"\n Time High Point="+HiTime+"\n Time Low Point="+LoTime);

//-----------------Ценовой диапазон Демарка-------------------------------+

if (currDay!=TimeDay(Time[i])){

if (ClPrice<OpPrice) double x=(HiPrice + LoPrice + ClPrice + LoPrice)/2;

if (ClPrice>OpPrice) x=(HiPrice + LoPrice + ClPrice + HiPrice)/2;

if (ClPrice==OpPrice) x=(HiPrice + LoPrice + ClPrice + ClPrice)/2;

i++;

}

double MaxDay = x - LoPrice;

double MinDay = x - HiPrice;

//----------Скользящие средние---------------------------------------------+

double EMA = iMA(15,0,period_EMA,0,MODE_EMA, PRICE_CLOSE,0);

double SMA = iMA(15,0,period_SMA,0,MODE_SMA,PRICE_CLOSE,0);

double EMA1 = iMA(60,0,period_EMA,0,MODE_EMA, PRICE_CLOSE,0);

double SMA1 = iMA(60,0,period_SMA,0,MODE_SMA,PRICE_CLOSE,0);

//----------Ордера---------------------------------------------------------+

HiPrice=NormalizeDouble(HiPrice,Digits);

LoPrice=NormalizeDouble(LoPrice,Digits);

Pivot=NormalizeDouble(Pivot,Digits);

Fibo138=NormalizeDouble(Fibo138,Digits);

Fibo162=NormalizeDouble(Fibo162,Digits);

Fibo_138=NormalizeDouble(Fibo_138,Digits);

Fibo_162=NormalizeDouble(Fibo_162,Digits);

double poi=MarketInfo(OrderSymbol(), MODE_POINT);

if (HiTime>LoTime){

int ticket1 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,HiPrice,0,HiPrice+stoploss*poi,Pivot,NULL,Magic,0,Red);

int ticket2 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,Fibo138,0,Fibo138+stoploss*poi,HiPrice,NULL,Magic,0,Red);

int ticket3 =OrderSend(Symbol(),OP_SELLLIMIT,Lot,Fibo162,0,Fibo162+stoploss*poi,HiPrice,NULL,Magic,0,Red);

}

if (HiTime<LoTime){

int ticket4=OrderSend(Symbol(),OP_BUYLIMIT,Lot,LoPrice,0,LoPrice-stoploss*poi,Pivot,NULL,Magic,0,Red);

int ticket5=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Fibo_138,0,Fibo_138-stoploss*poi,LoPrice,NULL,Magic,0,Red);

int ticket6=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Fibo_162,0,Fibo_162-stoploss*poi,LoPrice,NULL,Magic,0,Red);

}

if (HiTime>LoTime && ClPrice>Pivot) {

int ticket7=OrderSend(Symbol(),OP_BUYLIMIT,Lot,Pivot,0,Pivot-stoploss*poi,HiPrice,NULL,Magic,0,Red);

}

if (HiTime<LoTime && ClPrice<Pivot) {

int ticket8=OrderSend(Symbol(),OP_SELLLIMIT,Lot,Pivot,0,Pivot+stoploss*poi,LoPrice,NULL,Magic,0,Red);

}

}

 

Привет.

Напишите пожалуйста советник, чтобы тот покупал на пробитии high предыдущей свечи, а продавал на пробитии low предыдущей свечи.

TP и SL 15 пунктов.

 

При работе этого советника на реале очень часто появляется ошибка 146.

Можно ли сделать так, чтобы советник делал несколько попыток открыть ордер, скажем, с паузой полминуты?


 

Добрый вечер уважаемые програмисты!Не могли бы ли Вы написать такой автоматический советник.Советник без стоп лоса и тейк профита.Используется одна скользящая МА и горизонтальные линии(которые можно нанести на график собственноручно)Алгоритм работы советника: К примеру наносим на график 8 горизонтальных линий-1.500;1.540;1.580;1.620;1.660 и тд...Когда МА(5)пересекает линию1.500 снизу вверх открывается Buy(по первому или второму бару);Затем МА(5) пробивает снизу вверх линию1.540 закрывается предыдуший Buy и открывается снова Buy;Затем МА(5) поколебавшись возвращается и пробивает линию1.540 сверху вниз,закрывается предыдущий Buy и открывается Shell ;И так до бесконечности ...С уважением к вам

 
pavedoroga:

МА(5)пересекает линию1.500 снизу вверх открывается Buy(по первому или второму бару);Затем МА(5) пробивает снизу вверх линию1.540 закрывается предыдуший Buy и открывается снова Buy;Затем МА(5) поколебавшись возвращается и пробивает линию1.540 сверху вниз,закрывается предыдущий Buy и открывается Shell .....


.... Г-О-О-О-О-О-О-О-О-Л-Л-Л-Л!!!!!!!!!!!
 
...и так до бесконечности. Вечный кайф... :)