| / | Форум |
|
Bone
24.08.2006 11:24
Когда тестирую советника, то получается что из всей истории
он торгует только в течении каких-то двух дней и совершает за
это время 5 сделок. Хотя по идее он должен ежедневно делать по
несколько сделок. Может кто-нибудь объяснит в чем дело? //---- input parameters extern int TakeProfit=20; extern int StopLoss=20; extern double Lot = 0.1; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //проверка количества баров if(Bars<100) { Print("bars less than 100"); return(0); } //объявление переменных double MaSlowM15, MaFastM15, result1, result2, result3, ADHigh, ADMin, CurrentAD, PrevAD, MaFastM15Prev, MaSlowM15Prev; int cnt=0, ticket, total, i; //значения переменных MaFastM15=iMA(NULL,PERIOD_M15,5,0,MODE_SMA,PRICE_CLOSE,0); MaSlowM15=iMA(NULL,PERIOD_M15,21,0,MODE_SMA,PRICE_CLOSE,0); MaFastM15Prev=iMA(NULL,PERIOD_M15,5,0,MODE_SMA,PRICE_CLOSE,1); MaSlowM15Prev=iMA(NULL,PERIOD_M15,21,0,MODE_SMA,PRICE_CLOSE,1); CurrentAD=iAD(NULL, PERIOD_M15, 0); PrevAD=iAD(NULL, PERIOD_M15, 1); // поиск последнего пика if(MaFastM15>MaSlowM15 && MaFastM15Prev<MaSlowM15Prev) { for(i=15;i<=1;i--) { result1=iAD(NULL,PERIOD_M15,i); result2=iAD(NULL,PERIOD_M15,i+1); result3=iAD(NULL,PERIOD_M15,i-1); if (result1>result2 && result1>result3) ADHigh = result1; } // конец поиска total=OrdersTotal(); if(total<1) { // нет ни одного открытого ордера // проверяем на возможность встать в длинную позицию (BUY) if(MaFastM15>MaSlowM15 && CurrentAD>ADHigh && PrevAD<ADHigh) { ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-20*Point, Ask+20*Point, "TestBuy",16384,0,Green); if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()); } else Print("Error opening BUY order : ",GetLastError()); return(0); } } } //+------------------------------------------------------------------+
|
|
Бесплатная Groupware для групп разработчиков Установите систему групповой работы TeamWox и объедините усилия всех разработчиков. Это поможет вашей команде работать быстрее и организованнее. Благодаря TeamWox станет намного проще ставить задачи и контролировать их выполнение. |
33759 |
Rosh
24.08.2006 11:33
|
|
Bone
24.08.2006 11:46
Извиняюсь. Пофиксил. |
|
Vita
24.08.2006 16:22
Скорее всего, вы выложили часть советника, т.к. он не компилируется
без ошибок. Полагаю, в выложенном варианте эти две строчки кода: { for(i=15;i<=1;i--)для начала должны выглядеть вот так: for(i=15;i>=1;i--)Иначе ваш цикл ни разу не выполнится. Будьте внимательнее и успехов! |
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий