Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1122

 
Alekseu Fedotov:

No va a desaparecer.

leer

Modificado

if(Bid == PriceLine)

a

if(NormalizeDouble(Bid,4) == NormalizeDouble(PriceLine,4))

Las transacciones siguen sin abrirse en la intersección

 
Fib0 RU:

Modificado

a

Las operaciones siguen sin abrirse en el cruce

El precio entre ticks no es igual a 1 punto, esta igualdad es rara. si desde abajo el precio entonces coge el precio es mayor o igual. Si sin controlar de dónde viene el precio. es más complicado. como era menos, se hizo más o igual y simétrico. Hay dos controles. O bien comprueba el rango de nivel de línea más 5 pips y menos 5 pips.

 
¿Es posible que la biblioteca de la salida de la información a un archivo (simular la función Print()) para comprobar lo que los valores están dentro de la función de la biblioteca, trató de la forma habitual de salida a un archivo utilizando los medios de C ++ no ayudó, he dado ejemplos antes, que puede dar consejos?
 
Valeriy Yastremskiy:

el precio entre ticks no es igual a 1 punto, esta igualdad es rara. si desde abajo el precio entonces coge el precio es mayor o igual. Si sin controlar la procedencia del precio. Es más complicado. Es como si fuera más bajo y se convirtiera en más alto o igual y simétrico. Hay dos controles. O bien comprueba el rango de nivel de línea más 5 pips y menos 5 pips.

Pero al fijar las líneas manualmente sin el indicador, los tratos se abren, aunque no siempre. El asesor no ve las líneas del indicador.
 
Seric29:
¿Es posible desde el lado de la biblioteca para la salida de la información al archivo (simular la función Print()) para comprobar lo que los valores están dentro de la función de la biblioteca, trató de forma habitual de la salida al archivo por medios de C ++ no ayudó, me dio ejemplos antes, que puede aconsejar que?
std::fstream, CreateFile. Qué es lo que más te gusta, los dos trabajos.
 
Vladimir Simakov:
std::fstream, CreateFile. Qué me gusta más, las dos cosas funcionan.

¿Comprobó su propio consejo?

Por favor, intente esto y no se crea ni se escribe ningún archivo lo he intentado manualmente y tampoco funciona

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>
#include <string>


/*using std::cout;
using std::endl;
using std::cin;*/

using namespace std;


#define _DLLAPI extern "C" __declspec(dllexport)

/*_DLLAPI int __stdcall Funkt(int qa){//"C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt\\Moyperviyzapisfiles.txt"
        ofstream file;//"C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication8\\ConsoleApplication8\\Moyperviyzapisfiles.txt"
        //"C:\\Users\\123\\documents\\visual studio 2012\\Projects\\ConsoleApplication8\\Debug\\ConsoleApplication8.dll\\Moyperviyzapisfiles.txt"
        file.open("C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt");//,ios::out
        file<<"Moyperviyzapisfiles";//(string)qa
        file.close();   
        return 12;}*/
La función se conecta y devuelve 12 pero no hace ningún trabajo de archivo.
 

¿Alguien puede ayudarme donde tengo el error?


/////////////////////////////////////////////////

// Cerrar la orden pero sólo si está en beneficio //

/////////////////////////////////////////////////


void CloseIfInProfit(string symb , int index)

{

for (int i = 0;i <= OrdersTotal();i++)

{

if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )

{

if( OrderSymbol() == symb )

{

double profit = ( OrderProfit() - OrderCommission () - OrderSwap() );

if( ( ( OrderType() == OP_BUY | OrderType() == OP_SELL) && ( profit >= 0 ) && (OrderMagicNumber() == MAGIC) )

{

OrderClose(OrderTicket(),OrderLots(),MarketInfo(symb,MODE_BID),100,Red); // Cerrar cualquier orden abierta

ObjectSetText("Text2"+symb,"",TextSize, "Arial"); // Se deshace del mensaje de criterios de entrada.

}

if (OrderType() == OP_BUYSTOP | OrderType() == OP_SELLSTOP)

{

OrderDelete(OrderTicket()); // Borrar las órdenes pendientes

ObjectSetText("Text2"+symb,"",TextSize, "Arial"); // Se deshace del mensaje de criterios de entrada.

}

}

}

}

partial[index] = false;

}


 

Hola a todos.

Por favor, ayúdenme a resolver un problema.

He escrito un robot en mql4. Quiero reescribir este robot en algún lenguaje mql cercano para poder trabajar en el intercambio, como binance, bimex que tienen un terminal de comercio diferente.

 
Seric29:

¿Comprobó su propio consejo?

Por favor, intente esto y no se crea ni se escribe ningún archivo lo he intentado manualmente y tampoco funciona

La función se conecta y devuelve 12 pero no funciona con los archivos.
Intenta crear un archivo donde tengas derechos de acceso)))
 
Fib0 RU:
Pero al fijar las líneas manualmente sin un indicador, las operaciones se abren, aunque no siempre. El Asesor Experto no ve las líneas del indicador.
if((fabs( round((Bid - PriceLine}/Point))<=10)Print (Bid,"  ",PriceLine);

Intenta mirar el libro de registro para ver lo que imprime. Es el módulo de la diferencia redondeada a enteros dividido por el punto.

Razón de la queja: