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

 
Slepoy >>:

Вопрос к профи . Помогите вывести в советнике MACDSample (стандартный в терминале) во внешние переменные настройки самого MACD.

FastEMA
 SlowEMA
 SignalSMA

У меня не получается.Вернее вывести в свойства получается , но они не работают. Заранее спасибо.

Во внешние параметры советника вставляете

extern int FastEMA=12;

extern int SlowEMA=26;

extern int SignalSMA=9;

А потом. 

Там, где есть вот эти цифры в коде (12.26.9)

Вместо них вставляете заданные переменные, например.

MacdCurrent=iMACD(NULL,0,FastEMA,SlowEMA,SignalSMA,PRICE_CLOSE,MODE_MAIN,0);

и т.д.

 
Slepoy писал(а) >>

Вопрос к профи . Помогите вывести в советнике MACDSample (стандартный в терминале) во внешние переменные настройки самого MACD.

FastEMA
SlowEMA
SignalSMA

У меня не получается.Вернее вывести в свойства получается, но они не работают. Заранее спасибо.

Примерно так

Файлы:
 
Если торговать в сторону тренда то можно брать любой советник хоть даже Илана и пускать по тренду и будет молотить., другой вопрос когда будет разворот цены и останется открытый ордер то тут только СЛ 

При развороте останется пачка ордеров Далее срабатывает стоп по трейлингу эквити. 
Если трейлинг по эквити не включился, то крыть всё при противоположенном сигнале. 
По идее- слабое место это частая смена сигнала. Хотя такая смена возможно в условиях флета,а при флете возможно будет успевать намолотить достаточно и включать трейлинг эквити. 
Или как вариант запускать при противоположенном сигнале " вторую руку" При условии что сигнал появился через несколько закрытых свечей(регулируемый параметр) после последнего сигнала.Т.к при флете сигнал на противоположенный может меняться достаточно часто, с дистанцией 3-4 свечи Но такое тоже не часто бывает.

Обьясняю подробно логику и вы всё поймёте сами!!! Кидаешь эксперт на график, он сразу же открывает две позиции на бай и на селл с ТР 9 пипсов, но без стопов. Цена начинает от этой точки куда-нибудь двигаться. Один из ордеров закрывается по ТР, ко второму через 4 пипса добавляется второй ордер лотом в 2 раза больше первого, если цена идёт против этих двух ордеров, то через 4 пипса открывается 3 ордер в 2 раза больше второго и так далее. Если цена всё же пошла в сторону этих оставшихся ордеров, то они закрываются по ТР и открываются противоположные ордера по тому же принципу. Вобщем вся торговля идёт возде того уровня где был первый раз запущен эксперт. То есть нужен строго горизонтальный, продолжительный флэт вокруг этого уровня для того чтоб эксперт зарабатывал. Как только цена уходит далеко от этого уровня, тут и приходит дядя Коля и стучит тебе в спину. 

В общем трейлинг по эквити. Если эквити растёт до определённного момента то включается трейлинг. Когда вышибает по эквити, фиксируется прибыль и пауза до начала следующего дня. 
Если эквити не растёт а сразу в минус идёт то фиксируется убыток на величину фиксированной доли( относительно неё же идёт подсчёт прибыли по эквити для трейлинга) 
И бэктест эксперта запущенного в бай по тренду за последний месяц. 
Там где просадка-была смена тренда и эксперт торговал против него, фиксировал убыток. 
Там где опять рост-снова по тренду. 
А теперь прикинь если туда встроить определитель тренда, организовать переворот при смене тренда..сделать трейлингстоп для последнего в цепи ордера 
и ещё некоторые навороты, например работу лимитными ордерами, 
то получится автоматизированный монстр.

Организовать переворот при смене тренда..сделать трейлингстоп для последнего в цепи ордера и ещё некоторые навороты, например работу лимитными ордерами - это все.

Трейлингстоп- на самый последний ордер в цепочке из открытых ордеров не ставим тейк,а трейлим. 
Если ордер становится предпоследним, то снимаем с него трейлинг и ставим просто тейк а трейлинг переносим на самый последний.  
Если по эквити включается трейлинг, то при смене сигнала продолжаем работать дальше, как и работали. 
3) Если эквити не доросло до включения трейлинга, то при смене сигнала 
закрываем всё. 
И открываемся опять в направлении сигнала.(переворачиваемся) 
а) false-true 
Если true, то всегда переворачиваемся по противоположенному сигналу. 
Лучший вариант только в процессе бэктеста. 
Далее: 
При закрытии цикла по трейлингу, лимите потерь фиксированной доли или по 
противоположенному сигналу, ждём следующего сигнала и 
открываемся. 
а)false-true 
Если true- то не ждём следующего сигнала,а открываемся. 
сразу по текущему. 
Примерно так...что будет лучше покажет только бэктест
Файлы:
ejoh.mq4  12 kb
 
день добрый, умные дядьки, помогите пожалуйста маленькому, как написать скрипт для удаления объектов не по имени, а по их стилю, нужно, что бы удалялись объекты (name,OBJPROP_ARROWCODE,158), они же - DOT, они же - точки, как сделать, подскажите кто-нить?
 

Доброго времени суток. Есть такой вопрос: хочу написать скрипт который будет рисовать фракталы на графике и сообщать о возникновении нового. пишу следующий код:

double a;
  double b;
  
  for (int x = 0; x < 20; x++)
  {
  a = iFractals(0,0,MODE_UPPER,5);
  b = iFractals(0,0,MODE_LOWER,5);
  if(a == 1)
  Alert(" up ");
  else
  if(b == 1)
  Alert("down");
  else
  MessageBox("lox","nax");
  }
Работать он кое как работает, но фракталы на графике не рисует. Подскажите плс, в чем причина и как сделать чтоб работало?

 

Господа профессионалы, программисы и трейдеры помогите пожайлуста в соседней ветки !

с советником справиться не могу осталось пару шагов сделать, никак не могу логику сообразить !

'советник (Expert) на основе АМА'

господа помогите кто чем может ! :"(

посдений шаг и советник в КодеБазе будет !

Простите что захломил форум!

 

Здравствуйте, подскажите пожалуйста как можно пометить на графике моменты исполнения стоплоссов или тейкпрофитов. Например моменты входа в рынок можно пометить цветом в функции OrderSend, а вот с SL и TP как быть?

 

Спасибо! Помогло.

Теперь бьюсь над трейлинг стопом на основе параболика(может кто подскажет готовое решение). Никак не могу сравнить текущую цену и показания isar. Пытаюсь так.

extern double stepslow=0.005;
extern double maximumslow=0.05;

double sarslow=iSAR(NULL,0,stepslow,maximumslow,1);

double ASK = NormalizeDouble(Ask,Digits);
sarslow= NormalizeDouble(sarslow,Digits);
if( ASK < sarslow){ ....

}

Не пойму, что не так делаю. И нормализавал и нет все без толку.

 
Вроде разобрался. Раньше по коду не удавалось дойти до этого места.
 
Vinin >>:

Примерно так

Огромное спасибо заработало. Буду разбираться дальше.

Причина обращения: