dim3535dim Опубликовано 3 марта, 2009 Жалоба Поделиться Опубликовано 3 марта, 2009 Здравствуйте еще раз, я кое что доработал, но эксперт по прежнему не открывает позиций. Огромнейшая просьба подскажите почемуsovet_i_indikator.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
idolzhenko Опубликовано 3 марта, 2009 Жалоба Поделиться Опубликовано 3 марта, 2009 Здравствуйте еще раз, я кое что доработал, но эксперт по прежнему не открывает позиций. Огромнейшая просьба подскажите почему 1. Неверный объем2. Забыли slippage в OrderSend3. Почитайте еще раз про Bid и Ask, для расчетов стопов и тейков. В Тестере есть Журнал, в Журнале пишутся логи, в логах указан код ошибки, по которому не открывается ордер. Коды ошибок (расписаны в выражениях) есть в руководстве. (Это так, к сведению) Теперь все открывает. Ссылка на комментарий Поделиться на другие сайты Поделиться
dim3535dim Опубликовано 4 марта, 2009 Жалоба Поделиться Опубликовано 4 марта, 2009 Здравствуйте еще раз, я кое что доработал, но эксперт по прежнему не открывает позиций. Огромнейшая просьба подскажите почему 1. Неверный объем2. Забыли slippage в OrderSend3. Почитайте еще раз про Bid и Ask, для расчетов стопов и тейков. В Тестере есть Журнал, в Журнале пишутся логи, в логах указан код ошибки, по которому не открывается ордер. Коды ошибок (расписаны в выражениях) есть в руководстве. (Это так, к сведению) Теперь все открывает. Здравствуйте.попробовал, посмотрел и чет ниче не открывается. Смотрел на М1 и М5 Ссылка на комментарий Поделиться на другие сайты Поделиться
idolzhenko Опубликовано 4 марта, 2009 Жалоба Поделиться Опубликовано 4 марта, 2009 [Здравствуйте.попробовал, посмотрел и чет ниче не открывается. Смотрел на М1 и М5 Какая ошибка в логах? На какой паре тестируйте и какой уровень стоп-лосс стоит? Ссылка на комментарий Поделиться на другие сайты Поделиться
dim3535dim Опубликовано 5 марта, 2009 Жалоба Поделиться Опубликовано 5 марта, 2009 [Здравствуйте.попробовал, посмотрел и чет ниче не открывается. Смотрел на М1 и М5 Какая ошибка в логах? На какой паре тестируйте и какой уровень стоп-лосс стоит? Здравствуйте.Никакой ошибки не пишет. В тестере все нормально, но на графике не открывает сделок. Смотрел в реальном времени на USDCHF и EURUSD. Параметры пробовал по умолчанию и менял поразному, результата нет. Ссылка на комментарий Поделиться на другие сайты Поделиться
pawwwel Опубликовано 6 марта, 2009 Жалоба Поделиться Опубликовано 6 марта, 2009 Добрый день!Пишу эксперта. Есть непонимание. Опишу проблему.Краткий алгоритм: 1. при отсутствии рабочих ордеров дается добро на отложенные buy и sell (OpnB = 1, OpnS = 1).2. if (OpnB>0) выставляется отложенный ордер в buy 3. if (OpnS>0) выставляется отложенный ордер в sellВыставляться должны и тот, и другой. вопрос: ордера в buy и sell выставляются в один проход? Ссылка на комментарий Поделиться на другие сайты Поделиться
idolzhenko Опубликовано 6 марта, 2009 Жалоба Поделиться Опубликовано 6 марта, 2009 Возможно это все уже знают, но я вот только сегодня нашел Renat 07.12.2008 17:24 К сожалению, прямой совместимости с MQL4 уже не будет - слишком многое поменяли. Правда взамен дали много новых возможностей. Вместо сроков скажу - клиентский терминал МТ5 работает, MQL5 (индикаторы, скрипты) в терминале тоже работает, базовая история - М1 (из нее все строится на клиенте, предоставляется доступ к огромным историям), новый движок чартинга и тд. В системе МетаТрейдер 5 очень много сделано для фондового рынка и нет локов. Так как не первый раз выпускаем альфа и бета версии, то отлично знаем, что неминуем поток грязи в виде "фи, облажались, ничего нового не сделали и тд". Поэтому, мы выпустим первые версии, когда будем готовы. Перед выпуском начнем публиковать больше информации, описаний и скриншотов.похожие Так что у кого в тактике есть локи - придется менять тактику. Ссылка на комментарий Поделиться на другие сайты Поделиться
ЛЮТЫЙ Опубликовано 6 марта, 2009 Жалоба Поделиться Опубликовано 6 марта, 2009 Кидайте Вашего советника на почту мой_ник_на _мастерфорекс@yahoo.com, я исправлю Вашего советника. Советника на мыло кинул. Давно уже.Просто хотел узнать ждать мне манной небесной или уже своими извилинами пошевелить))))))))) Ссылка на комментарий Поделиться на другие сайты Поделиться
idolzhenko Опубликовано 6 марта, 2009 Жалоба Поделиться Опубликовано 6 марта, 2009 Кидайте Вашего советника на почту мой_ник_на _мастерфорекс@yahoo.com, я исправлю Вашего советника. Советника на мыло кинул. Давно уже.Просто хотел узнать ждать мне манной небесной или уже своими извилинами пошевелить))))))))) Дак ответил в тот же день. Посмотрите в спам паке, вдруг туда попало Ссылка на комментарий Поделиться на другие сайты Поделиться
ЛЮТЫЙ Опубликовано 6 марта, 2009 Жалоба Поделиться Опубликовано 6 марта, 2009 Дак ответил в тот же день. Посмотрите в спам паке, вдруг туда попало Все понятно, инет у меня работает 24 часа, всю входящую почту проверяю постоянно.Вывод: письмо не дошло))) Если не в нопряг мог бы еще раз заслать. Ссылка на комментарий Поделиться на другие сайты Поделиться
idolzhenko Опубликовано 6 марта, 2009 Жалоба Поделиться Опубликовано 6 марта, 2009 вечером, советник дома Извиняюсь что сюда пишу.Дошло 2-е письмо? А то и в личку не написать - говорит ящик переполнен или закрыт и др. контактов, кроме почты, работоспособность которой под вопросом, больше нет. Не получив никакого ответа, выкладываю советника сюда, а то обвинят в заныкивании оного :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Shealverg Опубликовано 2 апреля, 2009 Жалоба Поделиться Опубликовано 2 апреля, 2009 Нашёл советника, работает от индикаторов фракталов, аллигатора, АО + трейлингОписание:Сигнал на покупку «блюдце»Сигнал возникает, когда гистограмма, расположенная выше нулевой линии, меняет направление с нисходящего на восходящее Столбец «A» должен быть выше столбца «B» и может быть любого цвета. Столбец «B» должен быть красным. Столбец «C» (сигнальный) должен быть зеленым.Сигнальный бар — бар, на котором образовался сигнальный столбец.После образования сигнала выставляем отложенный ордер Buy Stop на 1 пипс выше сигнального бара. Самый последний сигнал на покупку «блюдце» отменяет все предыдущие (не забывайте удалять отложенные ордера после отмены сигнала).Для всех типов сигналов действует правило: покупаем только, если текущий столбец зеленый, и продаем только, если текущий столбец красный.Сигнал на продажу «блюдце» Этот сигнал является зеркальным отражением сигнала «блюдце» на покупку: гистограмма, расположенная ниже нулевой линии, меняет направление с восходящего на нисходящее Столбец «A» должен быть ниже столбца «B» и может быть любого цвета. Столбец «B» должен быть зеленым. Столбец «C» (сигнальный) должен быть красным.После образования сигнала выставляем отложенный ордер Sell Stop на 1 пипс ниже сигнального бара. Самый последний сигнал на продажу «блюдце» отменяет все предыдущие. Т.е. отрабатывает 3-ю волну и С с самого начала, но почему-то перестал работать, скорее всего из-за переходов на разные ТФ.Может кто-нибудь может устранить эту проблему. Хотелось бы ещё кое-что переделать:1. вместо Алигатора иметь FanSimple8-2a,2. иметь возможность перенастройки АО и FanSimple8-2a, 3. иметь возможность работы с котировками - 5 знаков после запятой,4. трейлинг стоп немного другой, а именно: перестановка его по максимумам + 7п. и минимумам, при пробитии предыдущих экстримумов,5. иметь возможность доливки после откатов. А двойной локк можно поставить и в ручную.Сам в программировании тупой как валенок, прошу помощи. Код советника прилагаю.//+------------------------------------------------------------------+//| FT_BillWillams_AO.mq4 |//| FORTRADER.RU |//| http://FORTRADER.RU |//+------------------------------------------------------------------+#property copyright "FORTRADER.RU"#property link "http://FORTRADER.RU" extern string FT1="------Настройки фрактала:----------";extern int CountBarsFractal=5;//количество баров из которых состоит фракталextern string FT2="------Настройки сигнала на вход:----------";extern int indent=1; //количество пунктов для отступа от максимума и минимумаextern string FT3="------Настройки аллигатора:----------";extern int jaw_period=13; // - Период усреднения синей линии (челюсти аллигатора). int jaw_shift=8; // - Смещение синей линии относительно графика цены. extern int teeth_period=8; // - Период усреднения красной линии (зубов аллигатора). int teeth_shift=5; // - Смещение красной линии относительно графика цены. extern int lips_period=5; // - Период усреднения зеленой линии (губ аллигатора). int lips_shift=3; // - Смещение зеленой линии относительно графика цены. int ma_method=0; //- от 0 до 3 метод усреднения. Может быть любым из значений методов скользящего среднего (Moving Average). int applied_price=4; // - от 0 до 6 - Используемая цена. Может быть любой из ценовых констант. extern string FT5="-------Настройки контроля закрытия сделки:----------";extern int CloseDropTeeth=2; //Включение закрытия сделки при косании или пробое челюсти. 0 - отключение 1 - по касанию 2 по закрытию бараextern int CloseReversSignal=2;//Включение закрытия сделки при 1- образовании обратного фрактала 2 - при срабатывании обратного фрактала 0 выключено extern string FT6="-------Настройки сопровождения StopLoss сделки:----------";extern int TrailingGragus=1; //Включение трейлинг стопа по ценовому градусу наклона, если сильный угол то трейлинг по зеленой, если малый угол то трейлинг по краснойextern int smaperugol=5;extern int raznica=5; extern string FT7="-------Настройки StopLoss и TakeProfit ибьема сделки:----------";extern double StopLoss=500;extern double TakeProfit=500;extern double Lots=0.1; extern int shift=1; int fractalnew,vpravovlevo,numsredbar,colish; int signal,signals; double oldopb,opb,ops,oldops, buyprice,sellprice; int buy,sell; int start() { //управление позами ClassicFractalPosManager(); buy=0;sell=0; for(int i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY ){buy=1;} if(OrderType()==OP_SELL ){sell=1;} } //найдем скоьлко смотреть вправо и в лево vpravovlevo=(CountBarsFractal-1)/2; numsredbar=(CountBarsFractal-vpravovlevo); colish=numsredbar-1; /*----------------------------------------ПОКУПКА------------------------------------------*/ //найдем фрактал на покупку if(signal==0 && High[numsredbar]>High[iHighest(NULL,0,MODE_HIGH,colish,numsredbar+1)] && High[numsredbar]>High[iHighest(NULL,0,MODE_HIGH,colish,1)] && RedContol(High[numsredbar],0)==true && buy==0) { signal=signal+1; } double A =iAO(NULL,0,shift+2); double B =iAO(NULL,0,shift+1); double C =iAO(NULL,0,shift); //проверим не заходил ли С меньше нуля if(C<0){signal=0;} //проверим не пора ли размещать покупк if(A>B && B<C && C>0 && B>0 && A>0 && signal==1){signal=signal+1;buyprice=High[shift]+indent*Point;} //проверим не пора ли входить в рынок if(Ask>=buyprice && signal==2 && C>B) { double sl=NormalizeDouble(Ask-StopLoss*Point,4); double tp=NormalizeDouble(Ask+TakeProfit*Point,4); OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl,tp,"FORTRADER.RU",16384,10,Green); signal=0; } /*------------------------------------------ПРОДАЖА----------------------------------------*/ //найдем фрактал на продажу if(signals==0&& Low[numsredbar]<Low[iLowest(NULL,0,MODE_LOW,colish,numsredbar+1)] && Low[numsredbar]<Low[iLowest(NULL,0,MODE_LOW,colish,0)] && RedContol(Low[numsredbar],1)==true && sell==0 ) { signals=signals+1; } //проверим не заходил ли С больше нуля if(C>0 && signals==1){signals=0;} //проверим не пора ли размещать покупк if(A<B && B>C && C<0 && B<0 && A<0 && signals==1){signals=signals+1;sellprice=Low[shift]-indent*Point;} //проверим не пора ли входить на продажу if(Bid<=sellprice && signals==2 && C<B) { sl=NormalizeDouble(Bid+StopLoss*Point,4); tp=NormalizeDouble(Bid-TakeProfit*Point,4); OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl,tp,"FORTRADER.RU",16384,10,Green); signals=0; } return(0); } /********************************Функциии******************************************/ //функция контроля цены фрактала, ниже она пасти или выше bool RedContol(double entryprice,int type) { double teeth=iMA(NULL,0,teeth_period,teeth_shift,ma_method,applied_price,1); if(entryprice>teeth && type==0){return(true);} if(entryprice<teeth && type==1){return(true);} return(false); } int ClassicFractalPosManager(){int i,buy,sell;double jaw=iMA(NULL,0,jaw_period,jaw_shift,ma_method,applied_price,1);double teeth=iMA(NULL,0,teeth_period,teeth_shift,ma_method,applied_price,1);double lips=iMA(NULL,0,lips_period,lips_shift,ma_method,applied_price,1);double lipsl=iMA(NULL,0,lips_period,lips_shift,ma_method,applied_price,2);double sma=iMA(NULL,0,smaperugol,0,MODE_SMA,PRICE_CLOSE,1);double smal=iMA(NULL,0,smaperugol,0,MODE_SMA,PRICE_CLOSE,2); buy=0;sell=0; for( i=0;i<OrdersTotal();i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderType()==OP_BUY ){buy=1;} if(OrderType()==OP_SELL ){sell=1;} } //extern int CloseDropTeeth=2; //Включение закрытия сделки при косании или пробое челюсти. 0 - отключение 1 - по касанию 2 по закрытию бара//extern int CloseReversSignal=2;//Включение закрытия сделки при 1- образовании обратного фрактала 2 - при срабатывании обратного фрактала 0 выключено for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_BUY && ((CloseDropTeeth==1 && Bid<=jaw ) || (CloseDropTeeth==2 && Close[1]<=jaw ))) { OrderClose(OrderTicket(),Lots,Bid,3,Violet); return(0); } } } for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_BUY && ((CloseReversSignal==1 && Low[numsredbar]<Low[iLowest(NULL,0,MODE_LOW,colish,numsredbar+1)] && Low[numsredbar]<Low[iLowest(NULL,0,MODE_LOW,colish,0)] ) ||(CloseReversSignal==2 && sell==1 ))) { OrderClose(OrderTicket(),Lots,Bid,3,Violet); return(0); } } } for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_BUY && TrailingGragus==1 && lips-lipsl>sma-smal && OrderProfit()>0) { if(OrderStopLoss()<lips && MathAbs(Bid-lips)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),lips,OrderTakeProfit(),0,White); return(0); } } } } for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_BUY && TrailingGragus==1 && lips-lipsl<=sma-smal && OrderProfit()>0) { if((OrderStopLoss()<teeth || lips>teeth) && MathAbs(Ask-teeth)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),teeth,OrderTakeProfit(),0,White); return(0); } } } } for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_SELL && ((CloseDropTeeth==1 && Ask>=jaw ) || (CloseDropTeeth==2 && Close[1]>=jaw ))) { OrderClose(OrderTicket(),Lots,Ask,3,Violet); return(0); } } } for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_SELL && ((CloseReversSignal==1 && High[numsredbar]>High[iHighest(NULL,0,MODE_HIGH,colish,numsredbar+1)] && High[numsredbar]>High[iHighest(NULL,0,MODE_HIGH,colish,1)]) || (CloseReversSignal==2 && buy==1 ))) { OrderClose(OrderTicket(),Lots,Ask,3,Violet); return(0); } } } for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_SELL && TrailingGragus==1 && lipsl-lips<smal-sma && OrderProfit()>0) { if(OrderStopLoss()>lips && MathAbs(Ask-lips)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),lips,OrderTakeProfit(),0,White); return(0); } } } } for( i=1; i<=OrdersTotal(); i++) { if (OrderSelect(i-1,SELECT_BY_POS)==true) { if(OrderType()==OP_SELL && TrailingGragus==1 && lipsl-lips>smal-sma && OrderProfit()>0) { if((OrderStopLoss()>teeth || lips<teeth) && MathAbs(Ask-teeth)>12*Point) { OrderModify(OrderTicket(),OrderOpenPrice(),teeth,OrderTakeProfit(),0,White); return(0); } } } } } Ссылка на комментарий Поделиться на другие сайты Поделиться
Shu Опубликовано 2 апреля, 2009 Жалоба Поделиться Опубликовано 2 апреля, 2009 Сам в программировании тупой как валенок, прошу помощи. Код советника прилагаю. Ну, это не страшно! Любой желающий может изучить MQL4 за достаточно невеликий срок. Или же, есть вариант - обратиться к разработчику и попросить исправить. Если же и это не устраивает (нет возможности) - пишите в личку, обсудим! Ссылка на комментарий Поделиться на другие сайты Поделиться
GEORGIJ Опубликовано 3 апреля, 2009 Жалоба Поделиться Опубликовано 3 апреля, 2009 Немного глупый вопрос: народ, скажите, пож, с какого ордера начинается нумерация при выборе ордера в режиме MODE_TRADES - с 0 или 1... Ужо весь мозг сломал :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Shu Опубликовано 4 апреля, 2009 Жалоба Поделиться Опубликовано 4 апреля, 2009 Немного глупый вопрос: народ, скажите, пож, с какого ордера начинается нумерация при выборе ордера в режиме MODE_TRADES - с 0 или 1... Ужо весь мозг сломал :) нумерация начинается с 0. например: for (i = 0; i < OrdersTotal(); i++) { if (OrderSelect(i, SELECT_POS)) { GetMyMoneyNOW(); } } Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения