[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 39

 
Cod:

А тут, получается, ГА увеличивает кол-во прогонов? Разве это возможно?

Опа!

Крайне интересный случай...))

 
DhP:

Опа!

Крайне интересный случай...))


Больше, чем возможно вариантов не будет
 

Спасибо, посмотрел но ничего не понял. Например:

Торговая операция не осуществляется, если нарушено любое из указанных требований

SellLimit

1) OpenPrice-Bid StopLevel

2) SL-OpenPrice StopLevel (далее в примере)

3) OpenPrice-TP StopLevel

Что означает "Торговая операция не осуществляется"? Не будет выставлен(принят) отложенный ордер или уже установленный не сработает(что с ним тогда происходит-удаляется брокером)? Повторю вопрос, если условия поменялись, и ранее успешно установленный ордер через час, например имеет SL-OpenPrice внутри измененного к этому моменту StopLevel, что с ним происходит?

И еще вопрос. Допустим, спред был 2, а стал 7 пунктов. Что это значит - изменилась цена бид или аск, или борокер выбирает это произвольно как ему удобно?

 

При попытке компиляции включаемого файла (*.mqh) появляется ошибка '\end_of_program' - no function defined. Что не так и как это исправить?

extern double Lots = 0.0;
extern int Percent = 0;
extern int StopLoss = 100;
extern int TakeProfit = 40;
extern int TrailngStop = 100;

int Level_New;
int Level_Old;

 

Рассмотрел обложку УЧЕБНИКА со всех сторон и все равно ничего не понял...)))

Везде вижу, что пишут так:

int Ticket = OrderSend(...);

Справедливо ли нижеприведенное написание, если я хочу получить Price = OrderOpenPrice() для дальнейшей обработки и установки Стопов?

double Price = OrderSend(...);

Оно у меня работает, но допустимо ли такое?

 
Vinin:

Встроенных функций нет, надо просто написать свою машку с расчетом периода расчета в зависимости от таймфрейма
Не вопрос... Но Как определить текущее значение ТФ в коде?
 

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

Пишу первый раз, если что не так, сорри.

Вопрос такой, почему функция (см. ниже) выдает ошибку: 'A' - array item cannot be assigned?

double get_init_values(double A[], int index){

int size = 0;

size = ArraySize(A);

if (size < index){

return (0);

}else{

A [index] = Ask;

return (A);
}

}
Заранее спасибо!
 
Saltan:

При попытке компиляции включаемого файла (*.mqh) появляется ошибка '\end_of_program' - no function defined. Что не так и как это исправить?..

А не надо пытаться! Файлы .mqh кладутся в include и тихонько так себе лежат. При компиляции советника, в котором они прописаны, компилятор автоматически объединяет необходимые элементы кода и компилирует совместно.
При попытке отдельной компиляции .mqh компилятор пытается определить тип изделия (советник, индикатор..), и начинает придираться, "где ты start подевал?" и пр.
Разбираться с .mqh надо начинать, если ошибки возникают при правильной компиляции.
 

Вставил в свой советник новый блок для расчёта размера лота открываемой позиции. Смысл такой:

1. Стоп ставится на High текущего дня при Sell позиции, и на Low дня при Buy позиции.

2. При срабатывании условия на открытие ордера начинает выполняться этот блок для расчёта лота. Считается расстояние до High\Low дня в пунктах, циклом перебираю лоты начиная с 0,1, для того чтобы найти нужный лот (5% при срабатывании стопа)

Но в журнале появляются такие строки:

2011.01.30 16:59:47 TestGenerator: unmatched data error (volume limit 1107 at 2011.01.13 14:45 exceeded)

Как только выключаю данный блок, то всё ок. Где я ошибаюсь? Подскажите пожалуйста.

Вот сам код:

double Balance = AccountBalance();
    double DistanceToHighDay = MathAbs(HighDay-Ask)*10000;
    double DistanceToLowDay  = MathAbs(Bid-LowDay)*10000;
    double ExpectedSellLoss;
    double ExpectedBuyLoss;
    double ExpectedSellRisk;
    double ExpectedBuyRisk;
    double LotSell;
    double LotBuy;
    int    Risk = 5;
   
    // Расчёт лота для Sell
    for(int i=0.1; ExpectedSellRisk<Risk; i=i+0.1)
       {
        ExpectedSellLoss = DistanceToHighDay*i*10;         // ожидаемый убыток в $
        ExpectedSellRisk = (ExpectedSellLoss*100)/Balance; // ожидаемый убыток в %
        LotSell=i;
       }
       
    // Расчёт лота для Buy
    for(i=0.1; ExpectedBuyRisk<Risk; i=i+0.1)
       {
        ExpectedBuyLoss = DistanceToLowDay*i*10;         // ожидаемый убыток в $
        ExpectedBuyRisk = (ExpectedBuyLoss*100)/Balance; // ожидаемый убыток в %
        LotBuy=i;
       }
 
осваиваю язык mql4, не могу написать простой индикатор объёма, т.е. подсчитывает сколько тиков в каждом баре, если у кого-нибудь есть такой, плиз, поделитесь. Если кто специально напишет то большой спасиб.
Причина обращения: