Тейк профит - страница 3

 
napster1421:
Уххх там много параметры 😣😣😣

Нужно, для начала, определиться с концепцией. Ведь выставление уровня Take Profit - это модификация ПОЗИЦИИ. То есть, позиция должна существовать. Вопрос в том, что именно Вы хотите делать: работать на торговом счёте с неттинговым учётом или на торговом счёте с хеджингом.

Как Вы хотите менять уровень Take Profit: при помощи скрипта или это должен быть советник.

 
Karputov Vladimir:

Ведь выставление уровня Take Profit - это модификация ПОЗИЦИИ. То есть, позиция должна существовать. 

А что - выставлять TakeProfit при открытии ордера - не алё? 
Автору как понимаю это и нужно.
 
mmmoguschiy-new:
А что - выставлять TakeProfit при открытии ордера - не алё? 
Автору как понимаю это и нужно.
Хм. Может и так. Подождём комментариев ...
 
mmmoguschiy-new:
А что - выставлять TakeProfit при открытии ордера - не алё? 
Автору как понимаю это и нужно.
//+------------------------------------------------------------------+
//|                                                            q.mq5 |
//|                                                           @tjm29 |
//|                                                   telegram@tjm29 |
//+------------------------------------------------------------------+
#property copyright "@tjm29"
#property link      "telegram@tjm29"
#property version   "1.00"
extern int TakeProfit=100;
extern int StopLoss=50;
extern double MaxRisk=0.02;
#define EXPERT_MAGIC 123456   // MagicNumber эксперта
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
double MA1, MA2,MA3,MA4;
int OnInit()
  {  
  //--- объявление и инициализация запроса и результата
   MqlTradeRequest requestSell={0};
   MqlTradeResult  resultSell={0};
//--- параметры запроса
   requestSell.action   =TRADE_ACTION_DEAL;                     // тип торговой операции
   requestSell.symbol   =Symbol();                              // символ
   requestSell.volume   =MaxRisk;                               // объем лот =MaxRisk
   requestSell.type     =ORDER_TYPE_SELL;                       // тип ордера
   requestSell.price    =SymbolInfoDouble(Symbol(),SYMBOL_BID); // цена для открытия
   requestSell.deviation=5;                                     // допустимое отклонение от цены
   requestSell.magic    =EXPERT_MAGIC;                          // MagicNumber ордера
   requestSell.sl       =StopLoss;         // Стоп Лосс
   requestSell.tp       =MA4*_Point;       // Тейк Профит
   requestSell.type_filling=ORDER_FILLING_FOK;
//--- отправка запроса
   
//---
   MA1=iCustom(NULL,5,"Examples\\Custom Moving Average", 8,0,MODE_EMA,PRICE_CLOSE);
   MA2=iCustom(NULL,5,"Examples\\Custom Moving Average", 16,0,MODE_EMA,PRICE_CLOSE);
   MA3=iCustom(NULL,5,"Examples\\Custom Moving Average", 32,0,MODE_EMA,PRICE_CLOSE);
   MA4=iCustom(NULL,5,"Examples\\Custom Moving Average", 64,0,MODE_EMA,PRICE_CLOSE);
  if (MA2>MA1){
  OrderSend(requestSell,resultSell);
  }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  
   }
//+------------------------------------------------------------------+

 

Интересно, .........

а зачем усложнять  советник модификацией позиции тейкпрофита?

Я так просто спрашиваю "думкою богатею" ),

ладно я согласен ,подтягивать отложенный  для переворота позы , а для выхода то зачем?  

 написали бы условие , типа:

// Функция вычисления сигнала на выход из покупки (текущая свеча коснулась или опустилась ниже нижней границы мувинга).

bool ExitBuySignal()

// Создаем массив значений МА, реверсируем его направление и заполним тремя последними значениями мувинга.

{ double fMA[];

CopyBuffer(g_hMA, 0, 0, 3, fMA);

// Текущая цена бид.

double fBid = SymbolInfoDouble(_Symbol, SYMBOL_BID);

// Собственно условие выхода из лонга

bool bSignal = fBid <= fMA[0];

return(bSignal);

}

и для шорта  так же

и все !

 

 
Alexander Antoshkin:

Интересно, .........

а зачем усложнять  советник модификацией позиции тейкпрофита?

Я так просто спрашиваю "думкою богатею" ),

ладно я согласен ,подтягивать отложенный  для переворота позы , а для выхода то зачем?  

 написали бы условие , типа:

// Функция вычисления сигнала на выход из покупки (текущая свеча коснулась или опустилась ниже нижней границы мувинга).

bool ExitBuySignal()

// Создаем массив значений МА, реверсируем его направление и заполним тремя последними значениями мувинга.

{ double fMA[];

CopyBuffer(g_hMA, 0, 0, 3, fMA);

// Текущая цена бид.

double fBid = SymbolInfoDouble(_Symbol, SYMBOL_BID);

// Собственно условие выхода из лонга

bool bSignal = fBid <= fMA[0];

return(bSignal);

}

и для шорта  так же

и все !

 

 пожалуйста Alexander. Вы не можете исправить все мои ошибки. Честно говоря я не понял ваш код. Как его надо добавить. Если есть время конечно ))) Спасибо
 
mmmoguschiy-new:
А что - выставлять TakeProfit при открытии ордера - не алё? 
Автору как понимаю это и нужно.
А если счёт с маркет исполнением? Алё?
 
napster1421:
 пожалуйста Alexander. Вы не можете исправить все мои ошибки. Честно говоря я не понял ваш код. Как его надо добавить. Если есть время конечно ))) Спасибо

Проверяйте, вроде должно работать

 Все токе непонятно , как выходить будим ?

на любом из 4 мувингов или на одном или 

if (MA2>MA1) 

 if (MA2<MA1) 

загадка ))

пока выходим на  четвертом 

еще вопрос , а зачем  этот веер мувингов,  может одного хватит ?

Файлы:
3333333s.mq5  23 kb
 
Спасибо)) вы монстр )))) за 30 минут😨😨😨 вы закончили 👍👍👍
 
Alexander Antoshkin:

Проверяйте, вроде должно работать

 Все токе непонятно , как выходить будим ?

на любом из 4 мувингов или на одном или 

if (MA2>MA1) 

 if (MA2<MA1) 

загадка ))

пока выходим на  четвертом 

еще вопрос , а зачем  этот веер мувингов,  может одного хватит ?

У меня есть одна стратегия. Если результат хороший. Тогда вы будете мой инвестор))) для вас все услуги бесплатно будет 👍👍👍