Да я и так стараюсь с осторожностью к разворотам и коррекции. А вот насчет истощения тренда, меня тоже это интересует, бродил по просторам форума и в CodeBase заглядывал, но индюков на эту тему не встречал. Поэтому будет интересно ознакомиться с твоими выкладками. И еще вопрос, скинули мне советник контролирующий мои потери и прибыли, вроде по картинке должен работать, но вопрос в том, заложен в нем профит в 15 пунктов, а я вижу что цена может и дальше пойти, так вот если я увеличу профит на какой либо одной сделке, это может нарушить общие расчеты и работу советника?
По мне так, чтобы правильно ответить на данный вопрос - нужно в кишках советника поковыряться... Может на него ответит кто-нить из гораздо более опытных товарищей... Думаю, их ответ будет более весомым с высоты их опыта - я ж только начинающий... :)
ОК. Спасибо, Виктор. Так пока работает верно. Пока, потому что долго не следил, но НИКОГДА он мне до этого не выводил Тренд Вверх. Сейчас выводит:
Я знал, что на одного колдуна-пакостника всегда найдётся более могущественный чародей-волшебник... :)
Это конечно всё шутки-прибаутки, но... Виктор, хочется не просто тупо скопировать правильное решение, а узнать и понять где ж тут собака-то порылась, в чём соль проблемы и такого непонятного мне поведения кода?
Проблемы с логикой. Не более. Пробуй блок схемы рисовать. Помогает
Вот ещё вопрос назрел: сначала делал вывод строк в N-ном количестве, но потом, поняв, что одна из них будет лишней и её уместнее поместить в скобках в числовой процентной форме, убрал её и поставил рядом с той, где как раз для неё место:
Так было сначала:
А так теперь:
Мне не даёт покоя эхо прошедших событий... При первоначальном запуске советника до поступления нового тика всегда выводится то, что было изначально... Хотя в коде этого уже нет давно. Откуда берутся привидения???
Вот ещё вопрос назрел: сначала делал вывод строк в N-ном количестве, но потом, поняв, что одна из них будет лишней и её уместнее поместить в скобках в числовой процентной форме, убрал её и поставил рядом с той, где как раз для неё место:
Так было сначала:
А так теперь:
Мне не даёт покоя эхо прошедших событий... При первоначальном запуске советника до поступления нового тика всегда выводится то, что было изначально... Хотя в коде этого уже нет давно. Откуда берутся привидения???
Проблемы с логикой. Не более. Пробуй блок схемы рисовать. Помогает
:):) Благодарю... Эх... У меня на полу уже такие "портянки" развёрнуты... мама миа!!! Вроде и логики-то особой в трёх строчках нету. Получается, что при проверке: если 1-е, значит так делать, при невыполнении 1-го - естественно следом идёт уже 2-е. При невыполнении 2-го следом же идёт третье...
Ан-нет... Нужно так: Если 1-е, то делаем так-с... Иначе, если 2-е, то уже делаем так-с, иначе, если совсем не 1-е и не 2-е, то делаем третье, а уж если и не 1-е, не 2-е и не 3-е, то тогда ищем ошибки в логике...
Ох... Запутался я сам совсем... Ладно, Виктор, ваше дополнение ведёт себя корректно, а уж для чего нужен ещё один оператор else, который стоит вроде бы в том месте, где и так по сути уже само собою наступает это "иначе", я буду позже разбираться, после разгрузки мозгов своих...
Люди, поделитесь готовым, рабочим (не глючным) темплэйтом советника, чтобы можно было только торговую стратегию менять, с возможностью при необходимости закрывать открытую позицию на противоположенную (переворот, но чтобы Buy/Sell в условии не через else был, а с возможностью отдельно прописывать условия:
if условие на покупку { Opn_B=true; // Критерий откр. Buy Cls_S=true; // Критерий закр. Sell } if условие на продажу { Opn_S=true; // Критерий откр. Sell Cls_B=true; // Критерий закр. Buy } ), либо закрытие позиции по ТР/SL.
Совсем голова кругом идёт, уже месяц бьюсь, не могу торговые стратегии с Омеги на МТ переложить, какие-то буферы/шмуферы, надуманные массивы, а в советнике ещё блоки учёта, открытия/закрытия и учёта ошибок.
Люди, поделитесь готовым, рабочим темплэйтом советника, чтобы можно было только торговую стратегию менять, с возможностью при необходимости закрывать открытую позицию на противоположенную (переворот), либо по ТР/SL.
Совсем голова кругом идёт с учётом ордеров, блоками открытия/закрытия и учёт ошибок.
Отвечу, потому как сам с этим долго "парился" - только для тестирования стратегий и быстрого их изменения учёт ордеров можете оставить за бортом, учёт ошибок тоже уберите на полочку. Просто скопируйте то, что у него есть в учебнике и пусть они будут. Работайте только лишь с Trade() и Criterion(), если вы по учебнику Сергея Ковалёва делаете. Criterion() - для поиска точек входа по вашим стратегиям, Trade() - для открытия/ закрытия позиций. Работать с ними и их изменять для тестирования стратегий достаточно. А далее, набив руку в программировании, дойдёте уже и до своих функций, т.к. придёт понимание того, для чего всё это надобно и как всё работает...
artmedia70: Отвечу, потому как сам с этим долго "парился" - только для тестирования стратегий и быстрого их изменения учёт ордеров можете оставить за бортом, учёт ошибок тоже уберите на полочку. Просто скопируйте то, что у него есть в учебнике и пусть они будут. Работайте только лишь с Trade() и Criterion(), если вы по учебнику Сергея Ковалёва делаете. Criterion() - для поиска точек входа по вашим стратегиям, Trade() - для открытия/ закрытия позиций. Работать с ними и их изменять для тестирования стратегий достаточно. А далее, набив руку в программировании, дойдёте уже и до своих функций, т.к. придёт понимание того, для чего всё это надобно и как всё работает...
Спасибо, у меня всё оттестировано, хочу торговлю через МТ попробовать, чтобы реально учитывались ордера и открытые/закрытые позиций с исправлением баланса в случае необходимости.
В догонку код самого пустого индикатора... где тоже нет ничего...
#property indicator_separate_window#property indicator_minimum 1#property indicator_maximum 10bool initFinished=false;
// добавляем переменную, которая будет запоминать состояние инициализации.// false - инициализации еще не было// true - была//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init()
{
return(0);
}
//+------------------------------------------------------------------+//| Custom indicator deinitialization function |//+------------------------------------------------------------------+int deinit()
{
ObjectsDeleteAll();
// удаляем все объектыreturn(0);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start()
{
if(initFinished==false)
{
IndicatorShortName("Info");
int winID=WindowFind("Info");
if(winID<0)
{
// если номер подокна равен -1, то возникла ошибка
Print("Чёт не могу твоего окошечка найти, пошел я отсюдова");
return(0);
}
//------------------------ Тут можно рисовать ------------------------- // ----------------------- Но не нужно... ----------------//-------------------------------------------------------------------------
WindowRedraw();
initFinished=true;
}
return(0);
}
Да я и так стараюсь с осторожностью к разворотам и коррекции. А вот насчет истощения тренда, меня тоже это интересует, бродил по просторам форума и в CodeBase заглядывал, но индюков на эту тему не встречал. Поэтому будет интересно ознакомиться с твоими выкладками. И еще вопрос, скинули мне советник контролирующий мои потери и прибыли, вроде по картинке должен работать, но вопрос в том, заложен в нем профит в 15 пунктов, а я вижу что цена может и дальше пойти, так вот если я увеличу профит на какой либо одной сделке, это может нарушить общие расчеты и работу советника?
ОК. Спасибо, Виктор. Так пока работает верно. Пока, потому что долго не следил, но НИКОГДА он мне до этого не выводил Тренд Вверх. Сейчас выводит:
Я знал, что на одного колдуна-пакостника всегда найдётся более могущественный чародей-волшебник... :)
Это конечно всё шутки-прибаутки, но... Виктор, хочется не просто тупо скопировать правильное решение, а узнать и понять где ж тут собака-то порылась, в чём соль проблемы и такого непонятного мне поведения кода?
Проблемы с логикой. Не более. Пробуй блок схемы рисовать. Помогает
Вот ещё вопрос назрел: сначала делал вывод строк в N-ном количестве, но потом, поняв, что одна из них будет лишней и её уместнее поместить в скобках в числовой процентной форме, убрал её и поставил рядом с той, где как раз для неё место:
Так было сначала:
А так теперь:
Мне не даёт покоя эхо прошедших событий... При первоначальном запуске советника до поступления нового тика всегда выводится то, что было изначально... Хотя в коде этого уже нет давно. Откуда берутся привидения???
Вот ещё вопрос назрел: сначала делал вывод строк в N-ном количестве, но потом, поняв, что одна из них будет лишней и её уместнее поместить в скобках в числовой процентной форме, убрал её и поставил рядом с той, где как раз для неё место:
Так было сначала:
А так теперь:
Мне не даёт покоя эхо прошедших событий... При первоначальном запуске советника до поступления нового тика всегда выводится то, что было изначально... Хотя в коде этого уже нет давно. Откуда берутся привидения???
Код надо смотреть. Логику разбирать.
Проблемы с логикой. Не более. Пробуй блок схемы рисовать. Помогает
:):) Благодарю... Эх... У меня на полу уже такие "портянки" развёрнуты... мама миа!!! Вроде и логики-то особой в трёх строчках нету. Получается, что при проверке: если 1-е, значит так делать, при невыполнении 1-го - естественно следом идёт уже 2-е. При невыполнении 2-го следом же идёт третье...
Ан-нет... Нужно так: Если 1-е, то делаем так-с... Иначе, если 2-е, то уже делаем так-с, иначе, если совсем не 1-е и не 2-е, то делаем третье, а уж если и не 1-е, не 2-е и не 3-е, то тогда ищем ошибки в логике...
Ох... Запутался я сам совсем... Ладно, Виктор, ваше дополнение ведёт себя корректно, а уж для чего нужен ещё один оператор else, который стоит вроде бы в том месте, где и так по сути уже само собою наступает это "иначе", я буду позже разбираться, после разгрузки мозгов своих...
Спасибо за совет.
Код надо смотреть. Логику разбирать.
Там и логики то практически никакой - простейший вывод строк в порядке следования друг за дружкой...
Люди, поделитесь готовым, рабочим (не глючным) темплэйтом советника, чтобы можно было только торговую стратегию менять, с возможностью при необходимости закрывать открытую позицию на противоположенную (переворот, но чтобы Buy/Sell в условии не через else был, а с возможностью отдельно прописывать условия:
if условие на покупку
{
Opn_B=true; // Критерий откр. Buy
Cls_S=true; // Критерий закр. Sell
}
if условие на продажу
{
Opn_S=true; // Критерий откр. Sell
Cls_B=true; // Критерий закр. Buy
} ), либо закрытие позиции по ТР/SL.
Совсем голова кругом идёт, уже месяц бьюсь, не могу торговые стратегии с Омеги на МТ переложить, какие-то буферы/шмуферы, надуманные массивы, а в советнике ещё блоки учёта, открытия/закрытия и учёта ошибок.
Заранее спасибо всем откликнувшемся.
Люди, поделитесь готовым, рабочим темплэйтом советника, чтобы можно было только торговую стратегию менять, с возможностью при необходимости закрывать открытую позицию на противоположенную (переворот), либо по ТР/SL.
Совсем голова кругом идёт с учётом ордеров, блоками открытия/закрытия и учёт ошибок.
Отвечу, потому как сам с этим долго "парился" - только для тестирования стратегий и быстрого их изменения учёт ордеров можете оставить за бортом, учёт ошибок тоже уберите на полочку. Просто скопируйте то, что у него есть в учебнике и пусть они будут. Работайте только лишь с Trade() и Criterion(), если вы по учебнику Сергея Ковалёва делаете. Criterion() - для поиска точек входа по вашим стратегиям, Trade() - для открытия/ закрытия позиций. Работать с ними и их изменять для тестирования стратегий достаточно. А далее, набив руку в программировании, дойдёте уже и до своих функций, т.к. придёт понимание того, для чего всё это надобно и как всё работает...
Спасибо, у меня всё оттестировано, хочу торговлю через МТ попробовать, чтобы реально учитывались ордера и открытые/закрытые позиций с исправлением баланса в случае необходимости.
Код надо смотреть. Логику разбирать.
В догонку код самого пустого индикатора... где тоже нет ничего...