Может кто знает, забираю прибыль через OrderProfit(), там идёт работа с положительными числами, а сейчас нужно записать stoploss через этот же OrderProfit(), не могу понять с отрицательными числами он не работает? Задача состоит в том , что если прибыль минусовая то...
- Тег [tp] удален в некоторых брокерах?
- Индикаторы: MACD_Histogram
- Помогите написать советник
borodadada:
что если прибыль минусовая то...
что если прибыль минусовая то...
... собирать манатки и прятаться от кредиторов?)))
Если серьезно, то OrderProfit() прекрасно информирует и об отрицательном плавающем результате
Всё что мог перепробовал, ни как не могу добиться результата. Не могли бы вы привести пример сравнения OrderProfit() отрицательного, с отрицательным числом. В моём случае нет ни какой конвертации лота, просто if(OrderProfit()<-10) вообщем так не работает.
borodadada:
Всё что мог перепробовал, ни как не могу добиться результата. Не могли бы вы привести пример сравнения OrderProfit() отрицательного, с отрицательным числом. В моём случае нет ни какой конвертации лота, просто if(OrderProfit()<-10) вообщем так не работает.
Всё что мог перепробовал, ни как не могу добиться результата. Не могли бы вы привести пример сравнения OrderProfit() отрицательного, с отрицательным числом. В моём случае нет ни какой конвертации лота, просто if(OrderProfit()<-10) вообщем так не работает.
Может так....кинь на график.
//+------------------------------------------------------------------+ //| Pro.mq4 | //| Copyright 2012, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- double Pro = NormalizeDouble(AccountProfit()*100/AccountBalance(),2); string text; if(Pro<0) text = StringConcatenate ("Просадка = ", Pro, " %"); else text = StringConcatenate ("Прибыль = ", Pro, " %"); SetLabel("Prosadka",text,Yellow,3,15, 3,10); //---- return(0); } //+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 12.10.2007 | //| Описание : Установка текстовой метки, объект OBJ_LABEL. | //+----------------------------------------------------------------------------+ //| Параметры: | //| nm - наименование объекта | //| tx - текст | //| cl - цвет метки | //| xd - координата X в пикселах | //| yd - координата Y в пикселах | //| cr - номер угла привязки (0 - левый верхний ) | //| 1 - правый верхний | //| 2 - левый нижний | //| 3 - правый нижний ) | //| fs - размер шрифта (9 - по умолчанию ) | //+----------------------------------------------------------------------------+ void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) { if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0); ObjectSetText(nm, tx, fs); ObjectSet(nm, OBJPROP_COLOR , cl); ObjectSet(nm, OBJPROP_XDISTANCE, xd); ObjectSet(nm, OBJPROP_YDISTANCE, yd); ObjectSet(nm, OBJPROP_CORNER , cr); ObjectSet(nm, OBJPROP_FONTSIZE , fs); }
Действительно минуса кажет, но тут вы производите расчёт имея 2 переменных, а как быть с одим выбранным ордером. Там по идее уже должно быть готовое значение, и получать его не надо, хотя не точно. Вопрос не решил...
borodadada:
Всё что мог перепробовал, ни как не могу добиться результата. Не могли бы вы привести пример сравнения OrderProfit() отрицательного, с отрицательным числом. В моём случае нет ни какой конвертации лота, просто if(OrderProfit()<-10) вообщем так не работает.
Всё что мог перепробовал, ни как не могу добиться результата. Не могли бы вы привести пример сравнения OrderProfit() отрицательного, с отрицательным числом. В моём случае нет ни какой конвертации лота, просто if(OrderProfit()<-10) вообщем так не работает.
Может так ? if(OrderProfit()<-10*Point)
И если хоть один ордер в плюсе работать не будет.
borodadada приведите кусок кода хотя бы чтоб было понятнее.
Возвращает мани а не пункты )
Возвращает значение чистой прибыли (без учёта свопов и комиссий) для выбранного ордера. Для открытых позиций это - текущая нереализованная прибыль. Для закрытых ордеров - зафиксированная прибыль
работает для минусов OrderProfit()+OrderCommission()+OrderSwap();
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь