Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1122

 
Alekseu Fedotov:

Non andrà via.

leggere

Modificato

if(Bid == PriceLine)

a

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

Le transazioni non si aprono ancora all'incrocio

 
Fib0 RU:

Modificato

a

I trade non si aprono ancora sul crossover

Il prezzo tra le zecche non è uguale a 1 punto, questa uguaglianza è rara. se da sotto il prezzo poi prendere il prezzo è maggiore o uguale. Se senza controllare da dove viene il prezzo. è più complicato. come era meno, è diventato più o uguale e simmetrico. Ci sono due controlli. O controlla la gamma di livello della linea più 5 pip e meno 5 pip.

 
È possibile per la libreria emettere informazioni su un file (simulare la funzione Print()) per controllare quali valori sono all'interno della funzione di libreria, ho provato il solito modo di emettere su un file usando i mezzi C++ non ha aiutato, ho dato esempi prima, chi può dare consigli?
 
Valeriy Yastremskiy:

il prezzo tra le zecche non è uguale a 1 punto, questa uguaglianza è rara. se da sotto il prezzo poi prendere il prezzo è maggiore o uguale. Se senza controllare la provenienza del prezzo. È più complicato. È come se fosse più basso e diventasse più alto o uguale e simmetrico. Ci sono due controlli. O controlla la gamma di livello della linea più 5 pip e meno 5 pip.

Ma quando si impostano le linee manualmente senza l'indicatore, le operazioni vengono aperte, anche se non sempre. Il consulente non vede le linee dell'indicatore.
 
Seric29:
È possibile dalla parte della libreria emettere informazioni su file (simulare la funzione Print()) per controllare quali valori sono all'interno della funzione di libreria, ho provato il modo usuale di emettere su file con mezzi C++ non ha aiutato, ho dato esempi prima, chi può consigliare cosa?
std::fstream, CreateFile. Cosa ti piace di più, entrambi i lavori.
 
Vladimir Simakov:
std::fstream, CreateFile. Cosa mi piace di più, entrambi funzionano.

Hai controllato i tuoi stessi consigli?

Prova questo e nessun file viene creato o scritto Ho provato manualmente e non funziona nemmeno

#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 funzione si connette e restituisce 12 ma non fa alcun lavoro di file.
 

Qualcuno può aiutare dove ho l'errore?


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

// Chiudi l'ordine ma solo se è in profitto //

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


void CloseIfInProfit(string symb , int index)

{

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

{

if( OrderSelect(i,SELECT_BY_POS,MODE_TRADES) )

{

se( 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); // Chiudi tutti gli ordini aperti

ObjectSetText("Text2"+symb,"",TextSize, "Arial"); // Si libera del messaggio dei criteri di ingresso.

}

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

{

OrderDelete(OrderTicket()); // Cancella tutti gli ordini pendenti

ObjectSetText("Text2"+symb,"",TextSize, "Arial"); // Si libera del messaggio dei criteri di ingresso.

}

}

}

}

partial[index] = false;

}


 

Ciao a tutti!

Per favore, aiutatemi a risolvere un problema.

Ho scritto un robot in mql4. Voglio riscrivere questo robot in qualche linguaggio mql vicino per essere in grado di lavorare sullo scambio, come binance, bimex che hanno un terminale di trading diverso.

 
Seric29:

Hai controllato i tuoi stessi consigli?

Prova questo e nessun file viene creato o scritto Ho provato manualmente e non funziona nemmeno

La funzione si collega e restituisce 12 ma non funziona con i file.
Prova a creare un file dove hai i diritti di accesso)))
 
Fib0 RU:
Ma quando si impostano le linee manualmente senza un indicatore, le offerte si aprono, anche se non sempre. L'Expert Advisor non vede le linee dell'indicatore.
if((fabs( round((Bid - PriceLine}/Point))<=10)Print (Bid,"  ",PriceLine);

Prova a guardare il registro per vedere cosa stampa. Questo è il modulo della differenza arrotondata all'intero diviso per il punto.