Только "Полезные функции от KimIV". - страница 10

 
borilunad:

Нетрудно на единичку увеличить!

Что ты имеешь в виду?
 

Функция ModifyOrder()

Вот начало кода:

void ModifyOrder(double pp=-1, double sl=0, double tp=0, color cl=CLR_NONE) {
  bool   fm;
  double op, pa, pb, os, ot;
  int    dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it;
 
  if (pp<=0) pp=OrderOpenPrice();
  if (sl<0 ) sl=OrderStopLoss();
  if (tp<0 ) tp=OrderTakeProfit();

Тут изначально в формальные параметры функции выглядят так:

pp=-1, но sl=0 и tp=0

Если уж писать понятно и систематично то проще было для удобства присвоить каждому из формальных параметров -1 т.е. что бы было так:

pp=-1, sl=0 tp=0

Возникает вопрос, для чего так запутывать код сравнивая какой-то из формальных параметров с нулём, а другой с -1? Можно было бы и ещё и -73 вбить..

 
hoz:

Функция ModifyOrder()

Вот начало кода:

Тут изначально в формальные параметры функции выглядят так:

Если уж писать понятно и систематично то проще было для удобства присвоить каждому из формальных параметров -1 т.е. что бы было так:

Возникает вопрос, для чего так запутывать код сравнивая какой-то из формальных параметров с нулём, а другой с -1? Можно было бы и ещё и -73 вбить..


Спроси автора в личку, а единичку прибавить для 5ти цифр после запятой!
 

ВЫ не можете (нет смысла) модифицировать ордер с ценой открытия == 0, но установить нулевые стоплосс и тейк, вы должны иметь возможность, поэтому, если пораскинуть мозгами (подумать), то все становится на свои места.

ЗЫ. да функции писались еще при четырехзнаке, но это не отменяет их актуальности.

 
borilunad:

Спроси автора в личку, а единичку прибавить для 5ти цифр после запятой!


C количеством цифр после запятой проще сделать так:

if(Digits==3 || Digits==5) pt=10*Point;
 
FAQ:

ВЫ не можете (нет смысла) модифицировать ордер с ценой открытия == 0, но установить нулевые стоплосс и тейк, вы должны иметь возможность, поэтому, если пораскинуть мозгами (подумать), то все становится на свои места.

ЗЫ. да функции писались еще при четырехзнаке, но это не отменяет их актуальности.


Модифицировать нулевые стоплосс и тейкпрофит возможность должна быть, но не может быть стоплосс или тейкпрофит меньше 0 ровно как и цена открытия, а поэтому -1 и 0 это лишь формальный параметр, и его как я понимаю можно использовать под любым целым числом.
 
jurist70:

Уважаемый, откуда в строке


Для всех пар, кроме йеновых, пункт - это изменение в 4-м знаке котировок. Для йеновых пар - во втором. С введением точности котирования до 0.1 пункта появились 5-ти и 3-х значные котировки.

 
hoz:

Функция ModifyOrder()

Вот начало кода:

Тут изначально в формальные параметры функции выглядят так:

Если уж писать понятно и систематично то проще было для удобства присвоить каждому из формальных параметров -1 т.е. что бы было так:

Возникает вопрос, для чего так запутывать код сравнивая какой-то из формальных параметров с нулём, а другой с -1? Можно было бы и ещё и -73 вбить..

рр= -1 это любая цена открытия

if (pp<=0) pp=OrderOpenPrice(); это определенная цена открытия

 
pako:

рр= -1 это любая цена открытия

if (pp<=0) pp=OrderOpenPrice(); это определенная цена открытия


Ты б вопрос прочитал, прежде чем ответить.Я не спрашивал что здесь значит что. А спрашивал я почему у формальных параметров разные значения по дефолту. По моему, тут смысл в том, что если вызывать функцию без объявления sl и tp, они будут по умолчания со значением 0. Т.е. изменяться не будут.

Других вариантов я не представляю даже.

 
hoz:


Ты б вопрос прочитал, прежде чем ответить.Я не спрашивал что здесь значит что. А спрашивал я почему у формальных параметров разные значения по дефолту. По моему, тут смысл в том, что если вызывать функцию без объявления sl и tp, они будут по умолчания со значением 0. Т.е. изменяться не будут.

Других вариантов я не представляю даже.


в этом случае == 0, стоп и тейк будет сняты. Собственно не могу понять из за чего весь этот сыр-бор ? Это ведь не стандартные функции языка, а обертки написанные одним программистом, если они вас не устраивают, то напишите себе самостоятельно, или измените эти, так как вы считаете нужным, и пользуйтесь.