Si he entendido bien, estás siguiendo una situación en la que ambas MAs se mueven en la misma dirección. Le esperan muchos más descubrimientos interesantes :))
//это выражение не имеет смысла, if здесь лишнийif MAF_0 - MAF_1= A
if MAS_0 - MAS_1= B
//если требовалось определить разницу значений МА на 1-ом и нулевом баре, то можно такdouble A = MAF_0 - MAF_1;double B = MAS_0 - MAS_1;
¿Pueden decirme si es posible aumentar el número de lotes de una orden de mercado sin abrir otros nuevos?
Que yo sepa, no. Sólo cuando se abre un nuevo lote. ¿Qué sentido tiene aumentar los lotes después del acuerdo? ¿O quiere decir que ve cómo se abre en la dirección correcta, y quiere más y más dinero?
Ayúdenme a encontrar un error en el código. no hay error al compilar pero los cálculos y las transacciones no pasan( Gracias de antemano a los profesionales que están aquí.
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжexternint EMA1 =14;// Период 1-й EМАexternint EMA2 =48;// Период 2-й EМАexternint EMA3 =144;// Период 3-й EМА externint period=12;externint porog =3;externint metod =1;externint metod2=1;externint prise =0;externdouble SL =1000;// СтопЛосс ордераexterndouble TP =500;// ТэйкПрофит ордераexterndouble Lots=0.1;//--------------------------------------------------------------------------------------------int
New_Bar,// 0/1 Факт образования нового бара
Time_0,// Время начала нового бара
total;// Крличество открытых ордеров//--------------------------------------------------------------------------------------------double
Lot,// Количество лотов
Norm,// Предыдущее значение 1-й МА (розов)
Fast,// Текущее значение 1-й МА (розов)
Slow,// Текущее значение 2-й МА(голубая)
Signal[];//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжint init(){//============================================================================================
SL = SL*Point;// SL в пунктах
TP = TP*Point;// ТР в пунктахreturn;//============================================================================================}//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжint start(){//============================================================================================
total=OrdersTotal();// Общее количество ордеровif( total==2)return;// Уже открыты оба ордера//----------------------------------------------------------------------------- Новый бар ----
New_Bar=0;// Для начала обнулимсяif( Time_0 !=Time[0])// Если уже другое время начала бара{
New_Bar=1;// А вот и новый бар
Time_0 =Time[0];// Запомним время начала нового бара}//--------------------------------------------------------------------------------------------//---расчет тренда ввех или вниз (XMA)int limit;double tmp1, tmp2;int counted_bars=IndicatorCounted();int i;if( counted_bars<0)return(-1);if( counted_bars>0) counted_bars--;
limit=Bars- counted_bars;for( i = limit; i>=0; i--){
tmp1=iMA(Symbol(),0, period,0, metod, prise, i);
tmp2=iMA(Symbol(),0, period,1, metod2, prise, i);if(MathAbs( tmp1- tmp2)>= porog*Point){ Signal[ i]= tmp2;}//--------------------------------------------------------------------------------------------
Fast =iMA(NULL,0, EMA1,0,MODE_EMA,PRICE_CLOSE,0);// Текущее значение 1-й EМА
Norm =iMA(NULL,0, EMA2,0,MODE_EMA,PRICE_CLOSE,0);// Предыдущее значение 2-й EМА
Slow=iMA(NULL,0, EMA3,0,MODE_EMA,PRICE_CLOSE,0);// Текущее значение 3-й EМА//--------------------------------------------------------------------------------------------if( Fast> Norm && Norm> Slow && New_Bar==1&&Close[ i]> Signal[ i]) Open_Buy();// Движение снизу вверх = откр. Buyif( Fast< Norm && Norm< Slow && New_Bar==1&&Close[ i]< Signal[ i]) Open_Sell();// Движение сверху вниз = откр. Sell}return;//============================================================================================}//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжint Open_Buy(){if( total==1){OrderSelect(0, SELECT_BY_POS);// Выделим ордерif(OrderType()==0)return;// Если он buy, то не открываемся}OrderSend(Symbol(),0, Lots,Ask,0,Ask- SL,Ask+ TP,"",0,0,Blue);// Открываемсяreturn;}//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжint Open_Sell(){if( total==1){OrderSelect(0, SELECT_BY_POS);// Выделим ордерif(OrderType()==1)return;// Если он sell, то не открываемся}OrderSend(Symbol(),1, Lots,Bid,0,Bid+ SL,Bid- TP,"",0,0,Red);// Открываемсяreturn;}
Hola. Por casualidad he encontrado un artículo sobre un tema que me interesa. A saber, esto: Elección del tamaño de la ventana. .... Se consiguen resultados óptimos
en el caso de seleccionar un tamaño de ventana del orden de la dimensión fractal de los datos. Para calcularlo, debemos "cortar" la serie con una ventana deslizante de un tamaño suficientemente grande
(ver Figura 5 ), y luego calcular la dimensionalidad fractal de los datos resultantes utilizando, por ejemplo, el método Box-count....
Por favor, aconsejar (preferiblemente más simple), cómo calcular el tamaño de esta ventana deslizante. O, al menos, dónde mirarlo.
Los datos de contacto del autor están en la web, recomiendo consultar la fuente original.
Ayúdenme a encontrar un error en el código. no hay error al compilar pero los cálculos y las operaciones no pasan( Gracias de antemano a los profesionales que están aquí.
Lo primero que me llama la atención de tu código y que no tengo claro es la corrección del uso de la función IndicatorCounted() en el Asesor Experto. No lo he comprobado pero creo que su corrección está garantizada sólo en los indicadores personalizados.
Hola.
Hay un experto SimpleMA, lo he retocado un poco para mí, sólo un poco ...:-))) y se llama MASimple_v2x.
entonces traté de mejorarlo PERO
Tengo un error después del experimento.
¿QUÉ HE HECHO MAL? ?????????????
>> Gracias por adelantado.
Inténtalo de esta manera:
en lugar de - si MAF_0 - MAF_1= A
si MAS_0 - MAS_1= B
este - doble A = MAF_0 - MAF_1;
doble B = MAS_0 - MAS_1;
Si he entendido bien, estás siguiendo una situación en la que ambas MAs se mueven en la misma dirección. Le esperan muchos más descubrimientos interesantes :))
¿Pueden decirme si es posible aumentar el número de lotes de una orden de mercado sin abrir otros nuevos?
Que yo sepa, no. Sólo cuando se abre un nuevo lote. ¿Qué sentido tiene aumentar los lotes después del acuerdo? ¿O quiere decir que ve cómo se abre en la dirección correcta, y quiere más y más dinero?
И что теперь с этим делать?
Probablemente sea mejor (más versátil):
Ayúdenme a encontrar un error en el código. no hay error al compilar pero los cálculos y las transacciones no pasan( Gracias de antemano a los profesionales que están aquí.
¡¡¡Hola a todos, un consejo por favor!!! Tengo algunas preguntas, no puedo hacerlo yo mismo:
1. ¿Cómo hacer que sólo se abra una orden en una barra?
2. Hay varias condiciones de compra y venta, ¿qué función utilizar para esto?
3. ¿Cómo organizar la transferencia de una posición abierta a Breakeven?
4. ¿Cómo aplicar las tres condiciones en el código del EA (si es posible, con un ejemplo)?
Espero sus respuestas. Muchas gracias de antemano.
Hola. Por casualidad he encontrado un artículo sobre un tema que me interesa. A saber, esto: Elección del tamaño de la ventana. .... Se consiguen resultados óptimos
en el caso de seleccionar un tamaño de ventana del orden de la dimensión fractal de los datos. Para calcularlo, debemos "cortar" la serie con una ventana deslizante de un tamaño suficientemente grande
(ver Figura 5 ), y luego calcular la dimensionalidad fractal de los datos resultantes utilizando, por ejemplo, el método Box-count....
Por favor, aconsejar (preferiblemente más simple), cómo calcular el tamaño de esta ventana deslizante. O, al menos, dónde mirarlo.
Los datos de contacto del autor están en la web, recomiendo consultar la fuente original.¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡HURRA POR EL TRABAJO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Gracias a maniac y granit77.
Una anécdota reciente. Una clase de literatura en un laboratorio de informática, dirigida por un profesor de informática.
-Gerasim era, este.....thim......nu......a y no tenía tarjeta de sonido :-)))))))))))))))))
En cuanto al experto, he intentado acortar la condición de negociación. Ya sabes, para una mejor percepción.
Es decir, si hay cálculos matemáticos, es mejor llamarlos a través del doble.
¡¡¡Hola a todos, un consejo por favor!!! Tengo algunas preguntas, no puedo hacerlo yo mismo:
1. ¿Cómo hacer que sólo se abra una orden en una barra?
....... ...
Espero sus respuestas. Muchas gracias de antemano.
https://www.mql5.com/ru/forum/102366
//-----------------
https://www.mql5.com/ru/forum/113983/page2
//-------------
https://www.mql5.com/ru/forum/110184
Ayúdenme a encontrar un error en el código. no hay error al compilar pero los cálculos y las operaciones no pasan( Gracias de antemano a los profesionales que están aquí.
Lo primero que me llama la atención de tu código y que no tengo claro es la corrección del uso de la función IndicatorCounted() en el Asesor Experto. No lo he comprobado pero creo que su corrección está garantizada sólo en los indicadores personalizados.