Заработай до
50000$
на приглашении друзей
получить StartUp Bonus
от ИнстаФорекс
Вложений не требуется!
Начни торговлю
без вложений и риска
С новым STARTUP бонусом 1000$
Получи бонус
55%
от ИнстаФорекс
на каждое пополнение
Ответить в теме
Страница 362 из 362
Первая ... 352 361 Главная страница темы

Показаны сообщения: с 7,221 по 7,232 из 7232

Тема: MQL4: Несколько вопросов от начинающего

 Перейти в классический вид темы
  1. Линк #7221
    Частый гость
    OLEKSANDR стараюсь положительно себя зарекомендовать Аватар для OLEKSANDR
    Регистрация
    04.01.2010
    Сообщений
    126
    Деньги за посты:
    469 RUB (Подробнее)
    Сказал(а) спасибо
    0
    Получено лайков:  6
    в сообщениях 6
    5%
    Продолжение темы [Архив] Несколько вопросов по MQL от начинающего

    -------------------------------------------

    как получить целое чесло ?

    [MQL]double A = 0.0; //перещот среднего бара
    for(int a = 1; a < 30; a++)
    {
    A += High[a];
    }
    double B = 0.0;
    for(int b = 1 ;b < 30; b++)
    {
    B += Low[b];
    }
    double AB = 0.0;
    ABA-B)/30;
    MessageBox("средний="+(AB));[/MQL]

    Последний раз редактировалось Gold; 24.07.2014 в 20:39. Причина: Добавил ссылку на архивную тему

  2. Пользователь сказал cпасибо:

    vivianalens (27.07.2017)

     
  3. ТОП-5 сообщений
    Лучший ответ #1
    Аватар для IgorM

    IgorM     IgorM вне форума

    если Вы однозначно уверенны, что серия ордеров начинается с некого "стартового ордера" и он не будет закрыт ранее остальных ордеров, тогда при подсчете ордеров найдите самый "старый" рыночный ордер - по времени, он и будет стартовым, примерно так: int NumberOfOrders(int magic_,int &buy_,int &sell_,int &ticket_) { int i,ot,k=OrdersTotal(); string sy=Symbol(); buy_=0;sell_=0; datetime t,tfo = TimeCurrent(); ticket_ = -1; for (i=0; i

    Лучший ответ #2
    Аватар для f-2a

    f-2a     f-2a вне форума

    Лучший ответ #3
    Аватар для strit25

    strit25     strit25 вне форума

    А солидные деньги это сколько и какая в них доля спреда (я думаю очень смешная) Не надо ничего писать, итак понятен ваш результат торгов. Я плавающий спред не поливаю, я вас просто предупреждаю, что имеются не честные брокеры. Я один раз опекся и мне этого было достаточно. А на форексе я более 12 лет и за это время всякое и всяких повидал. А насчет спреда это вы что то выдумали - просто его нет в прибыльных ордерах, а других у меня не бывает. Так что меня больше волнует комиссия при снятии средств. Если бы не вы я бы так бы и не знал, что бывают проблемы со спредом. Как говорится, кто ищет проблемы тот всегда их найдет. А теперь по делу и прекращаем пустозвон, лично для меня спреда не существует, и я не отвлекаюсь по не существующим мелочам. Кроме тех 2-х счетов, где я в долгосроке, у меня имеется еще пару счетов, где, как говорится, что бы там руки не чесались я пипсую или в среднесроке. Вот один из них на forex4you (за 4 последних дня) Кроме того на 1,1664 у меня отложка на покупку пока с т/п 1,1714, А там буду смотреть вероятность на счет ордера на продажу.


    Maslow pyramid

    Превью
    Лучший ответ #4
    Аватар для strit25

    strit25     strit25 вне форума

    Добавь В начале старта int k=0; int orderticket[]; А в цикле k=k+1; А там уже определись for (cnt=OrdersTotal()-1; cnt>=0; cnt--) .... сnt=++ или cnt=-- с первого или с последнего... K=k+1; orderticke = OrderTicket();

    Лучший ответ #5
    Аватар для Viktor1987

    lol


    Maslow pyramid
    Нужно пробовать что-то написать с применением прочтённого! Так трудно понять! Всё что приходит в голову это инвертирование состояний флага! Например в свойствах объектов или графика где применяется bool параметр! Можно ли как-то это прикрутить например сюда? ChartSetInteger(chart_ID,CHART_SHOW_TRADE_LEVELS,0,value) Вместо value использовать битовую маску и не городить проверку текущего состояния отображения торговых уровней, а просто инвертировать флаг!

    Превью
  4. Линк #7227
    Свой человек
    Все пучком
     
    IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация Аватар для IgorM
    Регистрация
    09.05.2011
    Пол
    Мужчина
    Сообщений
    787
    Деньги за посты:
    26610 RUB (Подробнее)
    Поставил лайков:
    227
    Получено лайков:  676
    в сообщениях 400
    86%
    Цитата Сообщение от syncomp Посмотреть сообщение
    Хотелось бы определиться с алгоритмом. Входные параметры-текущая цена( или Bid и Ask), баланс счете, объем открываемого ордера.
    если речь идет о самостоятельном написании, алгоритм очень простой для одного ордера:
    считаете убыток ордера по формуле:
    NormalizeDouble(lot * StopLoss * MarketInfo(_Symbol,MODE_TICKVALUE),2);
    и сравниваете с допустимы уровнем Stop Out , если нужна точность, тогда нужно учитывать спред

    если речь идет о серии ордеров, тогда нужно вычислить суммарную позицию ордеров, это суммы цен открытия деленное на количество ордеров и умноженное на сумму лотов
    если речь идет о разнонаправленных ордерах, тут нужно проверять, вроде как нужно посчитать каждую позицию БАЙ и СЕЛЛ отдельно, затем использовать разницу лотов
    ЗЫ: вот нашел готовый пример https://www.mql5.com/ru/code/8873


  5. 4 пользователя(ей) сказали cпасибо:

    traderledi (10.11.2018), Незарегистрированный (3 пользователя)

  6. Линк #7228
    Знающий
    Круто
     
    syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь syncomp авторитетный пользователь Аватар для syncomp
    Регистрация
    17.01.2013
    Пол
    Мужчина
    Сообщений
    3,186
    Деньги за посты:
    60895 RUB (Подробнее)
    Поставил лайков:
    167
    Получено лайков:  560
    в сообщениях 498
    18%
    Цитата Сообщение от IgorM Посмотреть сообщение
    NormalizeDouble(lot * StopLoss * MarketInfo(_Symbol,MODE_TICKVALUE),2);
    и сравниваете с допустимы уровнем Stop Out , если нужна точность, тогда нужно учитывать спред
    Это не совсем то. Стоп Лосс тут даже не нужен. Задача такова:

    У меня на депозите 100USD. Хочу открыть ордер BUY 0,1 лот. Требуется определить, на какой цене наступит СтопАут?
    Я хочу перед открытием ордера заранее знать, с каким лотом мне его открыть так, чтобы он не закрылся по СтопАуту с просадкой в 50 пунктов, например...


  7. 4 пользователя(ей) сказали cпасибо:

    Незарегистрированный (4 пользователя)

  8. Линк #7229
    В начале пути
    В думах
     
    Be Alive стараюсь положительно себя зарекомендовать Аватар для Be Alive
    Регистрация
    21.01.2018
    Пол
    Мужчина
    Сообщений
    21
    Деньги за посты:
    0 RUB (Подробнее)
    Поставил лайков:
    1
    Поблагодарили 1 раз в
    1 сообщении
    5%
    Цитата Сообщение от syncomp Посмотреть сообщение
    Это не совсем то. Стоп Лосс тут даже не нужен. Задача такова:

    У меня на депозите 100USD. Хочу открыть ордер BUY 0,1 лот. Требуется определить, на какой цене наступит СтопАут?
    Я хочу перед открытием ордера заранее знать, с каким лотом мне его открыть так, чтобы он не закрылся по СтопАуту с просадкой в 50 пунктов, например...
    Судя по вашей синей табличкой под аватаром илан трейдер, я подразумеваю что данный уровень стоп аута надо рассчитывать от совокупности позиций а не конкретно взятой, верно?


  9. Пользователь сказал cпасибо:

    Незарегистрированный (1 пользователь)

  10. Линк #7230
    Свой человек
    Все пучком
     
    IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация Аватар для IgorM
    Регистрация
    09.05.2011
    Пол
    Мужчина
    Сообщений
    787
    Деньги за посты:
    26610 RUB (Подробнее)
    Поставил лайков:
    227
    Получено лайков:  676
    в сообщениях 400
    86%
    Цитата Сообщение от syncomp Посмотреть сообщение
    Это не совсем то. Стоп Лосс тут даже не нужен. Задача такова:

    У меня на депозите 100USD. Хочу открыть ордер BUY 0,1 лот. Требуется определить, на какой цене наступит СтопАут?
    Я хочу перед открытием ордера заранее знать, с каким лотом мне его открыть так, чтобы он не закрылся по СтопАуту с просадкой в 50 пунктов, например...
    формула моя то, что Вам и нужно, единственное нужно с уровнем стопаута разобраться, с ходу что не нашел у себя ничего готового, но суть Вашей задачи примерно такая:
    Deposit = NormalizeDouble(lot * StopLoss * MarketInfo(_Symbol,MODE_TICKVALUE),2);

    нужно найти величину lot = Deposit / (StopLoss * MarketInfo(_Symbol,MODE_TICKVALUE))
    проверил на Инсте на бонусном рублевом счету, тик на ЕвроДоллар стоит 6.6386 рубля, по моей формуле чтобы слить депозит на 1000 руб за 500 пп, нужен лот = 0.301..., все вроде сходится, но уровень стопаут будет чуть раньше, там около 5% от залога будет

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

    Последний раз редактировалось IgorM; 09.11.2018 в 08:00.

  11. 4 пользователя(ей) сказали cпасибо:

    Незарегистрированный (4 пользователя)

  12. Линк #7231
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,787
    Деньги за посты:
    149227 RUB (Подробнее)
    Сказал(а) спасибо
    900
    Получено лайков:  7,004
    в сообщениях 3,300
    103%
    Цитата Сообщение от IgorM Посмотреть сообщение
    но уровень стопаут будет чуть раньше
    Там все немного сложнее. В зависимости от валюты депозита и используемого инструмента стоимость тика может плавать в довольно неплохих пределах. Следовательно и уровень стопаута в разное время, при разных соотношениях курсов, будет иметь разное значение. И поэтому одна жесткая формула тут не прокатит. Нужен постоянный пересчет и коррекция стопаута в зависимости от стоимости тика. Иначе разница с выставленным по твоей формуле уровнем стопаута может убежать далеко за 5%, как в одну, так и в другую сторону.

    И еще один нюансик... MODE_TICKVALUE - привязан только к цене Bid. Следовательно по твоей формуле для покупок результат будет корректный, а для продаж будет брехать как минимум на величину спреда. И это для прямых пар и депозите в баксах. А если депозит не в баксах и пара не прямая или кросс - погрешность будет выше.

    Последний раз редактировалось ir0407; 09.11.2018 в 13:10.

  13. 4 пользователя(ей) сказали cпасибо:

    IgorM (09.11.2018), Незарегистрированный (3 пользователя)

  14. Линк #7232
    Свой человек
    Все пучком
     
    IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация IgorM хорошая репутация Аватар для IgorM
    Регистрация
    09.05.2011
    Пол
    Мужчина
    Сообщений
    787
    Деньги за посты:
    26610 RUB (Подробнее)
    Поставил лайков:
    227
    Получено лайков:  676
    в сообщениях 400
    86%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    И еще один нюансик... MODE_TICKVALUE - привязан только к цене Bid. Следовательно по твоей формуле для покупок результат будет корректный, а для продаж будет брехать как минимум на величину спреда. И это для прямых пар и депозите в баксах. А если депозит не в баксах и пара не прямая или кросс - погрешность будет выше.
    про MODE_TICKVALUE подозревал, что будет однобоко считать, но теперь учту, погуглил, в принципе, если по быстрому рассчитать, то моей формулы достаточно, если корректно до пункта и учитывать все настройки сервера, тут целый топик нужно открывать , причем проблема не написать такой скрипт, а протестировать на нескольких серверах.
    В общем времени много потребуется, не хочу читать, на форуме метаквот в английской части чаще попадаются обрывки формул, но то же не учитывают все настройки
    по сабжу или готовый индикатор использовать https://www.mql5.com/ru/code/9703 или короткую формулу которую я предложил или... или с удовольствием посмотрю, кто предложит полный и корректный расчет уровня стопаут


  15. 3 пользователя(ей) сказали cпасибо:

    Незарегистрированный (3 пользователя)

  16. Линк #7233
    Кандидат форумных наук
    azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь Аватар для azfaraon
    Регистрация
    17.03.2015
    Сообщений
    1,986
    Деньги за посты:
    99471 RUB (Подробнее)
    Сказал(а) спасибо
    2,620
    Получено лайков:  2,648
    в сообщениях 1,353
    133%
    Добрый вечер .Что по вашему написано в этом куске кода?
    " if(count==0)comment+="No symbols for trading!";
    Comment(comment);
    MqlTick tick;
    tick.ask=SymbolInfoDouble(structPairs.name,SYMBOL_ ASK);
    tick.bid=SymbolInfoDouble(structPairs.name,SYMBOL_ BID);
    tick.time=TimeCurrent();
    Trade(false,structPairs, tick, Orders, inputs);"

    при каких случаях срабатывает это коммент? В списке все пары есть и вся история загружена.

    Последний раз редактировалось azfaraon; 09.11.2018 в 22:42.

  17. 2 пользователя(ей) сказали cпасибо:

    Незарегистрированный (2 пользователя)

  18. Линк #7234
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,787
    Деньги за посты:
    149227 RUB (Подробнее)
    Сказал(а) спасибо
    900
    Получено лайков:  7,004
    в сообщениях 3,300
    103%
    Цитата Сообщение от azfaraon Посмотреть сообщение
    при каких случаях срабатывает это коммент?
    Судя по всему, когда нет условий для работы советника по нужным символам. При этом само наличие этих символов может быть недостаточно для работы советника. Смотрите, где и как формируется значение для переменной count.


  19. Линк #7235
    Кандидат форумных наук
    azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь azfaraon авторитетный пользователь Аватар для azfaraon
    Регистрация
    17.03.2015
    Сообщений
    1,986
    Деньги за посты:
    99471 RUB (Подробнее)
    Сказал(а) спасибо
    2,620
    Получено лайков:  2,648
    в сообщениях 1,353
    133%
    Цитата Сообщение от ir0407 Посмотреть сообщение
    Судя по всему, когда нет условий для работы советника по нужным символам. При этом само наличие этих символов может быть недостаточно для работы советника. Смотрите, где и как формируется значение для переменной count.
    Поясните пожалуйста разницу между bool AUDCAD = true; //AUDCAD и input bool AUDCAD = true; //AUDCAD.


  20. 3 пользователя(ей) сказали cпасибо:

    Незарегистрированный (3 пользователя)

  21. Линк #7236
    В начале пути
    В думах
     
    Be Alive стараюсь положительно себя зарекомендовать Аватар для Be Alive
    Регистрация
    21.01.2018
    Пол
    Мужчина
    Сообщений
    21
    Деньги за посты:
    0 RUB (Подробнее)
    Поставил лайков:
    1
    Поблагодарили 1 раз в
    1 сообщении
    5%
    Цитата Сообщение от azfaraon Посмотреть сообщение
    bool AUDCAD = true;
    глобальная переменная эксперта

    Цитата Сообщение от azfaraon Посмотреть сообщение
    input bool AUDCAD = true; //AUDCAD.
    переменная вынесенная в окно настроек советника

    разница в том что в первом случае переменная может менять свое значение только в коде. Во втором случае, включить или отключить данный символ решает пользователь, который вешает на график данный эксперт. Из окна настроек.


  22. Линк #7237
    Специалист
    ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация ir0407 отличная репутация Аватар для ir0407
    Регистрация
    02.12.2010
    Сообщений
    6,787
    Деньги за посты:
    149227 RUB (Подробнее)
    Сказал(а) спасибо
    900
    Получено лайков:  7,004
    в сообщениях 3,300
    103%
    Цитата Сообщение от azfaraon Посмотреть сообщение
    Поясните пожалуйста разницу между bool AUDCAD = true; //AUDCAD и input bool AUDCAD = true; //AUDCAD.
    bool AUDCAD = true; - переменная, которую можно менять из кода, но она не видна в списке параметров советника.
    input bool AUDCAD = true; - переменная, которая видна в списке параметров советника, но ее невозможно изменить из кода.
    При этом одновременное использование подобных переменных(с одинаковым именем) в исходнике недопустимо. Компилятор будет ругаться на них.

    Последний раз редактировалось ir0407; 10.11.2018 в 00:13.

  23. Линк #7238
    Многие думают, но это не так
    Сатана во плоти
     
    vavanfx приемлемый уровень репутации vavanfx приемлемый уровень репутации Аватар для vavanfx
    Регистрация
    05.02.2012
    Пол
    Мужчина
    Сообщений
    420
    Деньги за посты:
    4310 RUB (Подробнее)
    Поставил лайков:
    69
    Получено лайков:  183
    в сообщениях 124
    44%
    Всем привет. Вопрос по расчету макс. просадки:
    Нашел пост за 14-й год:
    https://forexdengi.com/threads/1266-...1#post11222815
    там человек привел код:

    Долго думал, но все таки получилось. На Ваше рассмотрение функция для расчета максимальной просадки. Что можно дополнить, изменить или оптимизировать? Функция считает точно такую же просадку как в тестере.
    [MQL]
    //+------------------------------------------------------------------+
    //| Расчёт просадки на всей истории счёта |
    //+------------------------------------------------------------------+
    double MaxDrawdown()
    {
    if (AccountEquity() > MaxPeak)
    {
    MaxPeak = AccountEquity();
    }
    if (AccountEquity() < MaxPeak)
    {
    DD = NormalizeDouble((MaxPeak - AccountEquity())/MaxPeak*100,2);
    }
    if (MaxDD< DD)
    {
    MaxDD = DD;
    }
    return (MaxDD);
    }
    [/MQL]
    Работает! Но показывает % не макс. просадки, а относительной, все точно, как в тестере.
    А как сделать так, чтобы показывал именно макс. просадку, точно как в тестере?

    Самый точный прогноз:
    По моему мнению, EURUSD будет расти и падать, а также идти всегда в правую сторону!
    Совет:
    “Не занимайся спекуляцией на рынке, если это для тебя не основная работа"

  24. 3 пользователя(ей) сказали cпасибо:

    Незарегистрированный (3 пользователя)


Страница 362 из 362
Первая ... 352 361 Главная страница темы

Похожие темы

  1. Несколько слов о языке программирования mql4
    от Заз в разделе MQL-программирование, АТС
    Replies: 32
    Последнее сообщение: 26.09.2018, 11:31
  2. 55 вопросов по истории РОССИИ
    от НАИВНЫЙ-СЕРДЦИЕТ в разделе Свободное общение
    Replies: 15
    Последнее сообщение: 25.12.2015, 15:44
  3. [Архив] MQL4: Несколько вопросов от начинающего
    от Nick'Otin в разделе MQL-программирование, АТС
    Replies: 9235
    Последнее сообщение: 26.10.2015, 01:36

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения

Правила форума