NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_UPPER, 1),Digits); 1. MODE_UPPER и MODE_LOWER это вы берете значения из первого и второго индикаторных буферов (у вас нулевой и первый) 2. Цифра 1 значит что вы берете значение [1]-го элемента (на прошлом баре то есть)
ilunga: NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_UPPER, 1),Digits); 1. MODE_UPPER и MODE_LOWER это вы берете значения из первого и второго индикаторных буферов (у вас нулевой и первый) 2. Цифра 1 значит что вы берете значение [1]-го элемента (на прошлом баре то есть)
Pavel447 02.03.2011 10:57 Добрый день! Может у кого то есть советник(или скрипт), который при открытии позиции автоматически выставляет СЛ, ТП,Трейлинг+перевод в БУ при выходе в профит...? Заранее благодарен!)
artmedia70: Массивы можно использовать в очень многих случаях и для реализации множества различных задач. Так какой же пример нужен???
if (Cls_B[i]||Cls_S[i]) LotCt=NormalizeLot(OrderLots()/(4-i));
как прописать [i] ? Вроде бы объявлял как переменную..., выдает ошибку компилляции. Не пойму ... Просит целочисленное значение, но массив можно объявить и переменной?!
100yan: как прописать [i] ? Вроде бы объявлял как переменную..., выдает ошибку компилляции. Не пойму ... Просит целочисленное значение, но массив можно объявить и переменной?!
любая конструкция в скобках [] должна иметь тип данных int.
Подскажите, что значит такая вот хрень в логах? Как можно этого избежать? Эксперт торгует с помощью этого индюка, после ошибки торговля замирает пока не перезагрузишь терминал так как при перезагрузке эксперта может снова вылететь.
22:39:53 +ZigZag_Levels CLJ1,M5: uninit reason 3
22:39:53 Zigzag CLJ1,M5: uninit reason 1
22:39:53 Zigzag CLJ1,M5: removed
Может это из-за того, что я пользуюсь терминалом на удаленном серваке и у себя на компе одновременно?
Привет всем! У меня вопрос такой: в этой функции для двух позиций (бай и селл) выставляется стоплосс таким образом что для селла SL=цена открытия бай+18пунктов, и для бая наоборот:
бла-бла-бла...
цены открытия противоположных поизций получаем из ф-ции:
бла-бла-бла...
ну а функции ModifyOrder знаем как стандартную КИМИВ-скую, ею устанавливаем рассчитанные стоплоссы...
Вопрос в том что он советник устанавливает стоплосс только для селла, а для бая не устанавливает??? кто что думает? буду признателен.
void SimpleLock(string sy="", int mn=-1) {
double po, pp, ops1=0, ops2=0, opb;
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<=k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
po=MarketInfo(OrderSymbol(), MODE_POINT);
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_SELL) {
opb=OrderStopLoss(); // Значение стопа позиции до модификации = (0???)
ops2=NormalizeDouble(OrderPrice(OP_BUY),Digits);
if (ops2>0 && opb!=0) {
ModifyOrder(-1, ops2+18*po, -1);
}
}
if (OrderType()==OP_BUY) {
opb=OrderStopLoss();
ops1=NormalizeDouble(OrderPrice(OP_SELL),Digits);
if (ops1>0 && opb!=0) {
ModifyOrder(-1, ops1-18*po, -1);
}
}
}
}
}
}
}
Если стоп не установлен, то и модифи не вызывается...
цены открытия противоположных поизций получаем из ф-ции:
double OrderPrice(int type) {
double price;
int i, k=OrdersTotal();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType()==type) {
price=OrderOpenPrice(); // Значение цены открытия в списке ордеров терминала позиции с типом type и индексом i
}
}
}
return(price); // Возвращает цену открытия последней в списке ордеров позиции с типом type и индексом не более k-1
}
Уверены, что вам возвращается цена открытия именно нужного ордера?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Есть индикатор, Санёк - автор.
Отмечает уровень фрактала, образованного на баре с объемом, большим чем средний объем последних 3 баров до фрактала.
как его значение в советник извлечь ?
пробую:
h=NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_UPPER, 1),Digits);
l=NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_LOWER, 1),Digits);
не получается.
NormalizeDouble(iCustom(NULL,0,"vfractals",MODE_UPPER, 1),Digits); 1. MODE_UPPER и MODE_LOWER это вы берете значения из первого и второго индикаторных буферов (у вас нулевой и первый) 2. Цифра 1 значит что вы берете значение [1]-го элемента (на прошлом баре то есть)
Спасибо. получилось
Перенесено.
Pavel447 02.03.2011 10:57
Добрый день!
Может у кого то есть советник(или скрипт), который при открытии позиции автоматически выставляет СЛ, ТП,Трейлинг+перевод в БУ при выходе в профит...?
Заранее благодарен!)
dimeon 02.03.2011 11:41
Помогите добавить в код советника динамический лот, что бы лот увеличивался с увеличением депо, или в процентах от депозита?
FiboWave_v1_1lavtolot.mq4 (9.26 KB) удалить
Массивы можно использовать в очень многих случаях и для реализации множества различных задач. Так какой же пример нужен???
if (Cls_B[i]||Cls_S[i]) LotCt=NormalizeLot(OrderLots()/(4-i));100yan:
Просит целочисленное значение, но массив можно объявить и переменной?!как прописать [i] ?
поконкретней вопрос.
массив это переменные с одинаковым именем но разным номером
как прописать [i] ? Вроде бы объявлял как переменную..., выдает ошибку компилляции. Не пойму ... Просит целочисленное значение, но массив можно объявить и переменной?!
Подскажите, что значит такая вот хрень в логах? Как можно этого избежать? Эксперт торгует с помощью этого индюка, после ошибки торговля замирает пока не перезагрузишь терминал так как при перезагрузке эксперта может снова вылететь.
22:39:53 Zigzag CLJ1,M5: removed
Может это из-за того, что я пользуюсь терминалом на удаленном серваке и у себя на компе одновременно?
Привет всем! У меня вопрос такой: в этой функции для двух позиций (бай и селл) выставляется стоплосс таким образом что для селла SL=цена открытия бай+18пунктов, и для бая наоборот:
бла-бла-бла...цены открытия противоположных поизций получаем из ф-ции:
бла-бла-бла...ну а функции ModifyOrder знаем как стандартную КИМИВ-скую, ею устанавливаем рассчитанные стоплоссы...
Вопрос в том что он советник устанавливает стоплосс только для селла, а для бая не устанавливает??? кто что думает? буду признателен.
Если стоп не установлен, то и модифи не вызывается...
цены открытия противоположных поизций получаем из ф-ции:
Уверены, что вам возвращается цена открытия именно нужного ордера?