Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помощь в модификации OrderHistory 2.0
Хотел бы узнать, может ли кто-нибудь модифицировать этот файл MQ4 для меня. Я хочу, чтобы описание, которое появляется при наведении курсора на стрелки и линии тренда, выглядело примерно так..:
ПРОДАЖА
(имя порядка удалено)
Время открытия: 2009.05.25 10.00
Время закрытия: 2009.05.25 11.00
Цена открытия: 94.98
Цена закрытия: 94.992
Пипсы: 25.0 |
SL: 50.0 | -> (сделать 5 цифр)
TP: 25.0 |
Макс. фл. L: 16.9 ("Максимальный плавающий убыток/прибыль" - круто, если бы это можно было интегрировать)
Лоты: 0.38
Брутто: 100.28
...вместо этого:
Продать: 12345678 2009.05.25 10.00 @ 94.98
Пипсы: 250 SL: -750 TP: 250 Lots: 0.38 Брутто: $ 100.28
94.992
Я пытался изменить это сам, но безуспешно. Я не программист (конечно), но было бы здорово, если бы кто-нибудь, кто им является, смог это исправить. Буду признателен.
NFA против хеджирования, пожалуйста, помогите
Здравствуйте, у меня проблема с новым правилом NFA. Мой советник больше не может создавать отложенные ордера . Это простой советник: открываем 1 ордер, удаляем 1 неиспользованный отложенный ордер и создаем 2 новых отложенных ордера, buy limit и sell limit.
Вот код:
if (TotalMikuOrders()==2 && TotalMikuOrders_Mode(OP_BUY)+TotalMikuOrders_Mode(OP_SELL)==1){
for (int j=0;j<OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS);
if (OrderType()==OP_BUY){
if (OrderMagicNumber()==Magic_Miku_B){
deleteMikuPending();
sendMikuPending(OrderOpenPrice(),Magic_Miku_S,Magic_Miku_B+1,XFactor*CoA,XFactor*CoB,com+"XA",com+"XB",sl1,sl2,r1,r1,sp,sp0,tp1,tp2);
return(0);
}
}
if (OrderType()==OP_SELL){
if (OrderMagicNumber()==Magic_Miku_S){
deleteMikuPending();
sendMikuPending(OrderOpenPrice(),Magic_Miku_S+1,Magic_Miku_B,XFactor*CoB,XFactor*CoA,com+"XB",com+"XA",sl2,sl1,r1,r1,sp0,sp,tp2,tp1);
return(0);
}
}
}
}
}
return(0);
}
void sendMikuPending(double price, int ms,int mb,double lot,double lotb,string coms,string comb,double sls,double slb,double rs,double rb,double sps,double spb,double tps,double tpb){
double SL=0, TP=0;
int i;
if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)-StopLoss*slb*Point,Digits);}else{SL=0;}
if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)+TakeProfit*tpb*Point,Digits);}else{TP=0;}
if (OrderSend(Symbol(),OP_BUYLIMIT,lotb,NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits),Slippage,SL,TP,comb,mb,0,Blue)==-1) {
i=GetLastError();
if (i!=1 && i!=0) Print("Buy stop Error : "+error(i)+" at "+Symbol()+" "+Period());
}
if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)+StopLoss*sls*Point,Digits);}else{SL=0;}
if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)-TakeProfit*tps*Point,Digits);}else{TP=0;}
if (OrderSend(Symbol(),OP_SELLLIMIT,lots,NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits),Slippage,SL,TP,coms,ms,0,Red)==-1) {
i=GetLastError();
if (i!=1 && i!=0) Print("Sell stop Error : "+error(i)+" at "+Symbol()+" "+Period());
}
}
полный код находится во вложении. Я думаю , может советник должен прочитать последний закрытый ордер и сделать непосредственно 1 открытый ордер. Но у меня нет подсказки.
Пожалуйста, помогите кому-нибудь . Большое спасибо.
Проблема кодирования
У меня есть часть кода, которая, похоже, вызывает ошибку OrderSend #130. Я проверил настройки Stop Loss и Take Profit, и они должны быть далеко от минимального расстояния, требуемого при размещении одного из ордеров. Я даже нормализовал числа, чтобы убедиться, что они соответствуют параметрам сайта. Поэтому я предполагаю, что должна быть проблема с ценой Ask или ценой Bid, которые он получает, и поэтому сервер не принимает их.
Это код из раздела, где он размещает ордер на покупку:
RefreshRates();
ticket = OrderSend(Symbol(),openType,lots,Ask,Slippage,SL,TP,comment,ExpertMagicNumber,0,Color);
Есть ли что-то особенное, что я должен сделать с Ask, чтобы убедиться, что он соответствует тому, что ищет сайт, когда получает ордер? Я просто предположил, что он будет получать цены точно так, как их выдает сайт.
Здравствуйте, есть ХОРОШАЯ система, которая работает, размещено JoeSmoe
Было бы полезно, если бы кто-нибудь знал, как создать простейший советник, который бы открывал позицию только при прорыве - это было бы очень полезно. Я пытался, но не знаю как.
лучше всего,
j
Как условно включить файл как часть советника?
Здравствуйте,
Я написал это в другом разделе форума, но потом обнаружил этот раздел. Пожалуйста, извините за двойной постинг...
Можно ли условно включить файл в советник? Хотя синтаксис может быть неправильным, концепция такова...
switch(MASTER_PERIOD)
{
case 30:
#include ;
break;
case 240:
#include ;
break;
}
...при этом MASTER_PERIOD является переменной Extern.
Я ценю и с нетерпением жду ваших комментариев, предложений и примеров того, как этого добиться!
С уважением,
DMMcCollum
Как прочитать/получить цену в определенное время?
Мы с другом работаем над советником. На определенном этапе ему (советнику) нужно считать и получить цену в определенное время, скажем, 17:00 EST... и т.д.
Может ли кто-нибудь из старшего поколения подсказать, как это сделать, вместо того, чтобы считать ценовые бары в обратном направлении? Может быть, уже есть функция, написанная для этого? Пожалуйста, помогите. Спасибо всем и да благословит вас Бог!
B rgds/abundance
Редактировать
Хорошо, у меня есть часть кода, которая, кажется, вызывает ошибку OrderSend #130. Я проверил настройки Stop Loss и Take Profit, и они должны быть далеко от минимального расстояния, требуемого при размещении одного из ордеров. Я даже нормализовал числа, чтобы убедиться, что они соответствуют параметрам сайта. Поэтому я предполагаю, что должна быть проблема с ценой Ask или ценой Bid, которые он получает, и поэтому сервер не принимает их.
Это код из раздела, где он размещает ордер на покупку:
RefreshRates();
ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,Bid - SL*Point,Ask + TP*Point,comment,ExpertMagicNumber,0,Color);
ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,Ask + SL*Point,Bid - TP*Point,comment,ExpertMagicNumber,0,Color);
Есть ли что-то особенное, что я должен сделать с Ask, чтобы убедиться, что он соответствует тому, что ищет сайт, когда получает заказ? Я просто предположил, что он будет получать цены точно так, как их выдает сайт.редактировать как указано выше
OTR
Системный эксперт JoseMoe
Было бы полезно, если бы кто-нибудь знал, как создать простейший советник, который бы открывал позицию только при прорыве - это было бы очень полезно. Я пытался, но не знаю как.
лучший,
jнайдите советника RonaldRaygun в этой теме. (100 300 пипсов ежедневно...)
OTR
Ошибка несопоставленных данных
Привет кодеры
Я все еще изучаю свои первые шаги в MQL-коде.
В чем причина, когда я имею следующее сообщение в журнале:
Testgenerator:
unmatched data error (volume limit 159 at 2009.05.06 19 15 exceeded).
куда мне смотреть в коде?
Спасибо