Полезные функции от KimIV - страница 112

 

Вот здесь описаны ошибки исполнения и рекомендации по их обработке. Общая рекомендация по ошибкам 2, 64, 65 и 133 - Необходимо прекратить все попытки торговых операций. Для исполнения такой рекомендации я использую глобальную переменную советника gbDisabled, которую определяю в заголовке (то есть до начала всех функций) следующим образом:

//------- Глобальные переменные советника -------------------------------------+
bool   gbDisabled   = False;           // Флаг блокировки советника

Состояние этой переменной проверяю в функции start():

//+----------------------------------------------------------------------------+
//|  expert start function                                                     |
//+----------------------------------------------------------------------------+
void start() {
  if (gbDisabled) {
    Message("Критическая ошибка! Советник ОСТАНОВЛЕН!"); return;
  }
}
 
KimIV:

Вот здесь описаны ошибки исполнения и рекомендации по их обработке. Общая рекомендация по ошибкам 2, 64, 65 и 133 - Необходимо прекратить все попытки торговых операций. Для исполнения такой рекомендации я использую глобальную переменную советника gbDisabled, которую определяю в заголовке (то есть до начала всех функций) следующим образом:

Состояние этой переменной проверяю в функции start():

Спасибо.... )))
 
Добрый день, Игорь! В функции: void TrailingPositions(string sy="", int op=-1, int mn=-1) управление передается в функцию ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell), в то время как сама ф-я ModifyOrder имеет 4 параметра, с чем это связано?
 
Lisi4ka330:
Добрый день, Игорь! В функции: void TrailingPositions(string sy="", int op=-1, int mn=-1) управление передается в функцию ModifyOrder(sy, -1, pp+TrailingStopSell*p, 0, clModifySell), в то время как сама ф-я ModifyOrder имеет 4 параметра, с чем это связано?

Это связано, наверно, с тем, что Вы откуда-то выдернули функцию TrailingPositions. Может быть из одного из моих старых советников. Те функции, которые я опубликовывал, не сразу стали такими. Они подвергались эволюции.

Приведите ссылку на функцию TrailingPositions. У меня она не числится в списке опубликованных. Я опубликовывал SimpleTrailing().

 
вот здесь : http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=20. И спасибо за ссылку, я долго вспоминала, где видела, но так и не нашла)))))
 
понятно... Наверно, Вы ведь сами уже обратили внимание на тот факт, что параметр, передающий наименование торгового символа в функцию ModifyOrder(), лишний. Раньше был этот параметр, потом я его убрал...
 
Да, разобралась)))) И даже написала свой первый советник, и даже, как оказалось, с маленькой прибылью)))))))))))) Огромное Вам спасибо, Игорь, только благодаря Вашим функциям для меня это стало возможным))))))))))))))))
 
Добрый день!!!)))) Поясните пожалуйста функцию Fibonacci(), в каких случаях она используется? Не понятно, что за элемент она возвращает... это же не цена уровня...
 

Добрый день, у вас случайно нету функции, которая позволит при установке ордера, задавать во внешних переменных уровни тейка и стопа?

например:

extern double sl = 0; // SL для открываемого ордера

extern double tp = 0; // ТР для открываемого ордера

SetOrder("", OP_BUY, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELL, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYSTOP, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLSTOP, ll, Bid, SL(), TP(), 0, 0);

{условие}

SetOrder("", OP_BUYLIMIT, ll, Ask, SL(), TP(), 0, 0);
{условие}

SetOrder("", OP_SELLLIMIT, ll, Bid, SL(), TP(), 0, 0);

{условие}


 


Привет!

Почему-то при подключении Вашей библиотеки перестает работать оператор extern, то есть переменные определяются, все нормально компилируется, и в принципе советник работает, но при этом у советника при запуске типа нет ни одного параметра, при том, что параметров довольно много. В чем может быть причина?

Причина обращения: