Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1122

 
Alekseu Fedotov:

Es wird nicht verschwinden.

lesen

Geändert

if(Bid == PriceLine)

zu

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

Die Transaktionen werden an der Kreuzung immer noch nicht geöffnet

 
Fib0 RU:

Geändert

zu

Die Trades öffnen sich immer noch nicht beim Überqueren

Der Preis zwischen den Ticks ist nicht gleich 1 Punkt, diese Gleichheit ist selten. wenn von unterhalb des Preises dann fangen der Preis größer oder gleich ist. Wenn ohne Kontrolle, woher der Preis kam. es ist komplizierter. wie war weniger, wurde mehr oder gleich und symmetrisch. Es gibt zwei Kontrollen. Überprüfen Sie entweder den Linienbereich plus 5 Pips und minus 5 Pips.

 
Ist es möglich, für die Bibliothek, um Informationen in eine Datei auszugeben (simulieren die Print() Funktion), um zu überprüfen, welche Werte innerhalb der Bibliotheksfunktion sind, versucht die übliche Art der Ausgabe in eine Datei mit C ++ Mittel nicht helfen, ich gab Beispiele früher, wer kann Ratschläge geben?
 
Valeriy Yastremskiy:

der Preis zwischen den Ticks ist nicht gleich 1 Punkt, diese Gleichheit ist selten. wenn von unterhalb des Preises dann fangen der Preis ist größer oder gleich. Wenn man nicht kontrolliert, woher der Preis kommt. Es ist komplizierter, so wie es weniger war, mehr wurde oder gleich und symmetrisch ist. Es gibt zwei Kontrollen. Überprüfen Sie entweder den Linienbereich plus 5 Pips und minus 5 Pips.

Aber wenn man die Linien manuell ohne den Indikator einstellt, werden die Geschäfte geöffnet, wenn auch nicht immer. Der Berater sieht die Indikatorlinien nicht.
 
Seric29:
Ist es möglich, von der Bibliotheksseite Informationen in eine Datei auszugeben ( Print() Funktion simulieren), um zu überprüfen, welche Werte innerhalb der Bibliotheksfunktion sind, versuchte üblichen Weg der Ausgabe in eine Datei mit C++-Mitteln nicht helfen, ich gab Beispiele früher, wer kann was beraten?
std::fstream, CreateFile. Was gefällt Ihnen am besten, beides funktioniert.
 
Vladimir Simakov:
std::fstream, CreateFile. Was gefällt mir besser, beides funktioniert.

Haben Sie Ihren eigenen Ratschlag überprüft?

Bitte versuchen Sie dies und es wird keine Datei erstellt oder geschrieben Ich habe es manuell versucht und es funktioniert auch nicht

#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;}*/
Die Funktion stellt eine Verbindung her und gibt 12 zurück, führt aber keine Dateiarbeit aus.
 

Kann mir jemand helfen, wo ich den Fehler habe?


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

// Schließen Sie den Auftrag, aber nur, wenn er im Gewinn ist //

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


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); // Schließen aller offenen Orders

ObjectSetText("Text2"+symb,"",TextSize, "Arial"); // Entfernt die Meldung der Eingabekriterien.

}

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

{

OrderDelete(OrderTicket()); // Löschen aller ausstehenden Aufträge

ObjectSetText("Text2"+symb,"",TextSize, "Arial"); // Entfernt die Meldung der Eingabekriterien.

}

}

}

}

partial[index] = false;

}


 

Hallo zusammen!

Bitte helfen Sie mir, ein Problem zu lösen.

Ich habe einen Roboter in mql4 geschrieben. Ich möchte diesen Roboter in einer nahen mql-Sprache umschreiben, um an der Börse arbeiten zu können, wie z.B. binance, bimex, die ein anderes Handelsterminal haben.

 
Seric29:

Haben Sie Ihren eigenen Ratschlag überprüft?

Bitte versuchen Sie dies und es wird keine Datei erstellt oder geschrieben. Ich habe es manuell versucht und es funktioniert auch nicht

Die Funktion stellt eine Verbindung her und gibt 12 zurück, aber sie funktioniert nicht mit den Dateien.
Versuchen Sie, eine Datei zu erstellen, auf die Sie Zugriffsrechte haben)))
 
Fib0 RU:
Aber beim manuellen Setzen von Linien ohne Indikator öffnen sich die Geschäfte, wenn auch nicht immer. Der Expert Advisor sieht die Indikatorlinien nicht.
if((fabs( round((Bid - PriceLine}/Point))<=10)Print (Bid,"  ",PriceLine);

Schauen Sie im Logbuch nach, was dort steht. Dies ist der Modulus der auf eine ganze Zahl gerundeten Differenz geteilt durch den Punkt.