Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 218

 
Zolotai:
Amigos, ¿podrían decirme el código, el código que mostraba el saldo que había a principios de mes...

sí hay un papel con un bolígrafo =))
 
Ah, y me olvidé del calendario.
 
FEAR:
Ah, y me olvidé del calendario.

No entiendo muy bien... ¿Qué quieres decir?
 

Hola! Perdón si este es el lugar equivocado, pero creo que lo es. Recientemente he comenzado a estudiar la programación de Asesores Expertos y elegí el método Puria como experimento.

Aquí está el Asesor Experto en sí mismo:

#define MAGICMA 1111
//Parámetros de entrada
extern int TP=150;
extern int SL=150;
extern int MP1=5;
extern int MP2=75;
extern int MP3=85;
double macd,macdS,ma1,ma1S,ma2,ma3;
bool buy =false;
bool sell =false;
//bool buy_ma=false;
/*****************************************************************************/
int init()
{
return(0);
}
/*****************************************************************************/
int deinit()
{
return(0);
}
/*****************************************************************************/
void start()
{
//double sl,tp;
ma1=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,1)
ma1S=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,2);
ma2=iMA(NULL,0,MP2,0,MODE_LWMA,PRICE_LOW,1);
ma3=iMA(NULL,0,MP3,0,MODE_LWMA,PRICE_LOW,1);
macd=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,1);//1526.1
//macdS=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,2);

if( ma1 > ma2 && ma1>ma3){
if( ma1S<ma2 && ma1S<ma3){
buy=true;
}
}
if ( ma1 < ma2 && ma1 < ma3){
if (ma1S > ma2 && ma1S > ma3)
sell=true;
}
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY){
buy=false;
}
if(OrderType()==OP_SELL){
sell=false;
}
//else sell=false;
}
if (macd > 0 && buy){
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-SL*Point,Ask+TP*Point,"",MAGICMA,0,Blue);
buy=false;
}
if (macd < 0 && sell){
OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid+SL*Point,Bid-100*Point,"",MAGICMA,0,Red);
sell=false;
}

}

Han surgido varias preguntas:

1) Cómo hacer que el experto trabaje en diferentes métodos de cotización ( 4 o 5 signos)

2) Me gustaría escribir un trailing stop en lugar de un take profit (cómo implementarlo o enlace útil).

 

Por favor, díganme por favor, quiero pedir dos scripts para vender todas las órdenes en el terminal de compra y vender todas las órdenes en el terminal de venta sin necesidad de ningún gui, sólo para poner en hotkeys. ¿Cuánto cuesta y dónde pedirlo?

Quiero ponerlos en la base de código, y las herramientas del autor se mantendrán si es necesario.

Entiendo lo que tengo que hacer en el terminal para seleccionar las órdenes y luego seleccionar por tipo y luego ejecutar un cloSed, pero no puedo hacerlo durante mucho tiempo debido a los dos scripts simples.

Gracias.

 
bambastik:

Por favor, dígame por favor, quiero pedir dos scripts para vender todas las órdenes en el terminal de compra y vender todas las órdenes en el terminal de venta sin necesidad de ningún gui, sólo para poner en teclas de acceso rápido. ¿Cuánto cuesta y dónde pedirlo?

Gracias.

¿Has mirado en la base de datos de gatos?
 
artmedia70:
¿Has mirado en la base de datos de gatos?

Sí, lo hice, en el kotobase, sólo hay estos adecuados en esencia https://www.mql5.com/ru/code/8602 pero son difíciles para mi comprensión, tengo muy poco cerebro. allí usted necesita para poner el tipo en lugar de beneficio, pero cómo hacerlo no puedo entender.
 
bambastik:
Lo he buscado, en la cotbase, solo hay estos scripts adecuados https://www.mql5.com/ru/code/8602 pero me cuesta entenderlos, tengo muy poco cerebro.
¿Qué tipo de guión necesita? ¿Qué debe hacer?
 

De hecho. Selecciona todas las compras en el gráfico y ciérralas y ya está. Y lo mismo sólo con vender.

He vuelto a hacer esto ahora, pero el compilador dice que algo está mal con el final.

//+------------------------------------------------------------------+
//| CloseAllProfit.mq4 |
//| Copyright © 2008, PRMQuotes Software Corp. |
//| Jedimedic77@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, PRMQuotes Software Corp."
#property link ""

//+------------------------------------------------------------------+
//| global variables to program: |
//+------------------------------------------------------------------+
double Price[2];
bool closesell = true;


void start() {
int iOrders=OrdersTotal()-1, i;

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && (OrderType() >= 0)) {
if((OrderType()==OP_SELL) {
OrderClose(OrderType());
}

}

Nunca he mirado el perfil, pero lo he visto en el foro. Nunca lo había visto antes y es una historia larga, así que supongo que ha funcionado así.
 
bambastik:

De hecho. Selecciona todas las compras en el gráfico y ciérralas y ya está. Y lo mismo sólo con la venta.

Todas las compras y todas las ventas son dos guiones diferentes. Esto ha quedado claro desde el principio. La pregunta es: ¿debe cerrar absolutamente todas las posiciones? ¿O debería cerrar sólo las posiciones que están en el gráfico donde se ejecuta el script? ¿Debe cerrar las posiciones abiertas manualmente o las posiciones abiertas por un Asesor Experto, o ambas?