0
03.08.2015 0:00:00 74 -58 1 1.56343
03.08.2015 1:00:00 64 -47 1 1.56241
03.08.2015 1:00:00 64 -47 -1 1.56241
03.08.2015 1:00:00 64 -47 1 1.56241
03.08.2015 1:00:00 64 -47 -1 1.56241
03.08.2015 1:00:00 64 -47 1 1.56241
03.08.2015 1:00:00 64 -47 -1 1.56241
Все получилось!!! Спасибо тебе Огромное!
avatar

vic123

  • 31 октября 2015, 10:47
0
1.12602000
1.12602000

1.12679000
1.12770000
1.12770000

1.12868000
1.12976000
1.13111000
1.13320000
1.13320000

1.13351000
1.13438000
1.13505000
1.13507000
1.13507000

1.13523000
1.13523000

1.13539000
1.13545000
1.13545000
1.13545000

1.13546000
1.13546000
1.13550000
1.13550000
1.13572000
1.13572000
1.13589000
1.13589000
1.13604000
1.13604000
1.13605000
1.13605000
Здесь тоже не совсем нормально. Цифры повторяются.
avatar

vic123

  • 30 октября 2015, 19:15
0
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
23.07.2015 0:00:00 391 -256 -1 1.56082
Cейчас получаю файл в таком виде
avatar

vic123

  • 30 октября 2015, 17:39
0
if (old_IND_1 != IND_1) {
if(IsTesting()) Log();
else
return (0);
}
в том то и дело, что так не получается. Сам удивляюсь почему нет.
avatar

vic123

  • 30 октября 2015, 17:12
0
Завтра попробую.Сейчас по стояку сантехник ищет проблему.
avatar

vic123

  • 30 октября 2015, 16:57
0
Как это сделать?
avatar

vic123

  • 30 октября 2015, 10:59
0
IND_1 = NormalizeDouble(iCustom(NULL, 0, «Apollo», 0, 0)*1000,0);//прямая коричневая
IND_2 = NormalizeDouble(iCustom(NULL, 0, «Apollo», 1, 0)*1000,0);//прямая коричневая
IND_3 = iCustom(NULL, 0, «Apollo», 5, 0);

static int old_IND_1 = 23; // запомним число
if (old_IND_1 != IND_1) {
if(IsTesting()) Log();
else
return (0);
}
void Log(string s="")
{
//--- Открываем файл лога
int fileHandle=FileOpen(«MyLog.csv»,FILE_READ|FILE_WRITE|FILE_CSV);
if(FileSeek(fileHandle,FileSize(fileHandle),SEEK_SET))
int i;
FileWrite(fileHandle,TimeToStr(Time[i], TIME_DATE), TimeToStr(Time[i], TIME_SECONDS),
IND_1, IND_2, IND_3, Open[i]);
FileClose(fileHandle); // закрываем файл лога
}
avatar

vic123

  • 30 октября 2015, 10:39
0
Вроде разобрался. Файл получил. Но в файл данные запмсываются с каждым тиком, а мне хотелось бы существенно его сократить. Что бы данные записывались только при изменении любого из IND_N
avatar

vic123

  • 30 октября 2015, 10:36
0
В принципе, Вам ни индикатор, ни DLL не нужны. В тексте советника есть ссылка на этот индикатор.
IND_1 = NormalizeDouble(iCustom(NULL, 0, «Apollo», 0, 0)*1000,0);
IND_2 = NormalizeDouble(iCustom(NULL, 0, «Apollo», 1, 0)*1000,0);
IND_3 = NormalizeDouble(iCustom(NULL, 0, «Apollo», 3, 0)*1000,0);
и я думаю этого достаточно для того чтобы эти IND_N посылать в файл.
Вам даже не надо тестировать. Просто, если можно, добавьте в текст советника передачу данных в файл. Я перечитал кучу инфы, но у меня не получается.
avatar

vic123

  • 28 октября 2015, 14:48
0
Не знаю. Эта DLL к индикатору Apollo.
avatar

vic123

  • 28 октября 2015, 14:30
0
ВСЕ!!!
ОГРОМНОЕ СПАСИБО ТЕБЕ АНДРЕЙ!!!
РЕШИЛ ВСЕ!!!!*budenov* 
avatar

vic123

  • 23 мая 2015, 15:02
0
С одной проблемой я справился. Ввел внешнюю переменную для задания шага изменения шага тейка и вместо одной переменной all ввел 2 переменных all_buy и all_sell и изменил формулу расчета all_buy и all_sell. Результаты впечатляют. Советник даже без настройки в тесте тянет отличную прямую. Закончу тестирование вышлю скриншот. Спасибо!!! С уважением, Виктор.
avatar

vic123

  • 22 мая 2015, 11:28
0
Да. Я понял. Но это понимание не приблизило нас к тому результату, который хотелось бы получить. В советнике IlanDynamic эта функция отлично реализована. Я попытался разобраться, но запутался. Это под силу тлько программисту, обладающему совсем другим складом ума.
С уважением, Виктор.
avatar

vic123

  • 22 мая 2015, 10:03
0
Андрей!!! Спасибо тебе огромное!!!
Но есть еще 1 маленькая проблемка.
Во первых: величина на которую должен уменьшаться тейк должна быть внешней переменной(т.е. настраиваемой)
Во вторых: При срабатывании только при срабатывании 6-го отложенного ордера тейки выравниваются. А они должны быть равны и после срабатывания 1 отложенного ордера, и после 2-го и т.д.
avatar

vic123

  • 21 мая 2015, 17:21
0
этот советник основан на МА поэтому если ма направлены вниз он и будет открывать сделки только на продажу
avatar

vic123

  • 21 мая 2015, 17:13
0
Вполне!!!
С уважением, Виктор.
avatar

vic123

  • 21 мая 2015, 15:03
0
у меня в тестере в оба направления открывает
avatar

vic123

  • 21 мая 2015, 14:01
0
Да! Но только с каждым случаем, когда отложенный ордер превращается в обычный открытый ордер, take profit должен для открытых позиций уменьшаться. По примеру Трейлинг-стопа.(Только в Трейлинг-стопе StopLoss следует за ценой, а у нас take profit.
avatar

vic123

  • 21 мая 2015, 13:59
0
Спасибо!!! Но я хотел немного другую вещь. Уменьшение take profita для всех ордеров, которые уже в работе при каждом срабатывании отложенного ордера. Для примера: Открылся ордер BUY (наовем его ордер1) и вместе с ним открылись 6 отложенных ордеров BUY. Значение take profitа для ордера1 к примеру 100. Цена пошла не в ту сторону и сработал первый отложенный ордер (назовем его ордер2). После этого значение take profitа для ордера1 должно уменьшиться и должно быть одинаковым с ордером2. И так далее, пока не сработают все отложенные.
С уважением, Виктор.
avatar

vic123

  • 21 мая 2015, 11:56