[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1010

 

Добрый день.Очень нужен советник,который будет лишь закрывать сделки.Дело в том,что вход в рынок может быть и обдуманный и с ясной головой и четкими правилами...А вот с выходом у многих-засада.Тут весь набор психологии: и нервы и надежда,и страх с жадностью.Думаю,что при входе по тренду,выход должен обеспечивать стохастик пересекающий уровень 50%.При пересечении сверху вниз должен закрывать бай-ордера,а при пересечении снизу вверх соответственно селл-ордера.

Кстати,этот советник может заменить тупой стоп-лосс.....Думаю написание его не составит большого труда,а польза думаю будет.Прошу не отказать. 

 
Lim1:

Здравствуйте!

У меня вопрос - куда попадают результаты тестирования (прибыльность, общее число сделок и т.д.) и как можно сделать что бы эти цифры присваивались переменным (в код ) по окончании тестирования?

Спасибо!


Вы пишете про оптимизацию... Выберете нужный Вам вариант (проход) оптимизации, кликнете по нему два раза мышью - все... параметры данного прохода 

находятся в "свойствах" советника. Выбираете период тестирования с этими параметрами и вперед... - жми на "старт". 

 

Дайте, пожалуйста, у кого есть код подсчета фактора восстановления.

 

добрый день,

не могу выбрать дц для демки, многие на тестере не правильно исполняют алгоритм.

что посоветуете.

что такое мартин и локирование?

 

что такое мартин и локирование?


Набирите в поиске по сайту. Мартингейл. Локиование это открытие противоположной позиции. Как вариант, для того чтобы было время подумать. Т.к. Она позиция нивилирует другую и счет как бы замораживается.
 

Скажите пожалуйста - можно ли данные результатов тестирования вывести в виде Алертов в журнале?

К примеру ввести такую переменную, которая получала бы значение общего количества сделок (или значение общей прибыльности...) в конце тестирования.

Как это сделать?

Об оптимизации речи не идет...

 
Lim1:

Здравствуйте!

У меня вопрос - куда попадают результаты тестирования (прибыльность, общее число сделок и т.д.) и как можно сделать что бы эти цифры присваивались переменным (в код ) по окончании тестирования?

Спасибо!

См. Самостоятельная оценка результатов тестирования эксперта

 

есть две линии

стратегия следующая - пересечение вверх-покупку, вниз - продажа. рассмотрев показатели - очень много убыточных сделок во флете

решил рассмотреть возможможность: после пересечения линий цена опускается на линию с большим периодом, покупаем, ставим ордер на покупку\продажу.

решил это сделать спомощью флагов вверх\вниз,

однако не получилось

if (SMA_1_0 > SMA_2_0 && SMA_1_1 < SMA_2_1) // Проверка пересечения вверх
{

ClosePositions(); // если есть ордер - убираем

A=1; //флаг вверх
B=0; //флаг вниз
}
if (A ==1 )

{
SL=Bid - StopLoss*Point; // Вычисление SL откр.
TP=Bid + TakeProfit*Point; // Вычисление TP откр.
Alert("Попытка открыть Buy. Ожидание ответа..");
Price_H =SMA_2_0 + 10* Point;
OpenPosition(Symbol(), OP_BUYLIMIT, Price_H,Lts, SL, TP);

if (Ticket > 0) // Получилось :)
{
Alert ("Открыт ордер Buy ",Ticket);
A=0;
B=0;
return;
}
}
//--------------------------------------------------------------------
if (SMA_1_0 < SMA_2_0 && SMA_1_1 > SMA_2_1) // Проверка пересечения вниз
{

ClosePositions();

A=0; //флаг вверх
B=1; //флаг вниз
}
if (B == 1) // флаг вниз, если цена опустилась до линии SMA
{
SL=Ask + StopLoss*Point; // Вычисление SL откр.
TP=Ask - TakeProfit*Point; // Вычисление TP откр.
Alert("Попытка открыть Sell. Ожидание ответа..");
Price_L =SMA_2_0 - 10* Point;
OpenPosition(Symbol(), OP_SELLLIMIT, Price_L,Lts, SL, TP);
if (Ticket > 0) // Получилось :)
{
Alert ("Открыт ордер Sell ",Ticket);
A=0;
B=0;
return; // Выход из start()
}
}
//---------
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+

//+----------------------------------------------------------------------------+
//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Версия : 19.02.2008 |
//| Описание : Закрытие позиций по рыночной цене |
//+----------------------------------------------------------------------------+
//| Параметры: |
//| sSymbol - наименование инструмента ("" - любой символ, |
//| NULL - текущий символ) |
//| iOperation - операция (-1 - любая позиция) |
//| iMagic - MagicNumber (-1 - любой магик) |
//+----------------------------------------------------------------------------+

void ClosePositions(string sSymbol = "", int iOperation = -1, int iMagic = -1) {
int i, k = OrdersTotal();

//if (sSymbol == "0") sSymbol = Symbol();
for (i = k - 1; i >= 0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol() == sSymbol || sSymbol == "") && (iOperation < 0 || OrderType() == iOperation)) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
if (iMagic < 0 || OrderMagicNumber() == iMagic) ClosePosBySelect();
}
}
}
}
}

//+----------------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Версия : 13.06.2007 |
//| Описание: Закрытие одной предварительно выбранной позиции |
//+----------------------------------------------------------------------------+
void ClosePosBySelect() {
double pp;

if (OrderType()==OP_BUY) {
pp=MarketInfo(OrderSymbol(), MODE_BID);
OrderClose(OrderTicket(), OrderLots(), pp, Slippage);
}
if (OrderType()==OP_SELL) {
pp=MarketInfo(OrderSymbol(), MODE_ASK);
OrderClose(OrderTicket(), OrderLots(), pp, Slippage);
}
}

//+----------------------------------------------------------------------------+
//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Версия : 13.06.2007 |
//| Описание : Открытие позиции. Версия функции для тестов на истории. |
//+----------------------------------------------------------------------------+
//| Параметры: |
//| sy - наименование инструмента ("" - текущий символ) |
//| op - операция |
//| ll - лот |
//| sl - уровень стоп |
//| tp - уровень тейк |
//| mn - MagicNumber |
//+----------------------------------------------------------------------------+
void OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int mn=0) {
double pp;
int err, ticket;

if (sy=="") sy=Symbol();
if (op==OP_BUY) {
pp=MarketInfo(sy, MODE_ASK);
} else {
pp=MarketInfo(sy, MODE_BID);
}
ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, "", mn, 0);
if (ticket<0) {
err=GetLastError();
Print("Error(",err,") open ",GetNameOP(op),": ",ErrorDescription(err));
Print("Ask=",Ask," Bid=",Bid," sy=",sy," ll=",ll,
" pp=",pp," sl=",sl," tp=",tp," mn=",mn);
}
}

//+----------------------------------------------------------------------------+
//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru/ |
//+----------------------------------------------------------------------------+
//| Версия : 01.09.2005 |
//| Описание : Возвращает наименование торговой операции |
//+----------------------------------------------------------------------------+
//| Параметры: |
//| iOperation - идентификатор торговой операции |
//+----------------------------------------------------------------------------+

string GetNameOP(int iOperation) {
switch (iOperation) {
case OP_BUY: return ("Buy");
case OP_SELL: return ("Sell");
case OP_BUYLIMIT: return ("Buy Limit");
case OP_SELLLIMIT: return ("Sell Limit");
case OP_BUYSTOP: return ("Buy Stop");
case OP_SELLSTOP: return ("Sell Stop");
default: return ("Unknown Operation");
}
}

 

Господа, друзья-товарищи! Кто знает, поделитесь ссылочкой, где воочию можно увидеть/пощупать формулы для решения уравнений арифметической прогрессии второго порядка.

Например:

В арифметической прогрессии разности между последовательными членами постоянны. Если разности не постоянны, а постоянны разности разностей, то прогрессия называется арифметической прогрессией второго порядка. Аналогичным образом определяются арифметические прогрессии более высоких порядков. Например, 2, 6, 12, 20, 30, ..., n - арифметическая прогрессия второго порядка, так как разности 4, 6, 8, 10, ..., n образуют арифметическую прогрессию с d = 2.

Вот мне и нужны формулы рассчётов для поиска количества членов таких прогрессий... Весь инет переворошил - только простая математика кругом... :((((

 
artmedia70:

Господа, друзья-товарищи! Кто знает, поделитесь ссылочкой, где воочию можно увидеть/пощупать формулы для решения уравнений арифметической прогрессии второго порядка.

вот нагуглил
Причина обращения: