Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1157 1...115011511152115311541155115611571158115911601161116211631164...1180 Nuevo comentario Aleksey Vyazmikin 2017.07.27 12:45 #11561 Por favor, ayuda - hay un trozo de código como este if(Bars<=RSIPeriod) return(0); if(TF!=0) { string name = WindowExpertName(); for(i=0; i<Bars-counted_bars+1; i++) { int barIndex = iBarShift(NULL,TF,Time[i],false); RSIBuffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,0,barIndex); PosBuffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,1,barIndex); NegBuffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,2,barIndex); RSI_Up_Buffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,3,barIndex); RSI_Down_Buffer[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,4,barIndex); Worms_Up[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,5,barIndex); Worms_Down[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,6,barIndex); Delta[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,7,barIndex); Calc[i]= iCustom(Symbol(),TF,name,Variant,RSIPeriod,Levl_Up,Levl_Down,0,8,barIndex); } return(0); }todo funciona bien normalmente, pero tiene un error aquí - no se puede reproducir - el error en el código comienza con Time[I] paréntesis2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array fuera de rango en 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)¿A qué se debe el error y cómo solucionarlo? Any rookie question, so [¡AVISO CERRADO!] Cualquier pregunta Tamaño del depósito inicial: Vitaly Muzichenko 2017.07.27 13:03 #11562 Aleksey Vyazmikin:Por favor, ayuda - hay un trozo de código como este todo funciona bien normalmente, pero tiene un error aquí - no se puede reproducir - el error en el código comienza con Time[I] paréntesis2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array fuera de rango en 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)¿Cuáles son las causas del error y cómo solucionarlo?Intente sustituirBares porBars(Symbol(), TF); Está obteniendo datos de otro marco temporal, pero el número de barras se toma del actual. Aleksey Vyazmikin 2017.07.27 14:01 #11563 Vitaly Muzichenko: Intente sustituirBares porBars(Symbol(), TF); Se obtienen datos de otro marco temporal y se toma el número de barras del actual, pero los datos que se obtienen pueden ser menores, de ahí el errorGracias. ¡Creo que ayudará! Alexey Volchanskiy 2017.07.30 03:09 #11564 Andrey Sokolov: Atención, respuesta correcta:Equipo de apoyo2017.07.20 13:37Los productos no compilados en la última compilación del meta-editor no pueden adjuntarse al gráfico.Mi EA dejó de funcionar en tester en modo no visual después de la última actualización. Tuve que rehacer algunas cosas. Alexey Volchanskiy 2017.07.30 03:10 #11565 Andrey Sokolov: Saludos.¿Es posible hacer una prueba sobre la historia con una extensión?Se ajusta en el probador. ¿O necesitas una extensión flotante real? Andrei Sokolov 2017.07.30 08:37 #11566 Alexey Volchanskiy: Por lo tanto, se establece en el probador. ¿O quieres una extensión flotante de verdad? Real Artyom Trishkin 2017.07.30 10:59 #11567 Andrey Sokolov: Real Real en el probador (histórico) sólo estará disponible para usted en MT5 scomoroh 2017.08.01 10:58 #11568 Hola, estoy escribiendo un EA para colocar órdenes pendientes en fractales. Pero sólo se dan órdenes de compra. ¿Cómo debo corregirlo? Adjunto el EA y el indicador. Archivos adjuntos: Fractal_1.mq4 13 kb RFractals.ex4 10 kb Artyom Trishkin 2017.08.01 11:00 #11569 scomoroh: Hola, estoy escribiendo un EA para colocar órdenes pendientes en fractales. Pero sólo se abren órdenes de compra. ¿Cómo corregirlo?Todo estáaquí. KhuKhu 2017.08.02 01:35 #11570 Hola.¿Podría ayudar a corregir dos errores?1. 1 orden debería abrirse en una barra (ahora se abre aleatoriamente)2. Para abrir correctamente 1 orden con un volumen determinado (ahora se abre con volúmenes diferentes)La idea es que este EA debería abrir una operación del 10% del depósito en una barra (eso esperaba), pero no está sucediendo.Llevo mucho tiempo trabajando en esto y estoy contento de ver los resultados.//+------------------------------------------------------------------+ //| 1237654.mq4 | //| Copyright 2017, MetaQuotes Software Corp. | //| [url]https://www.mql5.com[/url] | //+------------------------------------------------------------------+ #property copyright "Copyright 2017, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict extern int tf_bar = 0; //таймфрейм на котором будет браться значение бара extern int magic = 123; extern double stop = 0; extern double StopLoss = 0; extern double TakeProfit =0; extern double Prots= 0.10; int ticket,Symbol; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int mper[10]={0,1,5,15,30,60,240,1440,10080,43200};//массив таймфрейма int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);// Мин. стоим. лотов double Step =MarketInfo(Symbol(),MODE_LOTSTEP);//Шаг изменен лотов double Free =AccountBalance(); // Свободн средства double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Стоим.лота double Lot=MathFloor(Free*Prots/One_Lot/Step)*Step;// Лоты if ( Close[0]>Close[1]) //if (! NumberOfBarOpenLastPos(NULL,mper[tf_bar],OP_BUY, magic) ==0) {//запрет неск. сделок на 1 баре stop = Ask - StopLoss * Point; ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,0,0,0,"Buy",magic,0,Lime); }//закрываем скобку NumberOfBarOpenLastPos if ( Close[0]<Close[1]) //if (!NumberOfBarOpenLastPos(NULL,mper[tf_bar],OP_SELL, magic) ==0) {//запрет неск. сделок на 1 баре ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,0,0,0,"Sell",magic,0,Red); }//закрываем скобку NumberOfBarOpenLastPos return; } //+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, [url=http://www.kimiv.ru]Автоматизация торговли на финансовых рынках - Главная[/url] | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает номер бара открытия последней позиции или -1. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" или NULL - текущий символ) | //| tf - таймфрейм ( 0 - текущий таймфрейм) | //| op - операция ( -1 - любая позиция) | //| mn - MagicNumber ( -1 - любой магик) | //+----------------------------------------------------------------------------+ int NumberOfBarOpenLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) { datetime t=0; int i, k=OrdersTotal(); if (sy=="" || sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy) { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderOpenTime()) t=OrderOpenTime(); }}}}}} return(iBarShift(sy, tf, t, True));} Universal MA Cross EA Problema de los pedidos ¿Un error en la 1...115011511152115311541155115611571158115911601161116211631164...1180 Nuevo comentario
Por favor, ayuda - hay un trozo de código como este
todo funciona bien normalmente, pero tiene un error aquí - no se puede reproducir - el error en el código comienza con Time[I] paréntesis
2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array fuera de rango en 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)
Por favor, ayuda - hay un trozo de código como este
todo funciona bien normalmente, pero tiene un error aquí - no se puede reproducir - el error en el código comienza con Time[I] paréntesis
2017.07.25 21:09:57.266 Worms_UpDn_RSI_OSC_Calc AUDCAD,M15: array fuera de rango en 'Worms_UpDn_RSI_OSC_Calc.mq4' (104,47)
Intente sustituirBares porBars(Symbol(), TF);
Está obteniendo datos de otro marco temporal, pero el número de barras se toma del actual.
Intente sustituirBares porBars(Symbol(), TF);
Se obtienen datos de otro marco temporal y se toma el número de barras del actual, pero los datos que se obtienen pueden ser menores, de ahí el error
Gracias. ¡Creo que ayudará!
Atención, respuesta correcta:
Mi EA dejó de funcionar en tester en modo no visual después de la última actualización. Tuve que rehacer algunas cosas.
Saludos.
¿Es posible hacer una prueba sobre la historia con una extensión?
Se ajusta en el probador. ¿O necesitas una extensión flotante real?
Por lo tanto, se establece en el probador. ¿O quieres una extensión flotante de verdad?
Real
Hola, estoy escribiendo un EA para colocar órdenes pendientes en fractales. Pero sólo se dan órdenes de compra. ¿Cómo debo corregirlo? Adjunto el EA y el indicador.
Hola, estoy escribiendo un EA para colocar órdenes pendientes en fractales. Pero sólo se abren órdenes de compra. ¿Cómo corregirlo?
Todo estáaquí.
Hola.
¿Podría ayudar a corregir dos errores?
1. 1 orden debería abrirse en una barra (ahora se abre aleatoriamente)
2. Para abrir correctamente 1 orden con un volumen determinado (ahora se abre con volúmenes diferentes)
La idea es que este EA debería abrir una operación del 10% del depósito en una barra (eso esperaba), pero no está sucediendo.
Llevo mucho tiempo trabajando en esto y estoy contento de ver los resultados.