Друзья-товарищи! Это моя попытка №2 создать чудо-юдо, считывающее инфу с ROC AUDUSD и GBPUSD, для торговли по GBPAUD!!:)) Проба пера - примитивно, но очень захотелось попробовать!!! Когда прогоняю на тестере без оптимизации ОН ВИСНЕТ НЕСЛАБО!, однако продолжает давать loaded successfully... а в итоге -ни одной торговой операции. Ну ясно, что я напортачила, но где, подскажите, плз, знающие люди!!!:)) Это код так.наз. советника.БЕрет данные от обычного пользовательского ROC
//+------------------------------------------------------------------+//| Robot_Rocky_Rich |//| JonsonAlla |//| deep_ampik@bk.ru |//+------------------------------------------------------------------+externdouble TakeProfit = 700;
externdouble Sl = 200;
externdouble Lots = 0.01;
//+------------------------------------------------------------------+int start()
{
int cnt, ticket;
double x1= iCustom("AUDUSD",PERIOD_H1,"ROC",12,1,0);
double x2= iCustom("GBPUSD",PERIOD_H1,"ROC",12,1,0);
/**total=OrdersTotal();
if(total<1)//проверка количества ордеров
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("Недостаточно средств = ", AccountFreeMargin());
return(0);
}**/if (x1<x2)
{
ticket=OrderSend("GBPAUD",OP_BUY,Lots,Ask,30,Bid-Sl*Point,Ask+TakeProfit*Point,"-",0,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("открыта позиция BUY : ",OrderOpenPrice());
}
elsePrint("Ошибка при открытии BUY позиции : ",GetLastError());
return(0);
}
if (x1>x2)
{
ticket=OrderSend("GBPAUD",OP_SELL,Lots,Bid,30,Ask+Sl*Point,Bid-TakeProfit*Point,"-",0,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("открыта позиция SELL : ",OrderOpenPrice());
}
elsePrint("Ошибка при открытии SELL позиции : ",GetLastError());
return(0);
}
return(0);
}
IndicatorCounted() в советниках не работает. Он предназначен только для индикаторов. Может стоить немного проблему рассширить. Есть разные пути решения. Самый простой - оптимизация индикатора (но не всегда возможно), Можно переносить расчеты в советник, но опять не всегда возможно. На самом деле смотреть индикатор надо
ну вот я хочу перенести код расчета в советник, в индюке код расчета начинается с цикла. .как его заменить на более корректный7
int CountedBars=IndicatorCounted();
if(CountedBars< 0) CountedBars= 0;
if(CountedBars> 0) CountedBars--;
cnt = Bars - CountedBars;
for(int i = 0; i < cnt ;i++)
Друзья-товарищи! Это моя попытка №2 создать чудо-юдо, считывающее инфу с ROC AUDUSD и GBPUSD, для торговли по GBPAUD!!:)) Проба пера - примитивно, но очень захотелось попробовать!!! Когда прогоняю на тестере без оптимизации ОН ВИСНЕТ НЕСЛАБО!, однако продолжает давать loaded successfully... а в итоге -ни одной торговой операции. Ну ясно, что я напортачила, но где, подскажите, плз, знающие люди!!!:)) Это код так.наз. советника.БЕрет данные от обычного пользовательского ROC
Попробуйте с примитивным контролем загрузки истории
попробовала - то же самое..:(( может некорректно просто сравнивать х1 и х2, а нужно их к чему-то прикрепить, скажем, к последнему бару?По логике индикатора советник должен открыть хотя бы одну позицию, и не закрывать ее, так как закрытие в проге не предусмотрено..:)), а ROC одной валюты всегда больше ROC другой...
ну вот я хочу перенести код расчета в советник, в индюке код расчета начинается с цикла. .как его заменить на более корректный7
1. Зачем?????????????????????
Но, если очень надо, то
2. Я, млять, чего, в пустоту отвечаю??? Скажал же - в статьях (это здесь же, ссылочка наверху) есть статья Косицына по этому поводу. Вам сколько раз это нужно повторить? Может, вам чем др. заняться?
Друзья-товарищи! Это моя попытка №2 создать чудо-юдо, считывающее инфу с ROC AUDUSD и GBPUSD, для торговли по GBPAUD!!:)) Проба пера - примитивно, но очень захотелось попробовать!!! Когда прогоняю на тестере без оптимизации ОН ВИСНЕТ НЕСЛАБО!, однако продолжает давать loaded successfully... а в итоге -ни одной торговой операции. Ну ясно, что я напортачила, но где, подскажите, плз, знающие люди!!!:)) Это код так.наз. советника.БЕрет данные от обычного пользовательского ROC
IndicatorCounted() в советниках не работает. Он предназначен только для индикаторов. Может стоить немного проблему рассширить. Есть разные пути решения. Самый простой - оптимизация индикатора (но не всегда возможно), Можно переносить расчеты в советник, но опять не всегда возможно. На самом деле смотреть индикатор надо
ну вот я хочу перенести код расчета в советник, в индюке код расчета начинается с цикла. .как его заменить на более корректный7
Друзья-товарищи! Это моя попытка №2 создать чудо-юдо, считывающее инфу с ROC AUDUSD и GBPUSD, для торговли по GBPAUD!!:)) Проба пера - примитивно, но очень захотелось попробовать!!! Когда прогоняю на тестере без оптимизации ОН ВИСНЕТ НЕСЛАБО!, однако продолжает давать loaded successfully... а в итоге -ни одной торговой операции. Ну ясно, что я напортачила, но где, подскажите, плз, знающие люди!!!:)) Это код так.наз. советника.БЕрет данные от обычного пользовательского ROC
Попробуйте с примитивным контролем загрузки истории
Попробуйте с примитивным контролем загрузки истории
попробовала - то же самое..:(( может некорректно просто сравнивать х1 и х2, а нужно их к чему-то прикрепить, скажем, к последнему бару?По логике индикатора советник должен открыть хотя бы одну позицию, и не закрывать ее, так как закрытие в проге не предусмотрено..:)), а ROC одной валюты всегда больше ROC другой...
Может вызов индикатора не совсем корректный. Сейчас поищу его у себя. Просто кажется что буфер должен быть нулевым, а не первым.
У меня подобного индикатора нету
ну вот я хочу перенести код расчета в советник, в индюке код расчета начинается с цикла. .как его заменить на более корректный7
1. Зачем?????????????????????
Но, если очень надо, то
2. Я, млять, чего, в пустоту отвечаю??? Скажал же - в статьях (это здесь же, ссылочка наверху) есть статья Косицына по этому поводу. Вам сколько раз это нужно повторить? Может, вам чем др. заняться?
У меня подобного индикатора нету
Вот код индикатора ROC
"А полы помыть никому не надо? А то я приду - помою! " (с)
Вот Перенос кода индикатора в код эксперта.
Вот код индикатора ROC
В коде индикатора заложена ошибка.