[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 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:

Всем привет!

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

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

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

[Deleted]  

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

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);

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