Помогите в написании советника.

 
Хочу написать свой советник изучаю MQL4.Но так как я новичок в этом деле прошу помочь мне знающих программистов. Не хочу просить написать, хочу написать чтобы все понимать досконально.И вот у меня первый вопрос : как написать функцию, чтобы направление открытие сделки определялось по предыдущей свечи (бар), например если открытие текущей свечи (бар) происходит ниже закрытие предыдущей то sell а стоп автоматом выставляется по Максимуму предыдущей свечи (бар) и наоборот с bay .
 

Я от Вас недалеко ушел в программировании, поэтому могу посоветовать, с чего начинать с советником, пока программисты не засыпали Вас непонятными кодами.

Для начала определяем понятия.

1. "направление открытие сделки". Создаем переменную int Direction. Принимаем, что если Direction=1, то это сигнал buy, а если Direction=-1, то это сигнал sell.

2. "открытие текущей свечи". Тут проще, есть стандартная функция Open[0]. 0 - нулевой (текущий) бар.

3. "закрытие предыдущей". Стандартная функция Close[1]. 1 - первый (предыдущий) бар.

4. "Максимуму предыдущей свечи". Стандартная функция High[1]. 1 - первый (предыдущий) бар.

Понятия определены, пишем алгоритм свободным штилем (просто я не знаю, как его правильно пишут эти проклятые программисты). :))

Если (Open[0]<Close[1]) то Direction=-1 Стоп=High[1]

При этом для дальнейшего написания предусматриваем, в какой момент мы откроем ордер, будем ли мы предварительно закрывать существующий встречный ордер, какое количество открытых ордеров мы предполагаем одновременно иметь в рынке и пр., и пр. То есть, описываем словами нашу стратегию. Например, переворотная: в рынке всегда один ордер, сигнал на открытие очередного ордера является сигналом на закрытие существующего ордера встречного направления.

Далее берем стандартные функции обработки ордеров, взятые из надежного источника, например из функций Игоря Кима и начинаем писать код. То есть, Вы начинаете. Удачи.

 
granit77 >>:

Я от Вас недалеко ушел в программировании, поэтому могу посоветовать, с чего начинать с советником, пока программисты не засыпали Вас непонятными кодами.

Для начала определяем понятия.

1. "направление открытие сделки". Создаем переменную int Direction. Принимаем, что если Direction=1, то это сигнал buy, а если Direction=-1, то это сигнал sell.

2. "открытие текущей свечи". Тут проще, есть стандартная функция Open[0]. 0 - нулевой (текущий) бар.

3. "закрытие предыдущей". Стандартная функция Close[1]. 1 - первый (предыдущий) бар.

4. "Максимуму предыдущей свечи". Стандартная функция High[1]. 1 - первый (предыдущий) бар.

Понятия определены, пишем алгоритм свободным штилем (просто я не знаю, как его правильно пишут эти проклятые программисты). :))

Если (Open[0]<Close[1]) то Direction=-1 Стоп=High[1]

При этом для дальнейшего написания предусматриваем, в какой момент мы откроем ордер, будем ли мы предварительно закрывать существующий встречный ордер, какое количество открытых ордеров мы предполагаем одновременно иметь в рынке и пр., и пр. То есть, описываем словами нашу стратегию. Например, переворотная: в рынке всегда один ордер, сигнал на открытие очередного ордера является сигналом на закрытие существующего ордера встречного направления.

Далее берем стандартные функции обработки ордеров, взятые из надежного источника, например из функций Игоря Кима и начинаем писать код. То есть, Вы начинаете. Удачи.

тока чуть чуть поправляю... :) Open[i], Close[i], High[i] - не есть функции, а есть массивы-таймсерии, содержащие, соответственно, цену открытия, закрытия и максимальную цену i-го бара (свечи)... :)
 
Спасибо, попробую!
 
нужен програмист с ростова на дону.помогите
 
COLORIT_PROFI:
нужен програмист с ростова на дону.помогите

А какая разница откуда программист? Интернет, он и в Африке интернет.
 
drknn:

А какая разница откуда программист? Интернет, он и в Африке интернет.
если не так что запрограмил, что-бы можно было "дотянуться"... :)
 
Michelangelo:
если не так что запрограмил, что-бы можно было "дотянуться"... :)

Программер, который пишет "на заказ", как правило, исправляет допущенные им ошибки бесплатно. Смысла нет кидать клиента - ну кинешь раз-другой, а толку? Всё равно столько денег, сколько ты можешь заработать, столько ни когда преступным путём не обретёшь. Да и потом, заработок - штука законная и постояная. Кидок - штука противозаконная и единоразовая. Кидать клиента - себе в убыток.
 
Доброго время суток! Помогите пожалуста написать советник, чтоб сразу после прохождения tp или sl в один момент открывался новый ордер.

Если BUY TP то вкл. BUY; 

Если BUY по SL то вкл. SELL;

Если SELL по TP то вкл. SELL; 

Если SELL по SL то вкл. BAY;

Я только недавно начал изучать MQL, ломаю голову уже несколько суток. Без помощие не могу разобраться! Буду признателен!!

если есть идеи пишите пожалуста в личку!
Причина обращения: