Закрытая тема
08.01.2014, 13:52
Аватар для АлександрV
АлександрV АлександрV вне форума Новичок форума
Регистрация: 03.01.2014 / Сообщений: 13
Поблагодарили 5 раз(а) / Репутация: 6
Дело в том что если вставить MODE_POINT, то совсем ни чего не отображает. может попробовать Вставить /Point,0)в вычесление каждой валюты ? пробую.
08.01.2014, 13:57
Аватар для zhserg
zhserg zhserg вне форума Местный знаток
Регистрация: 16.12.2012 / Адрес: Россия, Сибирь / Сообщений: 515
Поблагодарили 726 раз(а) / Репутация: 729
Сообщение от: АлександрV
Дело в том что если вставить MODE_POINT, то совсем ни чего не отображает. может попробовать Вставить /Point,0)в вычесление каждой валюты ? пробую.
Вместо Point можно вставить MarketInfo("EURUSD",MODE_POINT), соответствующих символов.
zhserg.ru советники, скрипты, индикаторы на заказ
08.01.2014, 14:48
Аватар для АлександрV
АлександрV АлександрV вне форума Новичок форума
Регистрация: 03.01.2014 / Сообщений: 13
Поблагодарили 5 раз(а) / Репутация: 6
Вместо Point можно вставить MarketInfo("EURUSD",MODE_POINT), соответствующих символов.
Если поставить MarketInfo то он будет считать все инструменты из окна рынка. а так я сейчас могу сделать вставив в окно только долларовые пары ( мультивалютник по окну рынка у меня есть ).А как Вы думаете это MarketInfo("EURUSD",MODE_POINT)вставить один раз в конце сложения и ввести туда остальные инструменты или после каждого слагаемого с названием инструмента ?
08.01.2014, 15:15
Аватар для zhserg
zhserg zhserg вне форума Местный знаток
Регистрация: 16.12.2012 / Адрес: Россия, Сибирь / Сообщений: 515
Поблагодарили 726 раз(а) / Репутация: 729
Сообщение от: АлександрV
Если поставить MarketInfo то он будет считать все инструменты из окна рынка.
Не все а только указанную пару в параметрах MarketInfo
zhserg.ru советники, скрипты, индикаторы на заказ
08.01.2014, 15:45
Аватар для АлександрV
АлександрV АлександрV вне форума Новичок форума
Регистрация: 03.01.2014 / Сообщений: 13
Поблагодарили 5 раз(а) / Репутация: 6
Вот что я налепил-
int start()
{
int StartBar = Bars - IndicatorCounted() - 1;

for(int i = StartBar; i >= 0; i--)

Buffer[i] = NormalizeDouble((iClose("USDCHF",0,i)-iClose("USDCHF",0,i+1))/MarketInfo("USDCHF",MODE_POINT)+
(iClose("USDJPY",0,i)-iClose("USDJPY",0,i-1))/MarketInfo("USDJPY",MODE_POINT)+
(iClose("USDCAD",0,i)-iClose("USDCAD",0,i-1))/MarketInfo("USDCAD",MODE_POINT)-
(iClose("GBPUSD",0,i)-iClose("GBPUSD",0,i-1))/MarketInfo("GBPUSD",MODE_POINT)-
(iClose("EURUSD",0,i)-iClose("EURUSD",0,i-1))/MarketInfo("EURUSD",MODE_POINT)-
(iClose("AUDUSD",0,i)-iClose("AUDUSD",0,i-1))/MarketInfo("AUDUSD",MODE_POINT)-
(iClose("NZDUSD",0,i)-iClose("NZDUSD",0,i-1))/MarketInfo("NZDUSD",MODE_POINT));
Выдает ошибку ')' - wrong parameters count C:\Program Files\InstaTrader\experts\indicators\zzzzzzzzzzz.m q4 (33, 108)
Неверное количество параметров
08.01.2014, 17:43
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,660
Поблагодарили 3,788 раз(а) / Репутация: 3780
Изза того что !="" не означает не пустое значение, хотя в алерте "" выдаёт ничего, приходится такую .уйню писать!!!
PHP код:
string Delte[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};    // массив Делты
string DelteText[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};// массив Делты символов 
Вася...
Если-бы ты не был таким-же как ты называешь MQ то смог-бы догадаться не писать такую ".уйню"
Я с каждым твоим высказыванием всё больше убеждаюсь в том что ты ".уёвый" программист. Раз уж не в состоянии проверить имя строковой переменной не только на "" но и на if(StringLen(Delte[d]) > 0)
Это во-первых...
А во-вторых в первом твоём совете должно было-бы быть отмечено, что нет необходимости на каждом тике удалять лейбл и вновь его создавать. Тем не менее ты даёшь самые ... советы и обзываешь людей только потому, что сам не-до-программист.

ps; Во вложении подправленный индикатор. Внесена ещё возможность использования его на демо счетах в валютах которых имеется суффикс. У робофорекс, например .е или .m

Последний раз редактировалось AlexeyVik; 08.01.2014 в 18:14.
08.01.2014, 18:43
Аватар для Novikov
Novikov Novikov на форуме Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,675 раз(а) / Репутация: 2663
ps; Во вложении подправленный индикатор. Внесена ещё возможность использования его на демо счетах в валютах которых имеется суффикс. У робофорекс, например .е или .m
За индикатор ОГРОМНЕЙШЕЕ спасибо!

Уважаемый Алексей, если не затруднит, помогите пожалуйста, заставьте эксперт работать

Ранее открывал, сопровождал и закрывал ордера, а сейчас почему то не торгует. Попробовал уже на 3 демо счетах Альпари - результат не изменился!

В советнике указываются 2 торгуемые пары, минимальная раздвижка для открытия первых ордеров, передвигается вертикальная линия на графике для определения раздвижки 2 пар.

Ставится OpenPair = true и если текущая раздвижка равна или больше раздвижки для входа открываются 2 ордера, а потом сопровождаются - при просадке через Step открываются еще ордера по MM = 2; // Управление лотом

При достижении Profit, StopLoss или Trailing - все ордера с Magic закрываются. И еще не корректно прописывается комментарий, вместо заданного комментария в комментарий к ордеру прописывается - "Comment".

В журнале сообщений нет, во вкладке эксперты пишет только:

Скрытый текст

PHP код:
2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1 inputsOpenPair=trueTrade=trueClosePair=falseSymbol_1="EURUSD"Symbol_2="GBPUSD"Revers=falseDelta=400Step=500Count=5Profit=50StopLoss=10000Trailing=0Lot=0.1MM=2Magic=123Сomment="123";
2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1initialized
2014.01.08 10
:49:29    Exp_PairTrader v43 EURUSD,H1uninit reason 5

2014.01.08 10
:49:29    Exp_PairTrader v43 EURUSD,H1deinitialized 
[свернуть]

На скрине видно, что текущая раздвижка больше, чем раздвижка для входа, но ордера не открываются

Скрытый текст

[свернуть]


советник Exp_PairTrader v43.mq4

ЗАРАНЕЕ БЛАГОДАРЮ!!!

Последний раз редактировалось NSerega; 08.01.2014 в 21:30.
08.01.2014, 19:08
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,660
Поблагодарили 3,788 раз(а) / Репутация: 3780
За индикатор ОГРОМНЕЙШЕЕ спасибо!

Уважаемый Алексей, если не затруднит, помогите пожалуйста, заставьте эксперт работать

Ранее открывал, сопровождал и закрывал ордера, а сейчас почему то не торгует. Попробовал уже на 3 демо счетах Альпари - результат не изменился!

В советнике указываются 2 торгуемые пары, минимальная раздвижка для открытия первых ордеров, передвигается вертикальная линия на графике для определения раздвижки 2 пар.

Ставится OpenPair = true и если текущая раздвижка равна или больше раздвижки для входа открываются 2 ордера, а потом сопровождаются - при просадке через Step открываются еще ордера по MM = 2; // Управление лотом

При достижении Profit, StopLoss или Trailing - все ордера с Magic закрываются. И еще не корректно прописывается комментарий, вместо заданного комментария в комментарий к ордеру прописывается - "Comment".

В журнале сообщений нет, во вкладке эксперты пишет только:
Код:
2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1 inputs: OpenPair=true; Trade=true; ClosePair=false; Symbol_1="EURUSD"; Symbol_2="GBPUSD"; Revers=false; Delta=400; Step=500; Count=5; Profit=50; StopLoss=10000; Trailing=0; Lot=0.1; MM=2; Magic=123; Сomment="123";
2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1: initialized
2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1: uninit reason 5

2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1: deinitialized
На скрине видно, что текущая раздвижка больше, чем раздвижка для входа, но ордера не открываются

Скрытый текст

[свернуть]


советник Exp_PairTrader v43.mq4

ЗАРАНЕЕ БЛАГОДАРЮ!!!
И где увидеть??? Меня не пускает посмотреть.

Последний раз редактировалось NSerega; 08.01.2014 в 21:37.
08.01.2014, 19:42
Аватар для Novikov
Novikov Novikov на форуме Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,675 раз(а) / Репутация: 2663
И где увидеть??? Меня не пускает посмотреть.

Если я правильно понял, не виден скрин!

вот часть скрина, где отображаются данные, о которых я написал.

Нажмите на изображение для увеличения
Название: gbpjpy-h1-alpari-limited.png
Просмотров: 58
Размер:	8.5 Кб
ID:	146823
08.01.2014, 20:41
Аватар для Novikov
Novikov Novikov на форуме Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,675 раз(а) / Репутация: 2663
ps; Во вложении подправленный индикатор. Внесена ещё возможность использования его на демо счетах в валютах которых имеется суффикс. У робофорекс, например .е или .m
Теперь иногда информация (правый верхний угол) накладывается друг на друга:

Скрытый текст

[свернуть]


печалька

Последний раз редактировалось NSerega; 08.01.2014 в 21:31.
08.01.2014, 20:43
Аватар для lissoner
lissoner lissoner вне форума Интересующийся
Регистрация: 30.11.2013 / Сообщений: 12
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Уважаемый eevviill, Вы мне уже помогли с доработкой советника, а именно помогли вставить в код фильтр по параболику, снова вопрос можно добавить ещё один фильтр по параболику, а то по одному тамфрейму параболика нехватает. Во вложении советник с внесёнными вами изменениями. Заранее благодарю.
08.01.2014, 21:01
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Уважаемый eevviill, Вы мне уже помогли с доработкой советника, а именно помогли вставить в код фильтр по параболику, снова вопрос можно добавить ещё один фильтр по параболику, а то по одному тамфрейму параболика нехватает. Во вложении советник с внесёнными вами изменениями. Заранее благодарю.
.
kimmar 
08.01.2014, 21:14
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,660
Поблагодарили 3,788 раз(а) / Репутация: 3780
Если я правильно понял, не виден скрин!

вот часть скрина, где отображаются данные, о которых я написал.

Вложение 146823
Попробуй поставить Trade = false
Есть одна строка которая при Trade = true не пускает открывать ордера, а на остальную торговлю никак не влияет.
08.01.2014, 21:19
Аватар для lissoner
lissoner lissoner вне форума Интересующийся
Регистрация: 30.11.2013 / Сообщений: 12
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
спасибо , а то я 2 (двойку) сувал не туда ,
правильно
xtern string r02="Фильтр по Parabolic";
extern bool ParabolicFilter2 = false;
а у меня
xtern string r02="Фильтр по Parabolic2";
extern bool ParabolicFilter = false;
08.01.2014, 21:20
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,660
Поблагодарили 3,788 раз(а) / Репутация: 3780
Теперь иногда информация (правый верхний угол) накладывается друг на друга:

печалька
Я к этому никакого отношения не имею. Эти параметры я не трогал. Попробуй удалить индикатор с графика и потом заново поставить. Могло такое произойти из-за отключения удаления всех лейблов на каждом тике. Но это очень ускоряет работу индикатора. Если не поможет завтра посмотрю повнимательней.

ps; А у меня почему-то этих меток нету вообще...

Последний раз редактировалось AlexeyVik; 08.01.2014 в 21:22.
08.01.2014, 22:08
Аватар для Novikov
Novikov Novikov на форуме Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,675 раз(а) / Репутация: 2663
Попробуй поставить Trade = false
Есть одна строка которая при Trade = true не пускает открывать ордера, а на остальную торговлю никак не влияет.
Вот такую фигню заметил - все стоит false, а система доливок почему то "включена"

ставил true и false, система доливок так и осталась включена!
и что удивило, так это то, что ордера сразу открылись когда торговлю поставил true, а доливки false

Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 32
Размер:	27.3 Кб
ID:	146844

это можно как нибудь исправить?
и комментарий не верно выводится, просто пишет "Comment" - плиз, поправьте пожалуйста!

Последний раз редактировалось Novikov; 08.01.2014 в 22:11.
09.01.2014, 05:53
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,660
Поблагодарили 3,788 раз(а) / Репутация: 3780
Вот такую фигню заметил - все стоит false, а система доливок почему то "включена"

ставил true и false, система доливок так и осталась включена!
Вот часть кода
Код:
   if(Step>0)Txt = "включена";
   else Txt = "отключена";
----------------
           "\nСистема доливок: ",Txt,
Очень хочется надеяться, что это понятно. Если Step > 0 то "Система доливок включена"
и что удивило, так это то, что ордера сразу открылись когда торговлю поставил true, а доливки false

это можно как нибудь исправить?
Я не понял что ты хочешь исправить??? Там автор что-то своё задумал, тебе не нравится, а как исправить ты сам не знаешь... Что на что надо исправить?
Есть 2 строки
if(!OpenPair) return(0);
if(Trade && Terminal()==0) return(0);
1. Если переменная OpenPair = false то закончить выполнение программы.
2. Если переменная Trade = true и функция Terminal() вернула 0 (количество открытых ордеров) то закончить выполнение программы.
А после этих строк блок открытия ордеров. Так-что если одна из этих строк будет выполнена, то ордера не откроются.

Возможно кто-то после автора в этом покопался и сделал через ... но мне что-то не хочется напрягать мозг и придумывать как это должно быть согласно логики. Возьми на себя такую заботу.
и комментарий не верно выводится, просто пишет "Comment" - плиз, поправьте пожалуйста!
А почему ты считаешь что "комментарий не верно выводится"??? Как в коде написано так и выводится.
09.01.2014, 07:05
Аватар для Novikov
Novikov Novikov на форуме Гуру форума
Регистрация: 02.08.2012 / Адрес: Днепр / Сообщений: 3,154
Поблагодарили 2,675 раз(а) / Репутация: 2663
Вот часть кода
Код:
   if(Step>0)Txt = "включена";
   else Txt = "отключена";
----------------
           "\nСистема доливок: ",Txt,
Очень хочется надеяться, что это понятно. Если Step > 0 то "Система доливок включена"


А почему ты считаешь что "комментарий не верно выводится"??? Как в коде написано так и выводится.
Вот! Теперь мне все понятно! За вкл./откл. системы доливок отвечает Step. Если ноль, то отключена, а если больше ноля, то включена!
Спасибо за разъяснение, сам не сообразил!


По поводу комментария - Выводится не тот комментарий, который указан во внешних переменных, а тот, что указан в коде, а именно "Comment".
Как это исправить?
09.01.2014, 07:27
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,660
Поблагодарили 3,788 раз(а) / Репутация: 3780
Вот! Теперь мне все понятно! За вкл./откл. системы доливок отвечает Step. Если ноль, то отключена, а если больше ноля, то включена!
Спасибо за разъяснение, сам не сообразил!


По поводу комментария - Выводится не тот комментарий, который указан во внешних переменных, а тот, что указан в коде, а именно "Comment".
Как это исправить?
Там автор, видимо, схитро...пил и назвал переменную
extern string Сomment = "12345"; // комментарий к ордеру
написав первую букву кириллицей, а остальные латиницей. Если написать все буквы латиницей, то получится функция выводящая комментарий в верхнем правом углу графика. А вот кто ещё полазил и подправив эту нестыковку - загадка. Это и привело к ошибкам компиляции... Выход оказался простым... Поставили Comment в кавычки и ничего не волнует.
Если хочешь поменять, то найди в тексте две строки error=OrderSend(... и в них замени "Comment" на Сomment не жирным шрифтом, а первую букву кириллицей и без кавычек. Если будет давать ошибку компиляции, значит первая буква написана латиницей.

ps; И ещё, хоть я и не хотел разбираться в логике, но всё-же чуток обратил внимание на бесполезность строки
if(Trade && Terminal()==0) return(0);
Я-бы её удалил без зазрения совести не задумываясь. За открытие первых ордеров отвечает строка выше,
if(!OpenPair) return(0);
а за доливки строка ниже
if(Step<=0 && Terminal()!=0)return(0);

Последний раз редактировалось AlexeyVik; 09.01.2014 в 07:34.
Dom , Novikov 
09.01.2014, 08:29
Аватар для borobor
borobor borobor вне форума Элитный участник
Регистрация: 03.05.2009 / Адрес: новосибирск / Сообщений: 935
Поблагодарили 1,556 раз(а) / Репутация: 1567
За индикатор ОГРОМНЕЙШЕЕ спасибо!

Уважаемый Алексей, если не затруднит, помогите пожалуйста, заставьте эксперт работать

Ранее открывал, сопровождал и закрывал ордера, а сейчас почему то не торгует. Попробовал уже на 3 демо счетах Альпари - результат не изменился!

В советнике указываются 2 торгуемые пары, минимальная раздвижка для открытия первых ордеров, передвигается вертикальная линия на графике для определения раздвижки 2 пар.

Ставится OpenPair = true и если текущая раздвижка равна или больше раздвижки для входа открываются 2 ордера, а потом сопровождаются - при просадке через Step открываются еще ордера по MM = 2; // Управление лотом

При достижении Profit, StopLoss или Trailing - все ордера с Magic закрываются. И еще не корректно прописывается комментарий, вместо заданного комментария в комментарий к ордеру прописывается - "Comment".

В журнале сообщений нет, во вкладке эксперты пишет только:

Скрытый текст

PHP код:
2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1 inputsOpenPair=trueTrade=trueClosePair=falseSymbol_1="EURUSD"Symbol_2="GBPUSD"Revers=falseDelta=400Step=500Count=5Profit=50StopLoss=10000Trailing=0Lot=0.1MM=2Magic=123Сomment="123";
2014.01.08 10:49:29    Exp_PairTrader v43 EURUSD,H1initialized
2014.01.08 10
:49:29    Exp_PairTrader v43 EURUSD,H1uninit reason 5

2014.01.08 10
:49:29    Exp_PairTrader v43 EURUSD,H1deinitialized 
[свернуть]

На скрине видно, что текущая раздвижка больше, чем раздвижка для входа, но ордера не открываются

Скрытый текст

[свернуть]


советник Exp_PairTrader v43.mq4

ЗАРАНЕЕ БЛАГОДАРЮ!!!
будьте по внимательней
в настройках включите разрешение на торговлю
extern bool OpenPair = TRUE; // true - торговля разрешена,
// false - торговля запрещена
Закрытая тема

Метки
mql программирование, дописать индикатор, дописать эксперт, доработать советник, форекс программирование


Опции темы

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь профессионального программиста в написании МТС индикаторов советников. cmillion Поиск программиста, поиск заказов 96 05.09.2017 08:20
Написание экспертов, индикаторов. Улсуги VPS для ваших советников. RL.Maxim Temp, корзина, реклама 5 31.10.2009 21:55
Написание советников, индикаторов, скриптов для MT4 по Вашему ТЗ Impish Поиск программиста, поиск заказов 0 04.04.2009 21:30


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


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