Tâche terminée
Temps d'exécution 2 jours

Commentaires du client
Excelente resolvió mi problema en muy poco tiempo. espero trabajar con el de nuevo.
Spécifications
quiero convertir un programa y necesito asesoria para la conversion y aprender.
quiero mantener el mismo formato tanto como sea posible .
son varias funciones a convertir dejo ejemlo de una funcion.
bool Buy(int MagicIndex, double Lots, int StopLossMethod, double StopLossPoints, int TakeProfitMethod, double TakeProfitPoints, int Slippage, int MaxOpenTrades, int MaxFrequencyMins, string TradeComment) { static double pipSize = 0; if(pipSize == 0) pipSize = Point * (1 + 9 * (Digits == 3 || Digits == 5)); double sl = 0, tp = 0; double stopLossPoints = 0, takeProfitPoints = 0; int numberOfOpenTrades = 0; for(int i=OrdersTotal()-1;i>=0;i--){ if(!OrderSelect(i, SELECT_BY_POS)) continue; if(OrderMagicNumber() != __STRATEGY_MAGIC + MagicIndex || OrderSymbol() != Symbol()) continue; numberOfOpenTrades ++; } if(MaxOpenTrades > 0 && numberOfOpenTrades >= MaxOpenTrades) return(false); if(MaxFrequencyMins > 0) { int recentSeconds = MaxFrequencyMins * 60; for(int i=OrdersTotal()-1;i>=0;i--){ if(!OrderSelect(i, SELECT_BY_POS)) continue; if(OrderMagicNumber() != __STRATEGY_MAGIC + MagicIndex || OrderSymbol() != Symbol()) continue; if(TimeCurrent() - OrderOpenTime() < recentSeconds) return(false); } int hstTotal=OrdersHistoryTotal(); for(int i=hstTotal-1;i>=0;i--) { if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue; if(OrderMagicNumber() != __STRATEGY_MAGIC + MagicIndex || OrderSymbol() != Symbol()) continue; if(TimeCurrent() - OrderOpenTime() < recentSeconds) return(false); break; } } if(Lots < MarketInfo(Symbol(),MODE_MINLOT)) return(false); if(AccountFreeMarginCheck(Symbol(), OP_SELL,Lots) <= 0) { Print("Buy error: insufficient capital"); return(false); } if (StopLossPoints > 0) { if(StopLossMethod == 0) { sl = NormalizeDouble(Ask - StopLossPoints * Point, Digits); stopLossPoints = StopLossPoints; } else if (StopLossMethod == 1) { sl = NormalizeDouble(Ask - StopLossPoints * pipSize, Digits); stopLossPoints = StopLossPoints * (1 + 9 * (Digits == 3 || Digits == 5)); } else { sl = StopLossPoints; stopLossPoints = (Ask - sl)/Point; } } if (TakeProfitPoints > 0) { if(TakeProfitMethod == 0) { tp = NormalizeDouble(Ask + TakeProfitPoints * Point, Digits); takeProfitPoints = TakeProfitPoints; } else if (TakeProfitMethod == 1) { tp = NormalizeDouble(Ask + TakeProfitPoints * pipSize, Digits); takeProfitPoints = TakeProfitPoints * (1 + 9 * (Digits == 3 || Digits == 5)); } else { tp = TakeProfitPoints; takeProfitPoints = (tp - Ask)/Point; } } double stopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL) + MarketInfo(Symbol(),MODE_SPREAD); if( (sl > 0 && stopLossPoints <= stopLevel) || (tp > 0 && takeProfitPoints <= stopLevel) ) { Print("Cannot Buy: Stop loss and take profit must be at least " + DoubleToStr(MarketInfo(Symbol(),MODE_STOPLEVEL) + MarketInfo(Symbol(),MODE_SPREAD),0) + " points away from the current price"); return (false); } RefreshRates(); int result = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, sl, tp, " " + "(" + WindowExpertName() + ") " + TradeComment, __STRATEGY_MAGIC + MagicIndex); if (result == -1){ Print("Failed to Buy: " + IntegerToString(GetLastError())); Sleep(__SLEEP_AFTER_EXECUTION_FAIL); return(false); } return(true); }
Répondu
1
Évaluation
Projets
459
39%
Arbitrage
94
44%
/
18%
En retard
73
16%
Chargé
Publié : 2 codes
2
Évaluation
Projets
117
47%
Arbitrage
7
14%
/
29%
En retard
11
9%
Gratuit
Commandes similaires
Estrategia para comprar y vender
30 - 100 USD
Hola, necesito la ayuda con la creación de una estrategia que involucre indicadores que me ayuden a comprar o vender en mejor punto para maximizar mis ganancias.Solo necesito que sea capaz de confirmar las tendencias del día alcista o bajista
Necesito un indicador para MetaTrader 5 que dibuje automáticamente líneas horizontales en base a mi método de análisis, con las siguientes condiciones: Se debe identificar máximos y mínimos recientes en el historial de velas. Máximos: solo se marcarán si corresponden a velas alcistas (cierre mayor que apertura). Mínimos: solo se marcarán si corresponden a velas bajistas (cierre menor que apertura). Las líneas deben
Informations sur le projet
Budget
40+ USD
Pour le développeur
36
USD