Spezifikation
Нужна конвертация простенького советника mql4 в mql5
#include <stdlib.mqh> extern int Magic = 1; extern double Lots = 0.1; extern bool Tral = true; extern int TrailingStopLoss = 30; extern double Utral = 150; extern bool Sound = true; int slippage = 3; static int prevtime = 0; double FirstPositionPrice; int order_MgcNum=0, err=0, ticket=0, res; bool result = True; double MyPoint; int init() { if (Digits == 5 || Digits == 3) { TrailingStopLoss=TrailingStopLoss*10; } return(0); } int start() { if (Tral) TrailingPositions(TrailingStopLoss, 1, Magic); int total,cnt,pos,order; string order_comment = Symbol()+", Period "+Period()+", ADX "+Magic; //if (Volume[0]>5) return(0); double i1 = iADX(Symbol(),0,13,0,MODE_PLUSDI,0); double i2 = iADX(Symbol(),0,13,0,MODE_MINUSDI,0); if (i1<i2) { if(CheckExists(OP_SELL)) { total=OrdersTotal(); pos=0; for (cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS); if ((OrderSymbol() == Symbol())&&(OrderMagicNumber()==Magic)) { order=OrderTicket(); pos=1; if (IsTradeAllowed() && (OrderType() == OP_BUY)) { RefreshRates();// Новые Аск и Бид result = OrderClose(order,Lots,Bid,3); if (result)OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,order_comment,Magic,0,Red); if (!result) { err=GetLastError(); } return(0); } } } if ((pos==0) && IsTradeAllowed()) { RefreshRates();// открытие с рынка res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,order_comment,Magic,0,Red); if (res<0) {Alert("Ошибка открытия ордера SELL #", GetLastError()); return (0);} return(0); } } } if (i1>i2) { if(CheckExists(OP_BUY)) { total=OrdersTotal(); pos=0; for (cnt=0;cnt<total;cnt++) { OrderSelect(cnt, SELECT_BY_POS ); if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == Magic)) { order=OrderTicket(); pos=1; if (IsTradeAllowed()&& (OrderType() == OP_SELL)) { RefreshRates();// Новые Аск и Бид result = OrderClose(order,Lots,Ask,3); if(result)OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,order_comment,Magic,0,Lime); if(!result){ err=GetLastError(); } return(0); } } } if ((pos==0) && IsTradeAllowed()) { RefreshRates();// открытие с рынка res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,order_comment,Magic,0,Lime); if (res<0) {Alert("Ошибка открытия ордера BUY #", GetLastError()); return (0);} return(0); } } } return(0); } //---------------------------------------------------------------------------------+ void TrailingPositions(int trailingStopLoss, int trailingStep, int MagicNumber) { double bid = 0; double ask = 0; double X=1; for (int i = 0; i < OrdersTotal(); i++) { if (!(OrderSelect(i, SELECT_BY_POS)) || OrderSymbol() != Symbol() ) { continue; } bid = MarketInfo(OrderSymbol(), MODE_BID); ask = MarketInfo(OrderSymbol(), MODE_ASK); if (OrderType() == OP_BUY&&Bid-OrderOpenPrice()<Utral*Point&&OrderMagicNumber() == MagicNumber) { if (bid - OrderOpenPrice() > X*trailingStopLoss * Point) { if (OrderStopLoss() < bid - (X*trailingStopLoss + trailingStep - 1) * Point || OrderStopLoss() == 0) { OrderModify(OrderTicket(), OrderOpenPrice(), bid - X*trailingStopLoss * Point, OrderTakeProfit(), OrderExpiration(),Aqua); if(Sound == true)PlaySound("ok.wav"); } } } else if (OrderType() == OP_SELL&&OrderOpenPrice()-Ask<Utral*Point&&OrderMagicNumber() == MagicNumber) { if (OrderOpenPrice() - ask > X*trailingStopLoss * Point) { if (OrderStopLoss() > ask + (X*trailingStopLoss + trailingStep - 1) * Point || OrderStopLoss() == 0) { OrderModify(OrderTicket(), OrderOpenPrice(), ask + X*trailingStopLoss * Point, OrderTakeProfit(), OrderExpiration(),Aqua); if(Sound == true)PlaySound("ok.wav"); } } } } } bool CheckExists(int Type) { bool Result = True; for(int i = 0; i < OrdersTotal(); i++) if(OrderSelect(i, SELECT_BY_POS)) if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol()) if(OrderOpenTime() >= Time[0]) Result = False; for(i = 0; i < OrdersHistoryTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) if(OrderType() == Type && OrderOpenTime() >= Time[0] && OrderMagicNumber() == Magic && OrderSymbol() == Symbol()) Result = False; } return(Result); }
Bewerbungen
1
Bewertung
Projekte
327
55%
Schlichtung
17
12%
/
47%
Frist nicht eingehalten
104
32%
Frei
2
Bewertung
Projekte
367
56%
Schlichtung
45
22%
/
56%
Frist nicht eingehalten
188
51%
Frei
Veröffentlicht: 1 Artikel, 6 Beispiele
3
Bewertung
Projekte
8
13%
Schlichtung
1
0%
/
0%
Frist nicht eingehalten
0
Frei
Veröffentlicht: 2 Beispiele
Ähnliche Aufträge
Написать копировщик
30+ USD
Имеется защищенный от копирования счет на МТ5, обычные копировщики не копируют его. Сделки только по eurusd.f c суффиксом .f Сделок не много, только сделка 1 в день. Доступ и пароль инвестора к счету предоставлю. Необходимо решение для копирования с этого счета, предполагаю, что система должна увидеть сделку визуально, например через BAS и дальше передать данные для открытия сделки в МТ5. Другие рабочие решения от
1. Загальна логіка Треба створити ЕА для MetaTrader 5 на основі індикатора Zig Zag (параметри індикатора стандартні: Depth, Deviation, Backstep) та рівнів Фібоначчі. Детально логіка входу описана в додатку до ТЗ. 2. Відкриття сету ордерів ЕА відкриває сет відкладених ордерів (кількість ордерів від 1 до 5) Для кожного ордеру задається - рівень входу (значення рівня Фібоначчі) - рівень SL
Суть ТС:Приход в POI старшего тф, вход в позицию на младшем тф Анализ графика начинается всегда со старшего тф. Должен быть понятный контекст для работы. Активы: EURUSD, XAUUSD POI старшего таймфрейма: Liquidity (1M, 1W, 1D, 4H, 1H) Imbalance (1M, 1W, 1D, 4H, 1H) Order Block (1M, 1W, 1D, 4H, 1H) HTF Fractals (1M, 1W, 1D, 4H, 1H) Всегда дожидаться цену в POI старшего таймфрейма. Вход в позицию: Слом LTF структуры на
Projektdetails
Budget
10- USD
Ausführungsfristen
bis 5 Tag(e)