Warning: Illegal string offset 'base_percent_fragmentation' in /home/users/s/sfinexer/domains/tiven.ru/cahenew/base.php on line 14

Warning: Illegal string offset 'base_lable_long_txt' in /home/users/s/sfinexer/domains/tiven.ru/cahenew/base.php on line 20

Warning: Illegal string offset 'file' in /home/users/s/sfinexer/domains/tiven.ru/cahenew/base.php on line 33

Warning: Illegal string offset 'pref' in /home/users/s/sfinexer/domains/tiven.ru/cahenew/base.php on line 35

Warning: Cannot assign an empty string to a string offset in /home/users/s/sfinexer/domains/tiven.ru/cahenew/base.php on line 35

Warning: Illegal string offset 'file' in /home/users/s/sfinexer/domains/tiven.ru/cahenew/base.php on line 37
Форум: общение для профессиональных игроков
Форум: общение для профессиональных игроков Форум: общение для профессиональных игроков

Форум посвящён,людям которые профессионально играют в казино или у БК.

Связаться с администратором можно: ICQ: 322-509-362

 Поиск    Участники
Сегодня: 20.04.2018 - 00:10:51
   Форум: общение для профессиональных игроков -> Автоматический торговик системы -> Первая система
Автор Сообщение

sfinexer

Администратор



Итак, бетта версия системы для торгов, распространяется бесплатно, так как еще бетта)))


Код: extern double Lots = 0.1; // какой лот ставим

//Дальше ничего не менять!!
extern double TakeProfit = 50;
extern double Delta=3; //короче это множитель разницы продажи и покупки
//нужен чтобы рассчитать интервалы расстановки ордеров
extern double Dohod=25; // Насколько прибавляем наш доход после закрытия ордера

extern double incr=40;// период вывода статистики

extern int fl=0; // докуда доводить свободные средства (надо возвращать из файла)
extern int zakryt=1; // при 1 будут закрыватся ордера при доходе k*doh (ПОКА НЕ ТРОГАТЬ!!!!)
extern int k=10; // коэффициент умножения при закрытии
extern double pred=10;
// описание переменных
double nach;
int incrt;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double p, nub,min, doh, balans;
int cnt, ticket, total,FL_BUY,FL_SELL, kol_SELL, kol_BUY;

total=OrdersTotal(); // количество открытых ордеров
incrt++;
balans = AccountEquity();
if(incrt>incr)
{
incrt=0;
if (zakryt > 0)
{
Print("Сесия закончится при достижении ", nach);
Print("Баланс равен: ", balans,"; Ордеров открыто: ", total, "; Сл. ордер закроется по достижении балансом значения: ", pred);
}
else
{
Print("Баланс равен: ", balans,"; Ордеров открыто: ", total, "; Сл. ордер закроется по достижении балансом значения: ", pred);
}
}

if(fl<1)
{
fl=1;
pred=balans;
nach=balans; // начальный баланс вступления в игру
Print("Баланс равен ", pred);
}
//Print(AccountEquity()); // баланс акаунта (Средства) То что останется после закрытия ордеров

// Ask цена продажи
// Bid цена покупки



p=(Ask-Bid)*Delta;
//Print(p);
doh=(Ask-Bid)*AccountLeverage()*Dohod; // доход в перерасчете
//Print(doh);


if (zakryt > 0)
{
if ( pred >= nach)
{
for(cnt=total;cnt>0;cnt--)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)==true)
Print("Выбор ордера успешен");
// OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY) // long position is opened
{
if (OrderClose(OrderTicket(),OrderLots(),Bid,3,Black))
{
Print("Останов Bid Успешно");
}
else
{Print("Останов Bid Не успешно");}
}
else
{
if (OrderClose(OrderTicket(),OrderLots(),Ask,3,Black))
{
Print("Останов Ask Успешно");
}
else
{Print("Останов Ask Не успешно");}
}
}
nach=nach+k*doh;
Print("Останов Сесия закончится при достижении ", nach);
total=OrdersTotal(); // количество открытых ордеров
}
}



FL_BUY = '1';
FL_SELL = '1';
min=0;
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
// if(OrderType()<=OP_SELL && // check for opened position
// OrderSymbol()==Symbol()) // check for symbol
// поиск самого убыточного ордера
if (OrderProfit()<min)
{
min=OrderProfit();
nub=cnt;
}
if(OrderType()==OP_BUY) // long position is opened
{
//Print(OrderOpenPrice());
//Print(OrderProfit());
//OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

if ((OrderOpenPrice()-p)<(Ask))
FL_BUY='0';
}
if(OrderType()==OP_SELL)
{
if ((OrderOpenPrice()+p)>(Ask))
FL_SELL='0';
}
}

if (balans>pred)
{
if ((total <3) && (FL_BUY == '0') && (FL_BUY == '0'))
{
pred=pred+doh;
Print("Добавлено по быстрому приросту ", pred);
}
else
{
OrderSelect(nub, SELECT_BY_POS, MODE_TRADES);
//OrderClose(OrderTicket(),OrderLots(),Bid,3,Black);
if(OrderType()==OP_BUY) // long position is opened
{
if (OrderClose(OrderTicket(),OrderLots(),Bid,3,Black))
{
//Print("Успешно");
pred=pred+doh;
Print("Успешно ", pred);
}
else
{Print("Не успешно");}
}
else
{
if (OrderClose(OrderTicket(),OrderLots(),Ask,3,Black))
{
//Print("Успешно");
pred=pred+doh;
Print("Успешно ", pred);
}
else
{Print("Не успешно");}
}
}
}

if(FL_SELL == '1')
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"Простое открытие",16384,0,Red);
}
if(FL_BUY == '1')
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"Простое открытие",16384,0,Green);
}
return(0);
}


Компилируем, и ставим, все само отмасштабируеться.

Замечания и комментарии пишим сюда.
Сообщение # 1. Отправлено: 02.11.2009 - 00:43:29

sfinexer

Администратор



Обновленная версия советника для торговой платформы МТ

Код:
//+------------------------------------------------------------------+
//| PROGGI|
//| proggi@yandex.ru|
//| http://sfinexer.ru/ |
//+------------------------------------------------------------------+

extern double Lots = 0.1; // какой лот ставим


//Дальше ничего не менять!!
extern double TakeProfit = 50;
extern double Delta=3; //короче это множитель разницы продажи и покупки
//нужен чтобы рассчитать интервалы расстановки ордеров
extern double Dohod=25; // Насколько прибавляем наш доход после закрытия ордера

extern double incr=40;// период вывода статистики

extern int fl=0; // докуда доводить свободные средства (надо возвращать из файла)
extern int zakryt=1; // при 1 будут закрыватся ордера при доходе k*doh (ПОКА НЕ ТРОГАТЬ!!!!)
extern int k=10; // коэффициент умножения при закрытии
extern double pred=10;
// описание переменных
double nach;
int incrt;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double p, nub,min, doh, balans;
int cnt, ticket, total,FL_BUY,FL_SELL, kol_SELL, kol_BUY;

total=OrdersTotal(); // количество открытых ордеров
incrt++;
balans = AccountEquity();
if(incrt>incr)
{
incrt=0;
if (zakryt > 0)
{
Print("Сесия закончится при достижении ", nach);
Print("Баланс равен: ", balans,"; Ордеров открыто: ", total, "; Сл. ордер закроется по достижении балансом значения: ", pred);
}
else
{
Print("Баланс равен: ", balans,"; Ордеров открыто: ", total, "; Сл. ордер закроется по достижении балансом значения: ", pred);
}
}

if(fl<1)
{
fl=1;
pred=balans;
nach=balans; // начальный баланс вступления в игру
Print("Баланс равен ", pred);
}
//Print(AccountEquity()); // баланс акаунта (Средства) То что останется после закрытия ордеров

// Ask цена продажи
// Bid цена покупки



p=(Ask-Bid)*Delta;
//Print(p);
doh=(Ask-Bid)*AccountLeverage()*Dohod; // доход в перерасчете
//Print(doh);


if (zakryt > 0)
{
if ( pred >= nach)
{
for(cnt=total;cnt>0;cnt--)
{
if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)==true)
Print("Выбор ордера успешен");
// OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY) // long position is opened
{
if (OrderClose(OrderTicket(),OrderLots(),Bid,3,Black))
{
Print("Останов Bid Успешно");
}
else
{Print("Останов Bid Не успешно");}
}
else
{
if (OrderClose(OrderTicket(),OrderLots(),Ask,3,Black))
{
Print("Останов Ask Успешно");
}
else
{Print("Останов Ask Не успешно");}
}
}
nach=nach+k*doh;
Print("Останов Сесия закончится при достижении ", nach);
total=OrdersTotal(); // количество открытых ордеров
}
}



FL_BUY = '1';
FL_SELL = '1';
min=0;
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
// if(OrderType()<=OP_SELL && // check for opened position
// OrderSymbol()==Symbol()) // check for symbol
// поиск самого убыточного ордера
if (OrderProfit()<min)
{
min=OrderProfit();
nub=cnt;
}
if(OrderType()==OP_BUY) // long position is opened
{
//Print(OrderOpenPrice());
//Print(OrderProfit());
//OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

if ((OrderOpenPrice()-p)<(Ask))
FL_BUY='0';
}
if(OrderType()==OP_SELL)
{
if ((OrderOpenPrice()+p)>(Ask))
FL_SELL='0';
}
}

if (balans>pred)
{
if ((total <3) && (FL_BUY == '0') && (FL_BUY == '0'))
{
pred=pred+doh;
Print("Добавлено по быстрому приросту ", pred);
}
else
{
OrderSelect(nub, SELECT_BY_POS, MODE_TRADES);
//OrderClose(OrderTicket(),OrderLots(),Bid,3,Black);
if(OrderType()==OP_BUY) // long position is opened
{
if (OrderClose(OrderTicket(),OrderLots(),Bid,3,Black))
{
//Print("Успешно");
pred=pred+doh;
Print("Успешно ", pred);
}
else
{Print("Не успешно");}
}
else
{
if (OrderClose(OrderTicket(),OrderLots(),Ask,3,Black))
{
//Print("Успешно");
pred=pred+doh;
Print("Успешно ", pred);
}
else
{Print("Не успешно");}
}
}
}

if(FL_SELL == '1')
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"Простое открытие",16384,0,Red);
}
if(FL_BUY == '1')
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"Простое открытие",16384,0,Green);
}
return(0);
}
Сообщение # 2. Отправлено: 15.11.2009 - 13:18:05

angiel

участник форума



Что то он совсем в убыток заводит. Тестил на EURO/USD получилось не очень. Может чтот изменить надо в советнике???
Сообщение # 3. Отправлено: 13.03.2010 - 22:24:34

sfinexer

Администратор



angiel, А что вы меняли в нем?

У меня работал нормально, щас правда не занимаюсь им.

там сворачивание лотов не очень хорошо работает, вот и минус от этого...
Сообщение # 4. Отправлено: 14.03.2010 - 19:13:15

Wuda

участник форума



А объясните мне, глупому, по подробнее что и куда? Я бы поучаствовал бы в опытох)))))
Сообщение # 5. Отправлено: 28.02.2012 - 15:46:20

sfinexer

Администратор



Wuda, ну банально вечерами по субботам онлайн семинары, можно спросить...
Сообщение # 6. Отправлено: 28.02.2012 - 23:54:06
Страницы:  1  
Администратор запретил отвечать гостям на сообщения! Для регистрации пройдите по ссылке: зарегистрироваться



Генерация модулей заняла: 0.000356 секунд
Генерация страницы сервером заняла: 0.009589 секунд
904656