Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет всем...
как я могу установить код ордера в метаэдиторе,
Я использую демо-счет... можно ли установить ордер на демо-счете?
Я пробовал, но не получилось
Параметр BE
Здравствуйте.
Мне нужна помощь, чтобы добавить BE стоп параметр в этом советнике, пожалуйста.Этот советник я взял с первой страницы этой темы, которая основана на системе Trendmanager.
Заранее спасибо.
Cha.
e-trendmanager.mq4
Файл MQ4, пожалуйста
Заранее спасибо.
Ча.#property copyright "Copyright ฉ 2006, www.easyforexsignals.com"
#property link "paul@easyforexsignals.com"
#define LONGCOLOR DodgerBlue
#define SHORTCOLOR OrangeRed
#define MAGICTM 20070610
extern double TMlots=0.1;
extern int MoveStopAmount = 20;
extern int MoveStopAfterProfitof = 55;
extern int minadxlevel = 20;
extern double minSolarWind = 0.25;
extern double minJuice = 0.001;
extern int StopLoss = 50,
Slippage = 3,
TakeProfit=120;
datetime LastTMSignalTime;
extern int MinTimeBetweenSignals = 60;
int init(){
return(0);
}
int deinit(){
return(0);
}
int start()
{
int res= 0;
if(Bars<100 || IsTradeAllowed()==false) return;
CheckTrendManager(); // проверка системы тренд-менеджера
CheckForTMClose(); // проверка закрытий по данной системе
CheckForStopMove(); // перемещение стопов по любым открытым сделкам
}
void CheckForStopMove() {
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY)
{
// передвиньте стопы вверх, чтобы зафиксировать прибыль
if ((OrderOpenPrice()-Ask) >= (MoveStopAfterProfitof * Point())) {
OrderModify(OrderTicket(),0,OrderOpenPrice()+(MoveStopAmount*Point),OrderTakeProfit(),0,Black);
}
}
if(OrderType()==OP_SELL)
{
// перемещаем стопы вверх, чтобы зафиксировать прибыль
if ((OrderOpenPrice() - Bid) >= (MoveStopAfterProfitof * Point())) {
OrderModify(OrderTicket(),0,OrderOpenPrice()-(MoveStopAmount*Point),OrderTakeProfit(),0,Black);
}
}
}
}
void CheckTrendManager() {
if (Time[0]-LastTMSignalTime > MinTimeBetweenSignals) {
double PipsStopLoss, PipsTakeProfit;
double TMbuy = iCustom(Symbol(),Period(), "TrendManagerNT",2, 0);
double TMsell = iCustom(Symbol(),Period(), "TrendManagerNT",3, 0);
int orderresult;
if (TMbuy > 0) {
if (CheckFilters(OP_BUY)==true) {
PipsStopLoss = Ask-(StopLoss * Point());
PipsTakeProfit = Ask+(TakeProfit * Point());
CloseExisting(OP_SELL);
orderresult =OrderSend(Symbol(),OP_BUY,TMlots,Ask,Slippage,PipsStopLoss,PipsTakeProfit,"",MAGICTM,0,Maroon);
Print(Time[0] + "BUY ON TM, order result was :" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);
LastTMSignalTime = Time[0];
}
}
if (TMsell > 0){
if (CheckFilters(OP_SELL)==true) {
PipsStopLoss = Bid+(StopLoss * Point());
PipsTakeProfit = Bid-(TakeProfit * Point());
CloseExisting(OP_BUY);
orderresult = OrderSend(Symbol(),OP_SELL,TMlots,Bid,Slippage,PipsStopLoss,PipsTakeProfit,"",MAGICTM,0,Green);
Print(Time[0] + "SELL ON TM, результат ордера :" + orderresult + "stop:" + PipsStopLoss + ",takeprofit:" + PipsTakeProfit);
LastTMSignalTime = Time[0];
}
}
}
}
void CheckForTMClose() {
double TMclosesell = iCustom(Symbol(),Period(), "TrendManagerNT",4, 0);
double TMclosebuy = iCustom(Symbol(),Period(), "TrendManagerNT",5, 0);
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continue;
//---- просто закройте его
if ((TMclosesell > 0) && (OrderType()==OP_SELL)) {
OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);
}
if ((TMclosebuy > 0) && (OrderType()==OP_BUY)) {
OrderClose(OrderTicket(),OrderLots(),Bid,10,Pink);
}
}
}
// просто закрывает все существующие позиции
void CloseExisting(int OrderTyp)
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICTM || OrderSymbol()!=Symbol()) continue;
//---- просто закройте его std проскальзыванием
if(OrderType()==OrderTyp)
{
OrderClose(OrderTicket(),OrderLots(),Bid,10,White);
}
}
}
bool CheckFilters(int OrderTyp) {
return(true);
}
Просто переименуйте файл с расширением .mq4. Вот и все.
Здравствуйте.
Я пытаюсь изменить его, но не получается. Можете ли вы закончить его для меня, пожалуйста.
Спасибо.
Ча.
Здравствуйте.
Я пытаюсь изменить его, но не получается. Не могли бы вы закончить это для меня, пожалуйста.
Спасибо.
Ча.Done plut исправил несколько ошибок в коде.
Роберт
Нужна помощь по функции ordeersend
Здравствуйте,
У меня проблемы с функцией ordersend().
Вот код, который я сделал:
С этим кодом я получаю ошибку #130 (ошибка прекращается).Может ли кто-нибудь объяснить мне, что не так, я не понимаю...
спасибо.
Если вы используете так называемое"мгновенное исполнение", то есть используете ордера OP_BUY или OP_SELL, вы не можете указать цену входа, отличную от Ask для покупок и Bid для продаж.
Здравствуйте,
ticket1=OrderSend(Symbol(),OP_BUY,1,prixdachat+10*Point,5,prixdachat,prixdachat+20*Point, "ordre",1,15,Green);
ticket2=OrderSend(Symbol(),OP_SELL,1,prixdevente-10*Point,5,prixdevente,prixdevente-20*Point, "ordre",2,15,Red);
С этим кодом я получаю ошибку #130 (ошибка прекращается).
Может ли кто-нибудь объяснить мне, что не так, я не понимаю...
спасибо.ИСПОЛЬЗУЙТЕ ОТЛОЖЕННЫЕ ОРДЕРА ВМЕСТО МГНОВЕННЫХ ОРДЕРОВ.
(например, замените OP_BUY на OP_BUYSTOP и OP_SELL на OP_SELLSTOP)
и все будет в порядке.
БОЛЬШОЕ СПАСИБО МИСТЕР ПИП,
CHA.