[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 775

 
Vinin:

При повторении вынужден буду ходадайствовать о бане.

Выкладывание декомпилированных индикаторов - нарушение правил форума.

опять разные стандарты в этике, морали и понимания правил форума?

;)

 
FoxUA:

Тобиш я так понял вызов функции можно записать просто

PrAskLim = StopLossLastPos(OP_SELL) ; а в самой функции

double StopLossLastPos(int op=-1,) вот так да?

 

Нет, не правильно. Вы попросту недопонимаете, что такое функция.

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

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

Ну так вот, чтоб Ваша функция понимала, что ей передаётся именно число, а не строка, или иной тип данных, при объявлении функции нужно в скобках перечислять типы передаваемых в неё параметров. Например, Вы написали подпрограмму MyKoren(), которая будет возвращать значение типа double. Когда Вы делаете тело этой функции, в скобках Вы указываете, что передаваемый параметр будет иметь имя MyValue, а тип duble. В результате Ваша функция будет выглядеть так:

 double MyKoren(double MyValue){

 // здесь пишем код нашей подпрограммы, который вычислит квадратный корень из величины, которая лежит в переменной MyValue.

// Именно эта переменная запишет в себя то число, которое поступило на вход подпрограммы в момент её вызова.

double Rezult;

Rezult =......(MyValue).........;// вычисляем квадратный корень и результат заносим в переменную Rezult

return(Rezult);// возвращаем вычисленное значение в основную программу

}

Теперь, когда функцию мы написали, вызываем её в коде:

double PeremennayaDljaKornja;

PeremennayaDljaKornja=(xzc+256)*(AZN+322);
PeremennayaDljaKornja=MyKoren(PeremennayaDljaKornja);
// теперь после вызова нашей функции в переменной "PeremennayaDljaKornja" окажется результат вычислени я квадратного корня из той величины, которая лежала
// в PeremennayaDljaKornja перед тем, как мы вызвали нашу функцию

Ну так вот, если бы Вы описали нашу подпрограмму не правильно, вот  так:

 

 double MyKoren(double MyValue=36){

 // здесь пишем код нашей подпрограммы, который вычислит квадратный корень из величины, которая лежит в переменной MyValue.

// Именно эта переменная запишет в себя то число, которое поступило на вход подпрограммы в момент её вызова.

double Rezult;

Rezult =......(MyValue).........;// вычисляем квадратный корень и результат заносим в переменную Rezult

return(Rezult);// возвращаем вычисленное значение в основную программу

...................... return(Rezult); }

То в тезультате подпрограмма всегда возвращала бы нам значение = 6, так как MyValue всегда была бы равно 36 и корень из 36 = 6

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

Я не буду больше править Ваш код - Вы не понимаете, что делаете - Вам явно не хватает знаний. Нужно читать учебник, пробовать, экспериментировать с небольшими участками кода. И делать так до тех пор, пока у Вас в руках ни появится ясность - чтоб Вы понимали, ЧТО Вы делаете той или иной строкой кода.

 
FreeLance:

Нужно не красть.

Да вряд ли это он украл - скорее всего наткнулся на уже украденное и даже не знал об этом. :)
 
drknn:
Да вряд ли это он украл - скорее всего наткнулся на уже украденное и даже не знал об этом. :)

Всё может быть. ;)

Меня просто двойные стандарты возмущают.

И толкователи-фарисеи...

 
FreeLance:

Всё может быть. ;)

Меня просто двойные стандарты возмущают.

И толкователи-фарисеи...


Это Ваше личное дело. Ничего личного.
 
Vinin:

Это Ваше личное дело. Ничего личного.

Распишите правила подробней.

И выполняем все!

Я только за!

:)

-----

мое личное мнение, что это не только моя личная потребность...

;)

 
drknn:

спс за столь подробное обяснение, а я по вашему что делаю ПИШУ СОВЕТНИКА ДЛЯ РАБОТЫ? НЕТ Я УЧУ как и что должно работать, читаю учебник который тут выложен и делаю по премерам и пытаюь написать советник по той тс которую оставил себе как цель, но я токо неделю как узнал о этом языке чтото болие чем его название и место применения, не надо быть таким сроо котегоричным по своему опыту лучше разобрать рабочее чем с нуля построить новое, но нюанс в том что надо знать для чего оно работает, от я с этим и столкнулся что разобрать тут есть и много чего но тжело разбирать не зная для чего оно было создано, и потому я решил попробывать создать новое, но естествено всего не увидиш, Я КСТАТЕ ДЕЛАЮ ОДНО ДЕЙСТВИЕ ЭТО ОТКЫТИЕ ОТЛОЖЕНОГО ОРДЕРА ПО ЦЕНЕ РЫНОЧНОГО И ВСЕ НЕ БОЛИЕ НЕ МЕНИЕ. НО ТЕМ НИ МЕНИЕ СПОСИБО ЗА ВАШЕ ВРЕМЯ КОТОРОЕ ВЫ ТРАТИТЕ,
 
Доброго вечера всем и удачной предстоящей недели. Наверное я туплю сваливая на жару, собственно вопрос как определить, проставить расстояние между линиями в пунктах?
 

Доброго времени суток!

Кто-нибудь знает, как поставить на графике большую жирную точку, если нужные координаты известны? 

 
inttehn:

Доброго времени суток!

Кто-нибудь знает, как поставить на графике большую жирную точку, если нужные координаты известны?

через создание объекта типа эрроу, где нужно выбрать код символа или при помощи обьекта типа лейбл
Причина обращения: