Перейти к содержимому

Theme© by Fisana
 

Фотография
* * * * * 68 Голосов

Написание экспертов и индикаторов - бесплатно!


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 18761

#4876 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 23 June 2011 - 11:52

Уважаемые программисты, Вы не могли бы помочь откорректировать строчку в экспе дабы он корректно выставлял стопы в зависимости от уровня ATR прошлого дня и заданного коэффициента K_StopLoss, а то что-то работает не корректно. И еще подскажите как добавить ограничение на максимальный стоп MAX_SL например 70 пунктов, что бы если по расчетам больше то брался максимально указанный. А то я полный профан, но пробую разобраться.
Спасибо.

if (K_StopLoss!=0) ldStop=NormalizeDouble(pAsk-iCustom("EURUSD",PERIOD_D1,"ATR",1,0,0)*K_StopLoss,Digits);
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake, 1);

Не видя индикатора АTR трудно понять что нужно править, но попробуем:
if (K_StopLoss!=0) ldStop=NormalizeDouble(pAsk-iCustom("EURUSD",PERIOD_D1,"ATR",1,0,1)*K_StopLoss,Digits);
берем значени индикатора прошлого дня.
Что касается ограничение, то так
if(NormalizeDouble(pAsk-iCustom("EURUSD",PERIOD_D1,"ATR",1,0,1)*K_StopLoss,Digits)/Point>70)ldStop=70*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake, 1);
Пишу советники/индикаторы/cкрипты Пишите мне

 
 

#4877 Zephir

Zephir

    Первый выстрел

  • Новички
  • PipPip
  • 2 сообщений

Отправлено 23 June 2011 - 12:14

Уважаемые программисты.
Есть следующая идея для советника.

Советник открывает ордер на сел и ставит стопы на 10 пунктов в обе стороны: ТП и СЛ.
Если ордер закрывается по ТП то тут же открывается такой же в ту же сторону.
Если до этого был на селл то следующий будет то же селл с тем же лотом 0.1.

Если ордер закрывается по СЛ тогда, следующий открывается в обратную сторону - на бай.
Если предыдущий открывался 0.1 лотом, то следующий за СЛ откроется 0.2 лотом, если снова СЛ то 0.4 и т.д.
В случае если следующий закрылся по ТП, то следующий открывается стандартным лотом 0.1

И т.д. пока работает терминал.

ТП и СЛ лучше вынести в отдельное окно, что бы их можно было менять.

Сообщение отредактировал Zephir: 23 June 2011 - 14:08


#4878 Raf

Raf

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 551 сообщений

Отправлено 23 June 2011 - 13:36

Уважаемые программисты.
Есть следующая идея для советника.

Советник открывает орден на сел и ставит стопы на 10 пунктов в обе стороны: ТП и СЛ.
Если орден закрывается по ТП то тут же открывается такой же в ту же сторону.
Если до этого был на селл то следующий будет то же селл с тем же лотом 0.1.

Если орден закрывается по СЛ тогда, следующий открывается в обратную сторону - на бай.
Если предыдущий открывался 0.1 лотом, то слдедующий за СЛ откроется 0.2 лотом, если снова СЛ то 0.4 и т.д.
В случае если следующий закрылся по ТП, то следующий открывается стандартным лотом 0.1

И т.д. пока работает терминал.

ТП и СЛ лучше вынести в отдельное окно, что бы их можно было менять.



Советник открывает:rolleyes: "ордер". Без обид ....
  • test это нравится
  Если не контролировать эмоции, змоции начнут контролироать ваши деньги

#4879 AndrewZ

AndrewZ

    Не сидит в окопе

  • Пользователи
  • PipPipPipPipPip
  • 60 сообщений

Отправлено 23 June 2011 - 13:38

Не видя индикатора АTR трудно понять что нужно править, но попробуем:
if (K_StopLoss!=0) ldStop=NormalizeDouble(pAsk-iCustom("EURUSD",PERIOD_D1,"ATR",1,0,1)*K_StopLoss,Digits);
берем значени индикатора прошлого дня.
Что касается ограничение, то так
if(NormalizeDouble(pAsk-iCustom("EURUSD",PERIOD_D1,"ATR",1,0,1)*K_StopLoss,Digits)/Point>70)ldStop=70*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake, 1);


ATR стандартный из терминала. K_StopLoss коэффициент 0.84 например что-то в первоначальном варианте считает не правильно?
Сейчас попробую то что Вы предложили.

Вроде работает. Только ограничение вроде так - if(NormalizeDouble(iCustom("EURUSD",PERIOD_D1,"ATR",1,0,1)*StopLoss,Digits)/Point>SL_MAX)ldStop=pAsk-SL_MAX*Point; тогда работает.

Спасибо за помощь.

#4880 Zephir

Zephir

    Первый выстрел

  • Новички
  • PipPip
  • 2 сообщений

Отправлено 23 June 2011 - 14:09

Советник открывает:rolleyes: "ордер". Без обид ....


Спасибо за замечание.
Пост исправил.

#4881 mercyr

mercyr

    Просто в курсе

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5142 сообщений

Отправлено 23 June 2011 - 14:20

Василий день добрый! Встаю в очередь с просьбой. Нужен будильник типа таймер, с обратным отсчетом
до момента "00-00", звучит сигнал и таймер начинает отсчет снова. Типа 05-00, 04-59, 04-58, 04-57 и т.д. ....
Настраиваемый период я думаю привязывается непосредственно к таймферу на котором открыт график.
Ну размер, цвет и местоположение табло должны меняться в настройках. Вот такая просьба.
Перерыл иннет пока хорошего варианта не нашел, в основном все до конца текущей свечи и привязаны к графику
что не совсем удобно. Хотелось бы компактный вариант где нибудь в углу графика.
Вот как этот вариант "ЦЕНА", только "ВРЕМЯ". Удач Вам, и будем ждать! Да может готовый уже есть какой?

Прикрепленные изображения

  • ЦЕНА.gif

"Хрустальные змеи вьют кольца в тумане, oт дыма твоих сигарет... Я верю, что истина в этом стакане и в том, что погаснет свет..."
Край отважного Ермака, край суровых гор, свободных степей и глубоких озер, - прекрасное "Прииртышье"!!! Как я по тебе скучаю Родина моя!!!
Mercyr.gif
 


#4882 AndrewZ

AndrewZ

    Не сидит в окопе

  • Пользователи
  • PipPipPipPipPip
  • 60 сообщений

Отправлено 23 June 2011 - 14:29

Подскажите пожалуйста строчку кода лот в % от свободной маржи.

#4883 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 23 June 2011 - 15:13

ATR стандартный из терминала. K_StopLoss коэффициент 0.84 например что-то в первоначальном варианте считает не правильно?
Сейчас попробую то что Вы предложили.

Вроде работает. Только ограничение вроде так - if(NormalizeDouble(iCustom("EURUSD",PERIOD_D1,"ATR",1,0,1)*StopLoss,Digits)/Point>SL_MAX)ldStop=pAsk-SL_MAX*Point; тогда работает.

Спасибо за помощь.

Рад что у тебя получилось. Если индикатор стандартный не проще ли вместо iCustom пользоваться прописанной

double iATR( string symbol, int timeframe, int period, int shift)
Расчет индикатора Average True Range.
Параметры:
symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period - Период усреднения для вычисления индикатора.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:
if(iATR(NULL,0,12,0)>iATR(NULL,0,20,0)) return(0);
  • AndrewZ это нравится
Пишу советники/индикаторы/cкрипты Пишите мне

#4884 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 23 June 2011 - 15:18

Подскажите пожалуйста строчку кода лот в % от свободной маржи.

вот так:
double procent=2.34;
Print("Свободная маржа счета = ",AccountFreeMargin());
double lot=NormalizeDouble(AccountFreeMargin()*procent/100,2);

  • AndrewZ это нравится
Пишу советники/индикаторы/cкрипты Пишите мне

#4885 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 23 June 2011 - 15:51

Василий день добрый! Встаю в очередь с просьбой. Нужен будильник типа таймер, с обратным отсчетом
до момента "00-00", звучит сигнал и таймер начинает отсчет снова. Типа 05-00, 04-59, 04-58, 04-57 и т.д. ....
Настраиваемый период я думаю привязывается непосредственно к таймферу на котором открыт график.
Ну размер, цвет и местоположение табло должны меняться в настройках. Вот такая просьба.
Перерыл иннет пока хорошего варианта не нашел, в основном все до конца текущей свечи и привязаны к графику
что не совсем удобно. Хотелось бы компактный вариант где нибудь в углу графика.
Вот как этот вариант "ЦЕНА", только "ВРЕМЯ". Удач Вам, и будем ждать! Да может готовый уже есть какой?


Реализовал как скрипт:
timeStart ="04:55";// время таймера если меньше минуты то впереди 0 ставить
font=15;//размер шрифта
col=Red;//цвет шрифта

Выделяем мышью и тащим в любое место экрана, там таймер и остается.
Отключить таймер правой кнопкой мышки "Удалить скрипт"

Прикрепленные файлы

  • Прикрепленный файл  taimer.mq4   1.66К   19 скачиваний

  • Charli это нравится
Пишу советники/индикаторы/cкрипты Пишите мне

#4886 Mo3r

Mo3r

    Рвется в бой

  • Свой человек
  • PipPipPipPipPipPip
  • 112 сообщений

Отправлено 23 June 2011 - 16:09

Vasili сделайте пожалуйста по этому индикатору.....Прикрепленный файл  BBand Stop Alert.mq4   5.27К   34 скачиваний
сделки в момент появления стрелок .....закрытие на смене цвета......




#4887 Raf

Raf

    Пошёл в рукопашку

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPip
  • 551 сообщений

Отправлено 23 June 2011 - 16:45

Уважаемые программисты.
Есть следующая идея для советника.

Советник открывает ордер на сел и ставит стопы на 10 пунктов в обе стороны: ТП и СЛ.
Если ордер закрывается по ТП то тут же открывается такой же в ту же сторону.
Если до этого был на селл то следующий будет то же селл с тем же лотом 0.1.

Если ордер закрывается по СЛ тогда, следующий открывается в обратную сторону - на бай.
Если предыдущий открывался 0.1 лотом, то следующий за СЛ откроется 0.2 лотом, если снова СЛ то 0.4 и т.д.
В случае если следующий закрылся по ТП, то следующий открывается стандартным лотом 0.1

И т.д. пока работает терминал.

ТП и СЛ лучше вынести в отдельное окно, что бы их можно было менять.


Таких мартинов полный инет. За депо не боишься? Я уже сколько их выкладывал здесь для теста, отлистай назад - найдёшь под названием "автофорекс"
  Если не контролировать эмоции, змоции начнут контролироать ваши деньги

#4888 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 23 June 2011 - 16:57

Vasili сделайте пожалуйста по этому индикатору.....Прикрепленный файл  BBand Stop Alert.mq4   5.27К   34 скачиваний
сделки в момент появления стрелок .....закрытие на смене цвета......


параметры индикатора
key=334;//magicNumber
slip=10;//slippage
double lot=0.10;//Volume order
loss=30;//StopLoss
take=30;//TakeProfit
//индикатор
indicatorName="BBand Stop Alert";//название файла индикатора
Length=8; // Bollinger Bands Period
Deviation=1; // Deviation was 2
MoneyRisk=1.00; // Offset Factor
Signal=1; // Display signals mode: 1-Signals & Stops; 0-only Stops; 2-only Signals;
Line=1; // Display line mode: 0-no,1-yes
Nbars=1000;

Прикрепленные файлы


  • dbtennism и Mo3r это нравится
Пишу советники/индикаторы/cкрипты Пишите мне

#4889 AndrewZ

AndrewZ

    Не сидит в окопе

  • Пользователи
  • PipPipPipPipPip
  • 60 сообщений

Отправлено 23 June 2011 - 17:52

вот так:

double procent=2.34;
Print("Свободная маржа счета = ",AccountFreeMargin());
double lot=NormalizeDouble(AccountFreeMargin()*procent/100,2);


Рад что у тебя получилось. Если индикатор стандартный не проще ли вместо iCustom пользоваться прописанной

double iATR( string symbol, int timeframe, int period, int shift)
Расчет индикатора Average True Range.
Параметры:
symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
period - Период усреднения для вычисления индикатора.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Пример:
if(iATR(NULL,0,12,0)>iATR(NULL,0,20,0)) return(0);


Спасибо буду пробовать.

#4890 mercyr

mercyr

    Просто в курсе

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 5142 сообщений

Отправлено 23 June 2011 - 18:08

Реализовал как скрипт:
timeStart ="04:55";// время таймера если меньше минуты то впереди 0 ставить
font=15;//размер шрифта
col=Red;//цвет шрифта

Выделяем мышью и тащим в любое место экрана, там таймер и остается.
Отключить таймер правой кнопкой мышки "Удалить скрипт"

Ну слов нет!!! Super Pupper! Здоровско!
Небольшие пожелания: 1- почему-то двигается скачками (подтормаживает), 2- можно ли шрифт поменять на потолще
типа Impact, 3- вместо 04:07 показывает 4:7 как то непривычно. Ну и если будет свободное время :bow::yahoo::bow:
может сделаешь дубликат со звуком (будильник). Нашел звуковые файлы в сети, попробую прицепить.
может понадобятся?

Прикрепленные файлы

  • Прикрепленный файл  pulil.wav   18.83К   14 скачиваний
  • Прикрепленный файл  ruu.wav   34.15К   14 скачиваний
  • Прикрепленный файл  ringin.wav   9.8К   14 скачиваний

  • Charli это нравится

"Хрустальные змеи вьют кольца в тумане, oт дыма твоих сигарет... Я верю, что истина в этом стакане и в том, что погаснет свет..."
Край отважного Ермака, край суровых гор, свободных степей и глубоких озер, - прекрасное "Прииртышье"!!! Как я по тебе скучаю Родина моя!!!
Mercyr.gif
 




Copyright © 2024 Your Company Name