Открытие орденов в заданом времени и в заданом направлении - страница 2

 
с даных цен, расчёты, 
графический анализ теперишных цен
 
Ну так переведите на язык формул и встраивайте в советник.
 
mikolb:
с даных цен, расчёты, 
графический анализ теперишных цен

Передавайте советнику задание через файл. Обычный текстовый, который правится вручную после ручного графического анализа. По мере выяснения каждого из пяти заданий оно добавляется в этот файл. Строки выглядят так:

15:05 buy EURGBP 1

15:35 sell AUDUSD 1.3

16:10 sell GBPJPY 0.85

И есть еще одна строка, завершающая:

finish

Пока строки "finish" в файле нет, советник не реагирует на содержимое файла, его можно спокойно править. Вручную, или, позже, как-то автоматически.

Советник читает этот файл на каждом тике. Первый раз просто проверяет наличие финишной строки. Нет ее - ничего не делает. Есть - запоминает имеющиеся в файле задания в своих переменных. Удобнее запоминать в массиве структур:


struct TOrd { // Одно задание

  datetime TimeOrd; // Момент актуализации задания

  string BuySel;

  string SymbOrd;

  float OrdLots;

  int : IsDone; // 0, если еще не исполнено. Иначе 1

  };  
TOrd Ords[4]; // Массив заданий

Заполнив Ords, советник затирает файл с заданиями. Это сигнал Вам о том, что все задания из файла приняты к исполнению.

До исполнения всех заданий из Ords советник работает так:

- не читает новые файлы заданий;

- на каждом тике новое время сравнивает с моментами актуализации из Ords, и для еще неисполненных заданий с прошедшим моментом актуализации пытается их исполнить. Например, для исполнения k-го задания вызывая OrderSend с параметрами из Ords[k]: инструмент Ords[k].SymbOrd, объем Ords[k].OrdLots, направление сделки и курс, TP, SL - исходя из Ords[k].BuySel. При успешном исполнении проставляет Ords[k].IdDone=1 и проверяет - может быть, уже все задания исполнены.

Когда все задания из Ords исполнены, советник начинает проверять на диске появление нового файла с заданиями и наличие в нем строки "finish". Вроде все.

 
Vlad143:

Передавайте советнику задание через файл. Обычный текстовый, который правится вручную после ручного графического анализа. По мере выяснения каждого из пяти заданий оно добавляется в этот файл. Строки выглядят так:

15:05 buy EURGBP 1

15:35 sell AUDUSD 1.3

16:10 sell GBPJPY 0.85

И есть еще одна строка, завершающая:

finish

Пока строки "finish" в файле нет, советник не реагирует на содержимое файла, его можно спокойно править. Вручную, или, позже, как-то автоматически.

Советник читает этот файл на каждом тике. Первый раз просто проверяет наличие финишной строки. Нет ее - ничего не делает. Есть - запоминает имеющиеся в файле задания в своих переменных. Удобнее запоминать в массиве структур:


Заполнив Ords, советник затирает файл с заданиями. Это сигнал Вам о том, что все задания из файла приняты к исполнению.

До исполнения всех заданий из Ords советник работает так:

- не читает новые файлы заданий;

- на каждом тике новое время сравнивает с моментами актуализации из Ords, и для еще неисполненных заданий с прошедшим моментом актуализации пытается их исполнить. Например, для исполнения k-го задания вызывая OrderSend с параметрами из Ords[k]: инструмент Ords[k].SymbOrd, объем Ords[k].OrdLots, направление сделки и курс, TP, SL - исходя из Ords[k].BuySel. При успешном исполнении проставляет Ords[k].IdDone=1 и проверяет - может быть, уже все задания исполнены.

Когда все задания из Ords исполнены, советник начинает проверять на диске появление нового файла с заданиями и наличие в нем строки "finish". Вроде все.


спасибо, я не ІТ но походу доведенься им стать, не совсем понял смысл, но буду разбирать покрупинках - это вроде то что мне нужно ... примерно
Причина обращения: