[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 600
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пожалуй что так. Ну говорил же - чайник я, чайник... Вот тут профит в верхней строке показан в пунктах, только в 3-значных:
Насколько я понял, PipProfit = USDprofit/lot/Point для EURUSD. Для пар с обратной котировкой надо взять разницу цен открытия и текущей и перемножить на Digits: Pips = OrderOpenPrice()-Bid*Digits_coefficient; где
Digits_coefficient = MathPow(10,Digits);
Разницу брать не обязательно, есть функция OrderProfit().
Пройдемся еще раз, чтобы в моске застряло. Итак, покупаем GBPJPY.
1. OrderProfit() равен -15.27 USD = -1228.32 JPY (для конверсии в иену умножаем на курс USDJPY).
2. Делим профит на лот, равный 0.1.
3. Делим результат на цену пункта 1 лота, равную 0.01 JPY * 100000 = 1000 JPY. Получаем -12.28 пунктов, т.е. как и надо.
Небольшая ошибка - потому, что цифры брал не в один и тот же момент времени, а тут как раз иена резко стала укрепляться.
Формула для XXXYYY:
pips = ( USDYYY или 1/YYYUSD ) * OrderProfit() / ( OrderLots( ) * Point ).
Здесь Point - цена пункта 1 лота в валюте YYY, равная 100000 * MathPow( 10, - Digits ).
Добрый день.
Каковы могут быть причины почему не оптимизируется советник ?
Оптимизируемый параметр один, индикаторы штатные.
Тест идет нормально.
Может подскажите?
Суть скрипта такая- закрывает перекрытие ордера... Но есть загвоздка- почему то не закрывает ордера с разным размером лота...
Не подскажите где загвоздка?
Ну для начала замените направление проверки с
for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
на
for(int i=OrdersTotal() - 1; i>=0; i--) // Цикл перебора ордер
везде
почему некоторые советники сначала работают хорошо в тестере, а потом не открывают не одной сделки? я названия советников не помню, но у меня три таких было, может я что-то не так делаю? мт4
Ну для начала замените направление проверки с
for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
на
for(int i=OrdersTotal() - 1; i>=0; i++) // Цикл перебора ордер
везде
Снял вопрос, т.к. скрипт крайне не корректен оказался... Много доделывать.. .Я хотел чтобы он в ноль перекрывал сделки.. а тут просто перекрытие...За помощь огромное спасибо... как сделаю нулевое перекрыте- выложу на вопросы.
Mathemat, если нужно чисто количество пипсов прибыли/лосса то можно ещё проще считать, я просто спал вчера уже когда писал )))
Вроде универсальные формулы, подходят для всех валютных пар:
.
Господа прошу помощи.
Нужна функция которая проверяет, трогала ли цена машку за последние икс баров?
Прошу сильно не пинать, т.к. я чайник совсем.
Как переписать индикатор Awesome, только для 1H . Допустим я присоединяю Awesome к 4H, я хочу,чтобы индикатор отображал данные относящиеся к 1H, а не к 4H.
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("AO");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
ExtBuffer0[i]=iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA(NULL,0,34,0,MODE_SMA,PRICE_MEDIAN,i);
Я меняю NULL на PeriodH1, но это не помогает.
Как переписать индикатор Awesome, только для 1H . Допустим я присоединяю Awesome к 4H, я хочу,чтобы индикатор отображал данные относящиеся к 1H, а не к 4H.
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("AO");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
ExtBuffer0[i]=iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN,i)-iMA(NULL,0,34,0,MODE_SMA,PRICE_MEDIAN,i);
Я меняю NULL на PeriodH1, но это не помогает.