Скачать MetaTrader 5

Советники: e-PSI@MAStoch v.27.08.2012

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не нашел нужную программу? Закажи ее!
MetaQuotes Software Corp.
Модератор
181413
MetaQuotes Software Corp. 2012.02.29 11:34 

e-PSI@MAStoch v.27.08.2012:

Советник: MA и Stochastic - классика жанра (Мартингейл - довесок).

Author: TarasBY

Barrier_Reef
83
Barrier_Reef 2012.03.03 14:09  
Очень неплохо)
TarasBY
1742
TarasBY 2012.03.03 17:57  
ProIgorok:
Очень неплохо)
Спасибо!)
kuk
66
kuk 2012.03.06 06:20  
У меня получилась такая картинка.Почему такая разница?
TarasBY
1742
TarasBY 2012.03.06 12:56  
kuk: У меня получилась такая картинка. Почему такая разница?
Во-первых, есть такой процесс, называется "оптимизация" при котором подбираются оптимальные параметры работы советника.
Во-вторых, для каждого отдельно взятого ДЦ подбираются СВОИ параметры.
gekz
9
gekz 2012.03.07 05:57  

привет

а как быть с пяти знаком?

чёт не получилось открыть сделку в тестере(((

TarasBY
1742
TarasBY 2012.03.07 06:51  
gekz: привет

а как быть с пяти знаком?
чёт не получилось открыть сделку в тестере(((

Привет!

С этим ещё проще. В коде (напомню, что код открытый) есть упоминание, что значения вводятся, как для 4-ёх знаков. И все мои работы выполнены по этому принципу. Есть математически 2 варианта:

1-ый - вводить 5-ти знаковую разрядность, и если ДЦ работает с 4-мя знаками, автоматически пересчитывать значения;
2-ой - наоборот, вводить 4-рёх знаковую разрядность, и для 5-ти значного ДЦ пересчитывать.

Я выбрал второй вариант.

Если тестер не открывает ордера в режиме оптимизации, то, значит, Ваша логика формирования значений переменных друг относительно друга отличается от моей. Самый простой выход - сделайте следующее: в функции start() закомментируйте (поставьте перед строкой два слэша) первую строку и перекомпилируйте (кнопка "Компилировать" в MetaEditor`е) файл. Выглядеть в результате это должно так:

    //---- Для оптимизации убираем "пустые" варианты
    //if (fSet_Continue()) return (0);

P.S. Мне б такие задачки, где решение кроется за перебором из двух вариантов.

gekz
9
gekz 2012.03.07 08:11  
TarasBY:
gekz:

привет

а как быть с пяти знаком?

чёт не получилось открыть сделку в тестере(((

Привет!

С этим ещё проще. В коде (напомню, что код открытый) есть упоминание, что значения вводятся, как для 4-ёх знаков. И все мои работы выполнены по этому принципу. Есть математически 2 варианта:

1-ый - вводить 5-ти знаковую разрядность, и если ДЦ работает с 4-мя знаками, автоматически пересчитывать значения;
2-ой - наоборот, вводить 4-рёх знаковую разрядность, и для 5-ти значного ДЦ пересчитывать.

Я выбрал второй вариант.

Если тестер не открывает ордера в режиме оптимизации, то сделайте следующее: в функции start() закомментируйте (поставьте перед строкой два слэша) первую строку и перекомпилируйте (кнопка "Компилировать" в MetaEditor`е) файл. Выглядеть в результате это должно так:

    //---- Для оптимизации убираем "пустые" варианты
    //if (fSet_Continue()) return (0);

P.S. Мне б такие задачки, где решение кроется за перебором из двух вариантов.

что то всё равно не выходит(((

делаю обычно так

на старте получаю мин лот и пишу его в переменную

затем торгую только мин лотом

что то никак не могу разобрать и придумать как это делать на автомате((((

gekz
9
gekz 2012.03.07 08:14  

вообще этой системой пользуюсь уже лет пять

тут чёта решил, а может есть у кого автомат

захожу сюда, а он в первом сообщении))))

правда есть отличие

у меня 1 вход и сигнал после выхода из зоны, тут наоборот

при входе и если идёт выше(ниже), то открываем ещё один на разницу дельта

TarasBY
1742
TarasBY 2012.03.07 08:47  
gekz: на старте получаю мин лот и пишу его в переменную

затем торгую только мин лотом
что то никак не могу разобрать и придумать как это делать на автомате((((

Вот эта строчка:

Print ("Плечо = ", AccountLeverage(), " | MIN Lot = ", DoubleToStr (gd_MINLOT, gi_dig), " | MAX Lot = ", DoubleToStr (gd_MAXLOT, gi_dig));

если её забросить (прописать) в функцию init(), будет получать/прописывать в лог (надеюсь знаете куда) значение минимального лота, заданного ДЦ, если Вы до сих пор не знаете (такое тоже бывает) размера минимального лота своего ДЦ. А затем настраиваете ММ:

UseMM = false;
Order_Lots = MINLOT;

Я не вижу здесь никаких трудностей, тем более для человека "давно торгующего"...

TarasBY
1742
TarasBY 2012.03.07 09:01  
gekz: у меня 1 вход и сигнал после выхода из зоны, тут наоборот

при входе и если идёт выше(ниже), то открываем ещё один на разницу дельта

Добавленный мной (к оригинальному коду) вариант входа (iVariantSend = 1) использует этот подход, НО несколько модифицированный. Открываемся, если сигнал вышел из зоны не более чем через iZone баров после захода в зону - умеренное состояние перекупленности/перепроданности и этот сигнал ещё фильтруем МА-шкой. При iVariantSend = 2 сигналы МА-шкой не фильтруются. При желании можно изменить размер этой зоны. По умолчанию iZone = 5.
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий