Высокочастотный советник-скальпер

Fed77

Гуру форума
Успокойся выключи марнин вообще будем ММ делать по другому как Ларри Вильямса учили
фиксировано-пропорциональный Райан Джонса : Например, если у нас есть депо в $300 и мы работаем 1 минилотом, определив дельту равной, допустим, тем же $300, то мы перейдем на 2 минилота, когда наберем (имеющимся 1 минилотом) $300, а увеличение количества лотов до 3 произойдет только когда теперь уже 2 минилота заработают – каждый – по дельте ($300) (т.е. переход с 2 минилотов на 3 будет, когда мы к имеющимся $600 добавим ещё 2 х $300 = $600, т.е. при $1200), с 3 на 4 минилота – при депо в $1200 + ($300 х 3) = $1200 + $900 = $2100 и т.д. Таким образом, "по мере роста числа контрактов сумма, необходимая для приобретения очередного кол-ва контрактов, увеличивается пропорционально", откуда и название метода.

Таким образом имеем формулу:
Капитал предыдущего уровня + (число контрактов х дельта) = капитал следующего уровня
Или так % риска от депоза современным методом
extern double LotsFor10000 = 0.1;
extern double Risk = 1;

double GetLots()
{
double clots= AccountBalance () / 10000 * LotsFor10000;
clots = MathMax(clots,MarketInfo(Symbol(),MODE_MINLOT));
clots = MathMin(clots,MarketInfo(Symbol(),MODE_MAXLOT));
clots = NormalizeDouble(clots,2);
return(clots);
}
//+------------------------------------------------------------------+
double LotsByRisk(int op_type, double risk, int sl)
{
double lot_min = MarketInfo(Symbol(), MODE_MINLOT);
double lot_max = MarketInfo(Symbol(), MODE_MAXLOT);
double lot_step = MarketInfo(Symbol(), MODE_LOTSTEP);
double lot_cost = MarketInfo(Symbol(), MODE_TICKVALUE);

double lot = 0;
double UsdPerPip = 0;

lot = AccountBalance() * risk/100;
UsdPerPip = lot/sl;

lot = NormalizeDouble(UsdPerPip/lot_cost,2);
lot = NormalizeDouble(lot/lot_step,0) * lot_step;

if (lot < lot_min) lot = lot_min;
if (lot > lot_max) lot = lot_max;

if (AccountFreeMarginCheck(Symbol(), op_type, lot) < 10 || GetLastError() == ERR_NOT_ENOUGH_MONEY)

{
Alert("Невозможно открыть позицию с объёмом = " + DoubleToStr(lot,2), "Недостаточно средств!");
return(-1);
}
return(lot);
}
 
Последнее редактирование:

temen6

Элитный участник
Насчет тестов хз, у мня после обновления билда не получалось тесты 99% делать, я и не стал заморачиваться. Если дашь описания того как на новых билдах тестить, то позже могу сделать...
у томми в блоге все доступно описано ;)
_http://tommy27fx.blogspot.ru/2014/06/99.html
главное нужно правильно настроить прогу перед скачиванием котировок. в настройках: спред, комиссии, плечо, количество нулей после запятой и прочее, должен разобраться в общем.
 

Cemen4yk1

Местный житель
вроде автоопределение 4-5 знака вставлял, единственное что в исходном советнике авторского так это модуль тикового расчёта, и надо дорабатывать логику этого самого расчёта а не навешивать то что уже и так пройдено
 

Fed77

Гуру форума
вроде автоопределение 4-5 знака вставлял, единственное что в исходном советнике авторского так это модуль тикового расчёта, и надо дорабатывать логику этого самого расчёта а не навешивать то что уже и так пройдено
Да вы вставляли ;)
//---
if(Digits == 3 || Digits == 5)
{
min_range *= 10;
range_STOP *= 10;
range_LIMIT *= 10;
slippage *= 10;
}
Terminal();

return(INIT_SUCCEEDED);
}
 

incomeasset

Элитный участник
Privet vsem vot novie dannie testirovania za sevodnea no esti ideea kak evo sdelati eseo lucise! nujen ktota kto razbiraetsea v programirovani...
 

Вложения

  • Безымянный.png
    Безымянный.png
    120,5 КБ · Просмотры: 253
  • Безымянный2.png
    Безымянный2.png
    94,1 КБ · Просмотры: 242
  • DetailedStatement.rar
    32,4 КБ · Просмотры: 49

incomeasset

Элитный участник
Без прелюдий ! Говори как лучше? В теме есть прогеры!

ea dumal stobi programist dabavil koe sto v etovo sovetnika iz drugoi scalping systemi rezulitati po nei na screene no ea boiusi stobi on ne isez polnostiu tak kak odnajdi ea otdal odnu systemu progeru katoraia filitruet Flat i bereot 90% trenda a dalise sami ponimaete...
 

Вложения

  • Безымянный.png
    Безымянный.png
    141,8 КБ · Просмотры: 272

incomeasset

Элитный участник
EUR/USD zakritie proizoslo + 6000 za deni vo istinu potential u neio ogromnii!!
 

Вложения

  • Безымянный.png
    Безымянный.png
    116,1 КБ · Просмотры: 182
  • Безымянный2.png
    Безымянный2.png
    94,1 КБ · Просмотры: 214

Ladzius

Элитный участник
демо есть демо.....на реале будет другая картинка...;)
 

Fed77

Гуру форума
демо есть демо.....на реале будет другая картинка...;)
Может у кого на реале есть что показать? Диверсификация рисков — одно из базовых понятий в теории портфельных инвестиций, которое кратко можно описать старой пословицей "не клади все яйца в одну корзину"
1.jpg2.jpg
 
Последнее редактирование:

Ladzius

Элитный участник
реал...как то так....очень нежадничил.
 

Вложения

  • high fren.png
    high fren.png
    205,7 КБ · Просмотры: 523

Litvin

Заблокирован
Чтобы без усреднения торговал,нужно K_=0 поставить?
 

Ladzius

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

Litvin

Заблокирован
Походу он вообще не будет торговать, 1 хоть оставь

Вот вот,уже сам про это подумал,поставил на 2 на 2 разных счета с разными настройками,на одном решил 0 поставить(без усреднения типа)-молчит,видимо действительно так не будет торговать.
 
Последнее редактирование:

Litvin

Заблокирован
По-мойму чтобы без усреднения торговал,нужно наоборот очень большое число поставить,ведь чем меньше интервал выставишь,чем чаще будет усредняться,если не прав поправьте)
 

Cemen4yk1

Местный житель
По-мойму чтобы без усреднения торговал,нужно наоборот очень большое число поставить,ведь чем меньше интервал выставишь,чем чаще будет усредняться,если не прав поправьте)
К это усреднение тиков вроде как, и участвует в расчёте импульса если я правильно понял
 

andd7272

Местный знаток
Очень интересно как робот себя поведет при сильных вылетах цены, как справится!!!!?
 

IgnatKR

Заблокирован
да, никак не справится
а если ещё учесть, такие нюансы как временные потери связи или просказывания, то получится реально большая погрешность
 
Верх