Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 802
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ChartFirst
Возвращает идентификатор первого графика клиентского терминала.
я понимаю, что это самый левый график
К сожалению это не так, проверить это легко:
1. надо открыть 2-3 валютные пары в терминале
2. запустить код для проверки:
Смутно подозреваю, что нет. Завтра отпишусь, сейчас на работу.
Кто знает, можно ли модифицировать TakeProfit у открытого ордера в минусовую зону если сделка находится в минусе?
пока ждал ответа - порылся , кое что нашел и стряпал такое. будет ли оно правильно показывать ? сегодня воскресение и ждать до 12 ночи не охота чтобы узнать правильно ли написал.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
пока ждал ответа - порылся , кое что нашел и стряпал такое. будет ли оно правильно показывать ? сегодня воскресение и ждать до 12 ночи не охота чтобы узнать правильно ли написал.
symbol = Symbol();
double bid =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
double ask =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
double point =MarketInfo(symbol,MODE_POINT);//Запрос Point
double value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
double digits = MarketInfo(symbol,MODE_DIGITS);
if( bid<= stoploss1||step1 == 0)
{
step1++;
stoplevel= NormalizeDouble(stoplevel*point,digits);
stoploss1 = ask-stoplevel;
takeprofit1 = ask+stoplevel;
double profit =0.5;
double takeprofit2= profit * point * value * lot1 + bid;
takeprofit2 = NormalizeDouble(takeprofit2,digits);
if (takeprofit2 > takeprofit1)
takeprofit1 = takeprofit2;
так не проще?
.
у меня эта программа будет использоваться не только для торговли но и для анализа истории. рассчитать нужно будет сколько ордеров по нужным параметрам было бы открыто за определенный срок времени. поэтому все нужно рассчитать вручную
https://www.mql5.com/ru/forum/351
.