приключения новичка - страница 6

 
cloudbreaker:

Не беспокойтесь. С небольшими поправками он действительно будет работать для вас.

Вы должны начать с исправления "ошибки" TakeProfit, которую я встроил для вас. Посмотрите, как делается StopLoss, чтобы получить подсказку.

Как только вы заставите его работать, я надеюсь, вы начнете добавлять обработку ошибок и некоторые удобные для операторов вещи, такие как операторы Print(), чтобы вы могли легко видеть в журналах, что он делает.

Псевдокод важен перед тем, как приступить к работе над кодом (даже для опытных программистов), но не пережарьте его.

Похоже, вы привлекаете помощь благодаря своей добродушной манере поведения. Я думаю, что вы либо работаете в HR, либо интересуетесь человеческой психологией?


CB

Привет, CB,


Приятно, что кто-то сказал, что у меня добрый характер. По образованию я психолог, 2 степени с акцентом на оценку и развитие личности и позитивную психологию. Я много работаю с HR и обучаю менеджеров тому, как сделать так, чтобы их сотрудники получали больше удовольствия от работы (что в конечном итоге приводит к повышению итоговой прибыли и креативности).


Вы, ребята, здесь замечательные. Я поражаюсь доброй человеческой натуре и отплачу за ваш поступок и помощь, которую вы мне оказали, тысячекратно, когда придет время. ("Pay It Forward" - посмотрите фильм, если вы его еще не видели ;)

 

Привет, Тим,


Я разобрался с массивом, который ты мне задал (я думаю). Код приведен ниже, это правильно. Я размещаю его здесь, хотя я включил советника, чтобы другие, кто будет искать подобную информацию, могли быстро понять, в чем дело.


string Pair[] = {"EURUSD","GBPUSD","USDJPY","USDCHF","AUDUSD"}; //***Global Declaration of Array 'Pair' so we can call it in 'start' function   


int count = ArraySize( Pair);                //computer doesn't know how many elements array has, this is necessary to set the value for 'for' loop
for (int c=0; c< count; c++)                   //loop started to go through each element of the Array. After this I don't know how to use this, i guess we substitute OrderSend(Symbol) part with the array name so it loops through that. is that so?
    


ps: кстати, мои файлы mq4 не все отображаются в папке mt4>experts, у меня около 30 экспертов, но только около 5 отображаются там, если я захожу в папку через windows или пытаюсь прикрепить что-нибудь сюда (но все отображаются через mt4). есть идеи почему? (вот почему я разместил .txt)

Файлы:
 

Привет, Ник,


Молодец!


Теперь я собираюсь немного поднять планку и предложить вам попробовать написать код для функции EntryRules плюс немного других вещей, которые вам понадобятся для эффективного вызова этой функции.


Я добавил в код довольно много комментариев, идей и предложений, чтобы вы могли взглянуть на него. Я также отметил области TODO, над которыми вы можете поработать. Посмотрите, что вы можете с этим сделать, и выложите это на форум, когда будете готовы. Если вы перегружены, просто опубликуйте то, что вы сделали. Я могу разбить ее на более мелкие части, если это необходимо.


Есть несколько вариантов относительно отсутствующих файлов mq4. Может быть, атрибуты файлов установлены на скрытые? MetaTrader, кажется, позволяет мне редактировать скрытые файлы, если я прохожу через команду modify на панели навигатора. Другая возможность заключается в том, что файлы находятся в другой папке, например, в папке indicators. Возможно, вы могли бы попробовать выполнить поиск всех файлов mq4 во всех подкаталогах metatrader и включить в поиск все скрытые файлы (используйте кнопку расширенных опций для winXP).


С уважением,

Тим

.

Файлы:
 

Если вы используете Vista, и у вас включен UAC (User Account Control), то проверьте здесь недостающие файлы:

C:\Users\<имя вашей учетной записи>\AppData\Local\VirtualStore\Program Files\<каталог установки MT4>\experts

 
cloudbreaker:

Если вы используете Vista, и у вас включен UAC (User Account Control), то проверьте здесь недостающие файлы:

C:\Users\<имя вашей учетной записи>\AppData\Local\VirtualStore\Program Files\<каталог установки MT4>\experts

Спасибо CB, я нашел его. Создал ярлык для быстрого доступа.

 

Привет, Тим,


Уф, сейчас час ночи в Великобритании, я измотан, мне нужно идти на работу утром. Я работал над кодом в соответствии с твоими предложениями. Есть еще много неизвестных вещей, но дело продвигается хорошо. Я продвинулся настолько далеко, насколько мог без вашей дальнейшей помощи.


Я вырезал много комментариев в коде, чтобы визуально было легче работать с ним (я вставил их в конце для будущего использования), а также создал раздел в конце, чтобы показать вам, что я делал и в каком порядке, также чтобы задать вам вопрос там и т.д. Как "Журнал активности". Если вы будете писать в этом журнале, то мне будет легче работать над кодом, логически, психологически и последовательно.


Жду ваших отзывов!

Ник

Файлы:
 
niko wrote >>

Привет, Тим,

Уф, сейчас час ночи в Великобритании, я измотан, мне нужно идти на работу утром. Я работал над кодом в соответствии с твоими предложениями. Есть еще много неизвестных вещей, но дело продвигается хорошо. Я продвинулся настолько далеко, насколько мог без вашей дальнейшей помощи.

Я вырезал много комментариев в коде, чтобы визуально было легче работать с ним (я вставил их в конце для будущего использования), а также создал раздел в конце, чтобы показать вам, что я делал и в каком порядке, а также чтобы задать вам вопрос там и т.д. Как "Журнал активности". Если вы будете писать в этом журнале, то мне будет легче работать над кодом, логически, психологически и последовательно.

Жду ваших отзывов!

Ник

Привет, Ник,


Извините, что так много работаю.

Похоже, вы делаете успехи. Как только вы поймете концепцию массивов и функций, я думаю, туман рассеется.

Я предлагаю вам просто сосредоточиться на попытке закончить функцию EntryRules и ее вызов из (главной) функции start. Я думаю, мы почти у цели.

Уборка старых комментариев, вопросов и т.д. в коде - это хороший ход.

Успокойтесь, вы делаете хорошие успехи.

Скоро услышимся с вами


С уважением,

Тим

Файлы:
 

Привет, Тим,

хаха, все в порядке. В идеале я хочу добраться до стадии отладки до того, как уеду в отпуск в эту среду вечером (на 8 дней, Турция, Измер - наконец-то отпуск!). Сейчас я на работе, но возобновлю кодинг во время обеда и как только вернусь домой. Так что сегодня вечером все будет готово!

Спасибо за всю твою помощь, Тим!

Ник,,

 

Привет, Тим,


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


Я приложил последнюю версию нашего кода.


Один вопрос, есть ли какая-то причина, почему мы не сделали функцию EntryRules, содержащую все (включая флаги), чтобы дать нам условие покупки/сокращения, но вместо этого мы обращаемся к ней с флагами позже, чтобы принять решение о входе?

Файлы:
 

За CB:


Эй, летчик! Я сделал все, что мог, с заданиями Тима и поэтому решил начать более детально изучать твой код.


Я просмотрел твой код, пытаясь понять и исправить ошибки в нем. Мне удалось свести ошибки только к "несбалансированной скобке" для строки fnGenerateSignal(). Я не знаю, почему в этом случае говорится о дисбалансе.


Как всегда, я буду признателен за ваши мысли по поводу моего прогресса с вашим кодом! Имейте в виду, что я еще многого не понимаю, даже самых простых вещей.

Файлы: