Ответить
12.07.2012, 14:45
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
А что там не так? У меня открылось сразу 2 отложенных ордера.

Увидел.
Через эту строчку советник не доходит до подсчёта и открытия ордеров. Кстати. Для чего она?
if (n>0 || Profit!=0) return;
Вот именно eevviill!!!! блин и даром там не нужна!!! теперь все в полном порядке!!! Условие выполняется полностью.
Только что-то в визуализация в тестере отсутствует, в чем проблема может быть?
12.07.2012, 15:04
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
Вот именно eevviill!!!! блин и даром там не нужна!!! теперь все в полном порядке!!! Условие выполняется полностью.
Только что-то в визуализация в тестере отсутствует, в чем проблема может быть?
У меня всё визуализирует.
Aterk 
12.07.2012, 15:23
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
У меня всё визуализирует.
Так, все в порядке, заработало. Терминал завис, испугался что-ли).
Спасибо, eevviill. С этим уроком я разобрался почти на все 100%.
сейчас множитель лота прикрутить и можно будет смотреть что за зверь.
13.07.2012, 10:46
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
У меня всё визуализирует.
eevviill еще один вопрос, как реализовать в моем примере увеличение лота на коэфициент K_Lot с каждым новым отложенным ордером. Вроде как по ходу мысли понятно, а вот програмно отразить не получается.
13.07.2012, 12:10
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
eevviill еще один вопрос, как реализовать в моем примере увеличение лота на коэфициент K_Lot с каждым новым отложенным ордером. Вроде как по ходу мысли понятно, а вот програмно отразить не получается.
Если те что на графике, то думаю так.
PHP код:
extern int K_Lot=2;
 
int start()
{
...
CountOpenPositions();
int koef_BS_orders=buy_stop;
int koef_SS_orders=sell_stop;
double Lot_BS=Lot;
if(
buy_stop>0){
Lot_BS=Lot*K_Lot*koef_BS_orders;
}
double Lot_SS=Lot;
if(
sell_stop>0){
Lot_SS=Lot*K_Lot*koef_SS_orders;
}
 
 if (
buy_stop<MaxStopOrders)
 
OrderSend(Symbol(),OP_BUYSTOP,Lot_BS,Ask+delta*point,slippage,StopLoss,TakeProfit,comment,magic,0,Green); 
 if (
sell_stop<MaxStopOrders)
 
OrderSend(Symbol(),OP_SELLSTOP,Lot_SS,Bid-delta*point,slippage,StopLoss,TakeProfit,comment,magic,0,OrangeRed); 
Но потом тебе ещё надо будет упорядочить Лот. Чтобы он был таким как разрешает брокер. Пригодится
PHP код:
NormalizeDouble,MODE_MINSTEP,MODE_MINLOT 
Aterk 
13.07.2012, 12:39
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
Если те что на графике, то думаю так.
PHP код:
extern int K_Lot=2;
 
int start()
{
...
CountOpenPositions();
int koef_BS_orders=buy_stop;
int koef_SS_orders=sell_stop;
double Lot_BS=Lot;
if(
buy_stop>0){
Lot_BS=Lot*K_Lot*koef_BS_orders;
}
double Lot_SS=Lot;
if(
sell_stop>0){
Lot_SS=Lot*K_Lot*koef_SS_orders;
}
 
 if (
buy_stop<MaxStopOrders)
 
OrderSend(Symbol(),OP_BUYSTOP,Lot_BS,Ask+delta*point,slippage,StopLoss,TakeProfit,comment,magic,0,Green); 
 if (
sell_stop<MaxStopOrders)
 
OrderSend(Symbol(),OP_SELLSTOP,Lot_SS,Bid-delta*point,slippage,StopLoss,TakeProfit,comment,magic,0,OrangeRed); 
Но потом тебе ещё надо будет упорядочить Лот. Чтобы он был таким как разрешает брокер. Пригодится
PHP код:
NormalizeDouble,MODE_MINSTEP,MODE_MINLOT 
Благодарю, будем крутить гайки дальше)
13.07.2012, 14:52
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™

По умолчанию .

В шаблон добавил мартингейла + выставляльщик стопов.
13.07.2012, 14:57
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
В шаблон добавил мартингейла + выставляльщик стопов.
И в очередной раз порадовали!)
13.07.2012, 15:44
Аватар для 777igor777
777igor777 777igor777 вне форума Прохожий
Регистрация: 13.07.2012 / Сообщений: 2
Поблагодарили 0 раз(а) / Репутация: 1
eevviill,добрый день-вопрос по функции iCustom. Вы пишете : Наш пример будет основан на советнике который берет данные с индикатора sidus : и далее текст программы.
Я понял что этот текст- и есть советник.
Но затем скачал текст прикрепленного внизу индикатора siduc и увидел тот же текст?!
Так где-же индикатор, а где советник я так и не понял. Помогите разобраться пожалуйста.
13.07.2012, 15:48
Аватар для 777igor777
777igor777 777igor777 вне форума Прохожий
Регистрация: 13.07.2012 / Сообщений: 2
Поблагодарили 0 раз(а) / Репутация: 1
eevviill добрый день
13.07.2012, 16:34
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
Но затем скачал текст
Я думаю вам надо сначало все уроки перечитать.

Цитата:
Так где-же индикатор, а где советник я так и не понял. Помогите разобраться пожалуйста.
Если прикреплено 2 файла. 1 из них советник, то наверно второй индикатор.
14.07.2012, 09:15
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
Я так понимаю тема массивы сложна не на шутку, но может eevviill попробует растолковать от самых мелочей, с чего начинать, как заполнять масссив и как использовать эти данные.
14.07.2012, 09:50
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
Я так понимаю тема массивы сложна не на шутку, но может eevviill попробует растолковать от самых мелочей, с чего начинать, как заполнять масссив и как использовать эти данные.
О. Вот с этим не дружу. Пока обхожусь без них.
14.07.2012, 10:01
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
О. Вот с этим не дружу. Пока обхожусь без них.
Мда, тоже так по разным ресурсам побродил, почитал всякое и понял, рановато туда вникать с моим то набором знаний в этой области.
14.07.2012, 12:09
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
У меня вопрос по 13 уроку...

3)Условие на покупку. Мы указали что если значение arrow_up больше 0 то бай.

if(arrow_up>0)
if(arrow_down>0)

Почему эти значения больше 0? Обьясните почему вы именно такое условие задаете?
14.07.2012, 13:45
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
У меня вопрос по 13 уроку...

3)Условие на покупку. Мы указали что если значение arrow_up больше 0 то бай.

if(arrow_up>0)
if(arrow_down>0)

Почему эти значения больше 0? Обьясните почему вы именно такое условие задаете?
Цытируюю себя. Более подробно объяснить не могу.

3)Условие на покупку. Мы указали что если значение arrow_up больше 0 то бай.
Почему именно так???
Тут надо проводить опыт.
3.1)После функции iCustom где нибудь в конце пишем строчку
Alert(arrow_up," ",arrow_down). Это делается для того чтобы узнать что(какое значение) нам возвращает индикатор.
3.2)Заходим в тестер. Запускаем советник с визуализацией. После окончания тестирования заходим в вкладку журнал тестера и смотрим что там нам Алерт писал.
3.3)Итак. Когда стрелок нет Алерт выдаёт (0 0). Вывод (0-стрелки вверх нету 0-стрелки вниз нету).
Если (1.2345 0). Вывод. Ага! Если появилась стрелка вверх, то индикатор возвпащает цену где появилась. Ну и наоборот.
Конечный итог. 0=нету сигнала. >0 есть сигнал.


P.S. Обычно индикаторы если нет сигнала возвращают что то типа 567765543. Тогда надо так if(arrow_up<50000).
14.07.2012, 13:57
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
Я так понимаю тема массивы сложна не на шутку, но может eevviill попробует растолковать от самых мелочей, с чего начинать, как заполнять масссив и как использовать эти данные.
Вот нашел.

Массивы (Arrays)

В жизни мы часто группируем похожие объекты. В программировании тоже очень удобно группировать данные одного типа. Для достижения этой цели используются массивы.
Массив - это упорядоченное множество элементов одного типа. Нумерация в массиве начинается с нуля.
Объявление массива:
int my_array[50];

Здесь мы объявили массив, в котором может содержатся до 50 (включительно) элементов типа integer.
Доступ к элементу происходит по его индексу.
Например, доступ к 0-вому элементу массива и присваивания ему значения 16 выглядит так:
my_array[0] = 16;

Массив можно инициализировать в строчке его объявления. Делается это так:int my_array[5] = {16,24,15,8901,17}

Я то в принцыпе понимаю что это, и в самых простых случаях могу даже их применить, но не более. Это что то типа групирования данных.

int mass[45]; это обявление размера массива(46 елементов).
...
mass[23]=78; это мы присвоили 24 елементу массива число 78;

Бывает в виде матрицы(многомерными) .
int mass[5][45]; тоесть на каждый элемент 1-ой групы есть 46 элементов второй.
Aterk , Milord 
14.07.2012, 14:12
Аватар для saenko
saenko saenko вне форума Интересующийся
Регистрация: 29.04.2011 / Сообщений: 26
Поблагодарили 3 раз(а) / Репутация: 4
а вы определяете какое значение возвращает индикатор?
14.07.2012, 14:31
Аватар для Aterk
Aterk Aterk вне форума Новичок форума
Регистрация: 15.02.2011 / Сообщений: 21
Поблагодарили 9 раз(а) / Репутация: 10
Вот нашел.

Массивы (Arrays)

В жизни мы часто группируем похожие объекты. В программировании тоже очень удобно группировать данные одного типа. Для достижения этой цели используются массивы.
Массив - это упорядоченное множество элементов одного типа. Нумерация в массиве начинается с нуля.
Объявление массива:
int my_array[50];

Здесь мы объявили массив, в котором может содержатся до 50 (включительно) элементов типа integer.
Доступ к элементу происходит по его индексу.
Например, доступ к 0-вому элементу массива и присваивания ему значения 16 выглядит так:
my_array[0] = 16;

Массив можно инициализировать в строчке его объявления. Делается это так:int my_array[5] = {16,24,15,8901,17}

Я то в принцыпе понимаю что это, и в самых простых случаях могу даже их применить, но не более. Это что то типа групирования данных.

int mass[45]; это обявление размера массива(46 елементов).
...
mass[23]=78; это мы присвоили 24 елементу массива число 78;

Бывает в виде матрицы(многомерными) .
int mass[5][45]; тоесть на каждый элемент 1-ой групы есть 46 элементов второй.
Я так понимаю это как сетка где [x][y] координаты нужной нам ячейки, типа "морской бой". Занесли по координатам инфу, потом по ним же читаем. А чтобы понимать что меняется в массиве, сравниваем массив с предыдущего тика с массивом на текущем. И видим куда уплыли наши корабли... Вот как то так.
14.07.2012, 14:38
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,029 раз(а) / Репутация: 9029
  • Отправить сообщение для eevviill с помощью Skype™
а вы определяете какое значение возвращает индикатор?
Всмысле? Если не знать что возвращает индикатор если нет сигнала, то мы не сможем написать условие на вход.
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 16:07. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO