Скачать MetaTrader 5

Советники: Эксперт "Торговля в канале"

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes Software Corp.
Модератор
182374
MetaQuotes Software Corp. 2010.09.23 11:17 

Эксперт "Торговля в канале":

Эксперт предназначен для полуавтоматической торговли внутри равноудалённого торгового канала как по тренду, так и против тренда.

Author: Владимир Корякин

Владимир Корякин
58
Владимир Корякин 2010.09.23 12:52  
Savl:
а второй файл куда?

Второй файл - компилированная версия первого, должен находиться в той же папке, что и первый. Специально туда его можно не помещать, а просто скомпилировать первый файл, а заодно проверить его на наличие/отсутствие ошибок при компиляции.
Pavel Pronin
160
Pavel Pronin 2010.09.23 12:57  

Спасибо)

автор молодец) идея отличная) +10

MQL4 Comments
16319
MQL4 Comments 2010.09.28 14:05  

Можно ли внести изменения в код что бы выбирать количество лотов открытия позиции и почему не всегда при пересечении линий канала подается сигнал на открытие позиции?

Владимир Корякин
58
Владимир Корякин 2010.09.29 12:16  

В TradeChannel_v_3.mql следует изменить код в 3 строке блока:

//------- П О К А Ж Е М Г Д Е Б У Д У Т З А К Р Ы В А Т Ь С Я О Р Д Е Р А --------
if (d<0) zona1 = sign*(DELTA+swap)*Point;
else zona1 = sign*DELTA*Point;
double lrc1=p1+d-zona1; double lrc2=p2+d-zona1; // Параметры цены для
ObjectCreate("LineRealClose",OBJ_TREND,0,t1,lrc1,t2,lrc2);
ObjectSet("LineRealClose",OBJPROP_STYLE,STYLE_DASH);
ObjectSet("LineRealClose",OBJPROP_WIDTH,1);
if ((trend && potrendu)||(!trend && !potrendu)) ObjectSet("LineRealClose",OBJPROP_COLOR,DeepPink);
else ObjectSet("LineRealClose",OBJPROP_COLOR,Lime);
double LineRealClose = ObjectGetValueByShift("LineRealClose",0); // текущее значение линии

Вместо:

double lrc1=p1+d-zona1; double lrc2=p2+d-zona1; // Параметры цены для

Нужно написать:

double lrc1=p1+d-zona1*FACTOR; double lrc2=p2+d-zona1*FACTOR; // Параметры цены для

Иначе FACTOR работать не будет.

Владимир Корякин
58
Владимир Корякин 2010.09.29 12:30  
VVP17:

Можно ли внести изменения в код что бы выбирать количество лотов открытия позиции и почему не всегда при пересечении линий канала подается сигнал на открытие позиции?


1. Для того, чтобы ордера открывались они должны соответствовать требованиям брокера.

2. Для того, чтобы сделать величину лота произвольной величиной нужно:

А. Сделать переменную Lot внешней переменной, дописав:

extern double Lot = ?.????;

в голове программы.

Б. Отменить все присваивания переменной Lot значения функции double GetLot(int MaxRisk); поискав эти присваивания в основном теле программы, строки типа:

Lot=GetLot(MaxRisk);

Владимир Корякин
58
Владимир Корякин 2010.09.29 12:43  

Благодарности:

Выражаю благодарнрсть Александру Парнюк, за его "Уроки..." на "MQL для тебя". Его библиотека mylib.mq4 полностью вошла в мой программный код.

MQL4 Comments
16319
MQL4 Comments 2010.09.29 19:36  

Благодарю! Это лучшее, что я нашел из экспертов.

Владимир Корякин
58
Владимир Корякин 2010.10.03 09:04  
VVP17:

Можно ли внести изменения в код что бы выбирать количество лотов открытия позиции и почему не всегда при пересечении линий канала подается сигнал на открытие позиции?


... Линия открытия ордеров (она же основная линия канала) и вспомогательная линия (прочерченная пунктиром) при открытии ордеров типа BUY разведены на расстояние Delta+swap, где swap=Ask-Bid, поэтому при пересечении ценой Bid пунктирной линии создаётся впечатление касания зоны открытия ордеров. Дождитесь, когда этой линии коснётся цена Ask (по которой Вы покупаете) и ордер откроется.
Владимир Корякин
58
Владимир Корякин 2010.10.04 16:57  
###########################################################

Дискуссия на странице: "Улучшенный эксперт 'Торговля в канале'"

###########################################################
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий