Доработка ботов (советников, индикаторов)

Статус
Закрыто для дальнейших ответов.

АлександрV

Новичок форума
Дело в том что если вставить MODE_POINT, то совсем ни чего не отображает. может попробовать Вставить /Point,0)в вычесление каждой валюты ? пробую.
 

zhserg

Местный знаток
Дело в том что если вставить MODE_POINT, то совсем ни чего не отображает. может попробовать Вставить /Point,0)в вычесление каждой валюты ? пробую.

Вместо Point можно вставить MarketInfo("EURUSD",MODE_POINT), соответствующих символов.
 

АлександрV

Новичок форума
Вместо Point можно вставить MarketInfo("EURUSD",MODE_POINT), соответствующих символов.

Если поставить MarketInfo то он будет считать все инструменты из окна рынка. а так я сейчас могу сделать вставив в окно только долларовые пары ( мультивалютник по окну рынка у меня есть ).А как Вы думаете это MarketInfo("EURUSD",MODE_POINT)вставить один раз в конце сложения и ввести туда остальные инструменты или после каждого слагаемого с названием инструмента ?
 

АлександрV

Новичок форума
Вот что я налепил-
int start()
{
int StartBar = Bars - IndicatorCounted() - 1;

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

Buffer = 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.mq4 (33, 108)
Неверное количество параметров
 

AlexeyVik

Программист mql4 mql5
Изза того что !="" не означает не пустое значение, хотя в алерте "" выдаёт ничего, приходится такую .уйню писать!!!
PHP:
string Delte[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};    // массив Делты
string DelteText[201]={"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};// массив Делты символов
Вася...
Если-бы ты не был таким-же как ты называешь MQ то смог-бы догадаться не писать такую ".уйню"
Я с каждым твоим высказыванием всё больше убеждаюсь в том что ты ".уёвый" программист. Раз уж не в состоянии проверить имя строковой переменной не только на "" но и на if(StringLen(Delte[d]) > 0)
Это во-первых...
А во-вторых в первом твоём совете должно было-бы быть отмечено, что нет необходимости на каждом тике удалять лейбл и вновь его создавать. Тем не менее ты даёшь самые ... советы и обзываешь людей только потому, что сам не-до-программист.

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

Вложения

Последнее редактирование:

Novikov

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

За индикатор ОГРОМНЕЙШЕЕ спасибо! :embrace:

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

Ранее открывал, сопровождал и закрывал ордера, а сейчас почему то не торгует. Попробовал уже на 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 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
На скрине видно, что текущая раздвижка больше, чем раздвижка для входа, но ордера не открываются :facepalm:
gbpjpy-h1-alpari-limitedw1g.png

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

ЗАРАНЕЕ БЛАГОДАРЮ!!!
 
Последнее редактирование модератором:

AlexeyVik

Программист mql4 mql5
За индикатор ОГРОМНЕЙШЕЕ спасибо! :embrace:

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

Ранее открывал, сопровождал и закрывал ордера, а сейчас почему то не торгует. Попробовал уже на 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
На скрине видно, что текущая раздвижка больше, чем раздвижка для входа, но ордера не открываются :facepalm:
gbpjpy-h1-alpari-limitedw1g.png

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

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

Novikov

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

Теперь иногда информация (правый верхний угол) накладывается друг на друга:

eurusd-h1-alpari-limited.png

печалька o_o
 
Последнее редактирование модератором:

lissoner

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

Вложения

eevviill

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

Вложения

AlexeyVik

Программист mql4 mql5
Если я правильно понял, не виден скрин!

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

Посмотреть вложение 146823
Попробуй поставить Trade = false
Есть одна строка которая при Trade = true не пускает открывать ордера, а на остальную торговлю никак не влияет.
 

lissoner

Интересующийся
спасибо , а то я 2 (двойку) сувал не туда ,
правильно
xtern string r02="Фильтр по Parabolic";
extern bool ParabolicFilter2 = false;
а у меня
xtern string r02="Фильтр по Parabolic2";
extern bool ParabolicFilter = false;
 

AlexeyVik

Программист mql4 mql5
Теперь иногда информация (правый верхний угол) накладывается друг на друга:

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

ps; А у меня почему-то этих меток нету вообще...
 
Последнее редактирование:

Novikov

Гуру форума
Попробуй поставить Trade = false
Есть одна строка которая при Trade = true не пускает открывать ордера, а на остальную торговлю никак не влияет.

Вот такую фигню заметил - все стоит false, а система доливок почему то "включена" :not-good:

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

1.png

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

AlexeyVik

Программист mql4 mql5
Вот такую фигню заметил - все стоит false, а система доливок почему то "включена" :not-good:

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

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

Возможно кто-то после автора в этом покопался и сделал через ... но мне что-то не хочется напрягать мозг и придумывать как это должно быть согласно логики. Возьми на себя такую заботу.
и комментарий не верно выводится, просто пишет "Comment" - плиз, поправьте пожалуйста!
А почему ты считаешь что "комментарий не верно выводится"??? Как в коде написано так и выводится.
 

Novikov

Гуру форума
Вот часть кода
Код:
   if([B]Step>0[/B])Txt = "включена";
   else Txt = "отключена";
----------------
           "\nСистема доливок: ",Txt,
Очень хочется надеяться, что это понятно. Если Step > 0 то "Система доливок включена"


А почему ты считаешь что "комментарий не верно выводится"??? Как в коде написано так и выводится.

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


По поводу комментария - Выводится не тот комментарий, который указан во внешних переменных, а тот, что указан в коде, а именно "Comment".
Как это исправить?
 

AlexeyVik

Программист mql4 mql5
Вот! Теперь мне все понятно! :embrace: За вкл./откл. системы доливок отвечает 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);
 
Последнее редактирование:

borobor

Элитный участник
За индикатор ОГРОМНЕЙШЕЕ спасибо! :embrace:

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

Ранее открывал, сопровождал и закрывал ордера, а сейчас почему то не торгует. Попробовал уже на 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 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
На скрине видно, что текущая раздвижка больше, чем раздвижка для входа, но ордера не открываются :facepalm:
gbpjpy-h1-alpari-limitedw1g.png

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

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

будьте по внимательней
в настройках включите разрешение на торговлю
extern bool OpenPair = TRUE; // true - торговля разрешена,
// false - торговля запрещена
 
Статус
Закрыто для дальнейших ответов.

Отслеживают (859) Посмотреть

Верх