[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 880
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
да наверно я не точно выразился мне надо чтоб переменая скажем BalansEURUSD имела данные какой проф или убыток наданый момент в процентном соотнашении " BalansEURUSD =5%" дето так
и так по нескольким парам скажем еще по фунене и долорена
одно времено
это уже труднее, но посчитать можно:
для ордера SELL
profit=NormalizeDouble((OrderOpenPrice()-Ask)*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots()/Point,2);
margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_SELL,OrderLots(),2);
для BUY:
profit=NormalizeDouble((Bid-OrderOpenPrice())*MarketInfo("EURUSD",MODE_TICKVALUE)*OrderLots()/Point,2);
margin=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck("EURUSD",OP_BUY,OrderLots(),2);
это полные формулы для расчета прибыли ордера + залог на данный ордер, залог нужно учитывать, т.к. если произойдет закрытие ордера, то высвобожденный залог прибавится к балансу, численно денег прибавится, а реального профита может и не было
Парни подскажите пожалуйста как сделать так чтобы при срабатывании одного отложенного ордера выставлялся другой ?????? Через ордер селект пробывал что то не получается ........
после
ордер тип == бай, // где бай ранше был байстоп
открыть ордер отложенник // (не открывает)
Парни подскажите пожалуйста как сделать так чтобы при срабатывании одного отложенного ордера выставлялся другой ?????? Через ордер селект пробывал что то не получается ........
после
ордер тип == бай, // где бай ранше был байстоп
открыть ордер отложенник // (не открывает)
как вариант, что первое пришло на ум - через ордер селект в цикле по всем рыночным и отложенным ордерам смотрите, есть ли в рынке рыночные ордера (бай или селл), если есть, значит отложенный ордер (ранее установленный) стал рыночным, то ставите очередной (другой отложенный ордер какой вам надо, допустим: если ордер бай в рынке, то ставите байстоп и т.д.). Рекомендую почитать -
на сайте альпари - обучение форекс - учебник трейдера - автотрейдинг МКЛ4 (слева на панели) - торговые советники - (ф-ии ордерселект, ордерсенд, условные операторы и т.д.)
http://www.alpari.ru/ru/school/textbook/autotrading/expert_advisors/ - лаконично и познавательно...
Я пытаюсь научиться программировать.Подскажите,я подозреваю,что в советнике никогда не выполняется условие
while (В*Point >zmm)
Comment("Значение разниці ", В);
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
Как это обстоятельство можно проверить??Какие существуют методы? И можно ли при неработающих тиках?
Уважаемые Эксперты! Учусь писать советник. Работает, но не все. Не работают блоки модификации и закрытия ордеров. Ни как не найду причину. Прошу помощи.
омощи.
Уважаемые Эксперты! Учусь писать советник. Работает, но не все. Не работают блоки модификации и закрытия ордеров. Ни как не найду причину. Прошу помощи.
омощи.
Может пора с функциями уже знакомиться?
вот проблема :
MathSrand(TimeLocal());
int periodRandom=period+ MathRand()/10000;
int period2Random=period2+ MathRand()/10000;
Moving1=iMA(Symbol(),0,periodRandom,0,MODE_SMA,price,1) ;
Moving2=iMA(Symbol(),0,period2Random,0,MODE_SMA,price,1);
Я решил менять случайным образом период машек - период плюс случайная величина от 0 до 3.
но в тестере прогонка показывает всегда одну величину прибыли. Возможно, период не меняется, Что я неправильно накодил?
Доброго времени суток! Вопрос простой: возможно ли каким-нибудь образом задать вторую размерность двумерного массива не через константу?
То есть, надо делать так: double massiv[5][5], а я хочу double massiv[5][k], где k - известная целая величина, заданная ранее, например, через extern int k = 5. Первую размерность можно изменить функцией ArrayResize, а вот вторую почему-то нельзя...
Доброго времени суток! Вопрос простой: возможно ли каким-нибудь образом задать вторую размерность двумерного массива не через константу?
То есть, надо делать так: double massiv[5][5], а я хочу double massiv[5][k], где k - известная целая величина, заданная ранее, например, через extern int k = 5. Первую размерность можно изменить функцией ArrayResize, а вот вторую почему-то нельзя...
#define k 5
https://docs.mql4.com/ru/basis/preprosessor/constant
Здраствуйте, знатоки.
Растолкуйте, пожалуста, как из подокна индикаторов убрать информацию слева вверху.
Мешает.