[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 189

 

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

Подскажите пожалуйста...

Допустим есть следующая конструкция OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0);

На четвертом месте у нас slippage = 3.

Это кусок из справки:

slippage - Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу).

1. Если не сложно, объясните, пожалуйста, на пальцах что это, от чего и зачем. )) А то не очень понятно от чего отклонение и в чем (пункты, минуты...).

2. И второе, на каком уровне стоит выставлять??? Где-то в статьях видел что для валютных пар с пятью знаками (например EURUSD) надо ставить на уровне 30.

Заранее спасибо!

 
Andrey067:

Всем привет!

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

Делюсь с Вами самой ценной строкой . http://www.google.ru/advanced_search?q=codebase+site:mql4.com&hl=ru&lr=&newwindow=1&prmd=ivns
 
NickXXX:

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

Подскажите пожалуйста...

Допустим есть следующая конструкция OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0);

На четвертом месте у нас slippage = 3.

Это кусок из справки:

slippage - Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу).

1. Если не сложно, объясните, пожалуйста, на пальцах что это, от чего и зачем. )) А то не очень понятно от чего отклонение и в чем (пункты, минуты...).

2. И второе, на каком уровне стоит выставлять??? Где-то в статьях видел что для валютных пар с пятью знаками (например EURUSD) надо ставить на уровне 30.

Заранее спасибо!


к 1му - почитайте в инете пояснения что такое "проскальзывание" - это и есть параметр slippage

ко 2му - надо - на 4х знаке - например 3 - на 5ти знаке - 30

 
NickXXX:

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

Подскажите пожалуйста...

Допустим есть следующая конструкция OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0);

На четвертом месте у нас slippage = 3.

Это кусок из справки:

slippage - Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу).

1. Если не сложно, объясните, пожалуйста, на пальцах что это, от чего и зачем. )) А то не очень понятно от чего отклонение и в чем (пункты, минуты...).

2. И второе, на каком уровне стоит выставлять??? Где-то в статьях видел что для валютных пар с пятью знаками (например EURUSD) надо ставить на уровне 30.

Заранее спасибо!


1. См. здесь, а именно "... Если запрашиваемая цена открытия сильно устарела, то независимо от значения параметра slippage будет сгенерирована ошибка 138 (ERR_REQUOTE). Если же запрашиваемая цена устарела, но ещё присутствует в ценовом потоке, то позиция открывается по текущей цене и только в том случае, если текущая цена попадает в диапазон price+-slippage." Отклонение в пунктах.

2. В учебнике - значение 2 (настоящих пунктов, на четырехзнаке), для пятизнака - значение 20-30, зависит от брокера... На реале на А.....и торговал со значением 20-30 - никаких проблем с открытием ордеров по значению данного параметра не было.

 
Roman.:


1. См. здесь, а именно "... Если запрашиваемая цена открытия сильно устарела, то независимо от значения параметра slippage будет сгенерирована ошибка 138 (ERR_REQUOTE). Если же запрашиваемая цена устарела, но ещё присутствует в ценовом потоке, то позиция открывается по текущей цене и только в том случае, если текущая цена попадает в диапазон price+-slippage." Отклонение в пунктах.

2. В учебнике - значение 2 (настоящих пунктов, на четырехзнаке), для пятизнака - значение 20-30, зависит от брокера... На реале на А.....и торговал со значением 20-30 - никаких проблем с открытием ордеров по значению данного параметра не было.

А если на пример у А.....и вот такие условия:

1. для валютных пар с 5 знаками после запятой - минимальному изменению 4-го знака после запятой (0,0001);

2. для валютных пар с 3 знаками после запятой - минимальному изменению 2-го знака после запятой (0,01).

Я выставляю на уровне 20-30 на пятизначной паре (например EURUSD) или все-таки 2-3, поскольку учитывается изменение 4го знака???

 
NickXXX:

А если на пример у А.....и вот такие условия:

  • для валютных пар с 5 знаками после запятой - минимальному изменению 4-го знака после запятой (0,0001);
  • для валютных пар с 3 знаками после запятой - минимальному изменению 2-го знака после запятой (0,01).

Я для пятизначного (пример EURUSD) выставляю 20-30 или все-таки 2-3, поскольку учитывается только изменение 4го знака????


Да это по фигу, на пятизначных брокерах ставьте 40 и не парьтесь, в конечном итоге, если это не мазохистский скальпинг, четыре настоящих пункта вверх/вниз не подорвут Ваш план игры... :-))) Пробуйте микрореал и все.
 
NickXXX:

А если на пример у А.....и вот такие условия:

1. для валютных пар с 5 знаками после запятой - минимальному изменению 4-го знака после запятой (0,0001);

2. для валютных пар с 3 знаками после запятой - минимальному изменению 2-го знака после запятой (0,01).

Я выставляю на уровне 20-30 на пятизначной паре (например EURUSD) или все-таки 2-3, поскольку учитывается изменение 4го знака???


Нет. Именно домножаете настоящие пункты на 10, т.к. это ПЯТИЗНАК, т.е. значение проскальзывания будет в диапазоне 20-30.
 
DDFedor:
Делюсь с Вами самой ценной строкой . http://www.google.ru/advanced_search?q=codebase+site:mql4.com&hl=ru&lr=&newwindow=1&prmd=ivns
Большое спасибо!..
 
Andrey067:

Всем привет!

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

Вы хотите взять готовый пример и с ним разбираться сидеть?

А может сначала с данным разделом учебника ознакомиться?

 

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

for (i = 0; i < ObjectsTotal(); i++)
{
if (StringFind(ObjectName(i),"#",0) >= 0) continue;
if (ObjectType(ObjectName(i)) == 1)
{
if (var_400 < ObjectGet(ObjectName(i),OBJPROP_PRICE1))
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
var_400 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false));
}
if ((var_408 > ObjectGet(ObjectName(i),OBJPROP_PRICE1)) && (ObjectGet(ObjectName(i),OBJPROP_PRICE1) > 0))
{
var_408 = ObjectGet(ObjectName(i),OBJPROP_PRICE1);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
}
}
if (ObjectType(ObjectName(i)) == 2)
{
if (var_400 < ObjectGetValueByShift(ObjectName(i),0))
{
ChangeTrend1 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_416 = ObjectGetValueByShift(ObjectName(i),1);
var_400 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice1 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend1, false));
}
if ((var_408 > ObjectGetValueByShift(ObjectName(i),0)) && (ObjectGetValueByShift(ObjectName(i),0) > 0))
{
ChangeTrend2 = ObjectGet(ObjectName(i),OBJPROP_TIME2);
var_408 = ObjectGetValueByShift(ObjectName(i),0);
FirstPrice2 = ObjectGetValueByShift(ObjectName(i), iBarShift(NULL, 0, ChangeTrend2, false));
}
}
}

var_392 = MathRound((var_400 - var_416)/ld_84 * 100);
if ((var_400 != 0) && (var_408 != 9999) && (var_400 != var_408)){
var_400 = NormalizeDouble(var_400,Digits);

var_408 = NormalizeDouble(var_408,Digits);

Помогите в решении данной задачи. Заранее благодарен.



Причина обращения: