О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
datetime timeBar = iTime(_Symbol,PERIOD_CURRENT, 0);// период можно поставить по своему усмотрениюdatetimestatic timeOpen = 0;
if((PositionsTotal()==0)&&(c0>h1)&&(rGENUP>0.30)&&(timeBar > timeOpen)) // Условие для открытия позиции.
{
MqlTradeRequest request;
MqlTradeResult result;
request.action =TRADE_ACTION_DEAL; // тип торговой операции
request.symbol =Symbol(); // символ
request.volume =1; // объем в 1 лот
request.type =ORDER_TYPE_BUY; // тип ордера
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // цена для открытия
request.deviation=3;
request.sl = NormalizeDouble(Ask-50*_Point,_Digits);
request.tp = NormalizeDouble(Ask+50*_Point,_Digits);
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // если отправить запрос не удалось, вывести код ошибки//--- информация об операцииPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
// допустимое отклонение от цены
timeOpen = timeBar;
}
Ich frage mich, warum es in MQL5 einen so großen Code für die Positionseröffnung gibt. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Können wir sie abbauen? Können wir zum Beispiel den Error-Handler entfernen?
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
Ich frage mich, warum es in MQL5 so viel Code gibt, um eine Position zu eröffnen. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Aber hier... Können Sie es kürzer machen? Können wir zum Beispiel den Error-Handler entfernen?
Verwenden Sie Handelsklassen. Und der Code wird sehr kurz sein.
Beispiel:
//+------------------------------------------------------------------+//| Only_one_purchase.mq5 |//+------------------------------------------------------------------+#property version"1.003"#property script_show_inputs#include <Trade\Trade.mqh>
CTrade m_trade; // trading object//--- input parametersinputENUM_POSITION_TYPE InpPositionType = POSITION_TYPE_BUY; // Position Typeinputdouble InpVolume = 0.0; // Volumeinputulong m_magic = 15489; // magic number//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
m_trade.SetExpertMagicNumber(m_magic);
//--- open a positionif(InpPositionType==POSITION_TYPE_BUY)
m_trade.Buy(InpVolume);
else
m_trade.Sell(InpVolume);
}
//+------------------------------------------------------------------+
О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
Ich frage mich, warum es in MQL5 einen so großen Code für die Positionseröffnung gibt. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Aber hier... Können Sie es kürzer machen? Können wir zum Beispiel den Error-Handler entfernen?
Wenn Sie also in dem Zustand sind
if((PositionsTotal()==0)&&
Warum brauchen Sie mehr Kontrollen für eine neue Bar? Oder gibt es eine Möglichkeit, dass die Position zum gleichen Zeitpunkt geschlossen wird und die zweite Eröffnung verboten wird?
О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
Ich frage mich, warum es in MQL5 einen so großen Code für die Eröffnung einer Position gibt. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Aber hier... Kann sie gekürzt werden? Können wir zum Beispiel den Error-Handler entfernen?
Wissen Sie, vor langer Zeit, als es MQL4 gab, haben sich die Leute darüber empört, dass man ihnen keinen Zugang auf niedrigerer Ebene gegeben hat - damit sie etwas auf ihre eigene Art und Weise tun können.
Nun, das haben sie getan - jetzt haben sie den Zugriff auf OrderSend() in MQL4 ermöglicht - sozusagen haben sie die Logik in MQL implementiert - also machen Sie, was Sie wollen. Aber nein - jetzt habe ich Beschwerden bekommen, dass es zu kompliziert ist.
Kompliziert? Kein Problem - geben Sie Ihnen Handelsklassen in SB - sie sind fast die gleichen wie in MQL4 Standardhandelsfunktionen. In MQL4 sind solche Klassen die Handelsfunktionen. Und in MQL5 - alles mit offenem Zugang.
Wissen Sie, vor langer Zeit, als es MQL4 gab, haben sich die Leute darüber empört, dass man ihnen keinen Zugang auf niedrigerer Ebene gegeben hat - damit sie etwas auf ihre eigene Art und Weise tun konnten.
Nun, das haben sie getan - jetzt haben sie den Zugriff auf OrderSend() in MQL4 ermöglicht - sozusagen haben sie die Logik in MQL implementiert - also machen Sie, was Sie wollen. Aber nein - jetzt habe ich Beschwerden bekommen, dass es zu kompliziert ist.
Kompliziert? Kein Problem - geben Sie mir Handelsklassen in SB - sie sind fast die gleichen wie in MQL4-Standardhandelsfunktionen. In MQL4 sind solche Klassen die Handelsfunktionen. Und in MQL5 - alles mit offenem Zugang.
Warum müssen Sie eine neue Bar überprüfen? Oder gibt es eine Option, die besagt, dass die Position auf demselben Balken geschlossen wird und wir eine zweite Eröffnung deaktivieren sollten?
Genau richtig - es gibt eine Option, die Position auf demselben Balken zu schließen.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Das hat auch nicht funktioniert.
Was ein Kobold an Kilometern von Code mag...
Ihr Problem kann in SECHS Codezeilen gelöst werden, wenn man die Deklaration der Variablen berücksichtigt.
Ich hoffe, Sie können die Signalvariable herausfinden.
О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
Ich frage mich, warum es in MQL5 einen so großen Code für die Positionseröffnung gibt. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Können wir sie abbauen? Können wir zum Beispiel den Error-Handler entfernen?О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
Ich frage mich, warum es in MQL5 so viel Code gibt, um eine Position zu eröffnen. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Aber hier... Können Sie es kürzer machen? Können wir zum Beispiel den Error-Handler entfernen?Verwenden Sie Handelsklassen. Und der Code wird sehr kurz sein.
Beispiel:
О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
Ich frage mich, warum es in MQL5 einen so großen Code für die Positionseröffnung gibt. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Aber hier... Können Sie es kürzer machen? Können wir zum Beispiel den Error-Handler entfernen?Wenn Sie also in dem Zustand sind
Warum brauchen Sie mehr Kontrollen für eine neue Bar? Oder gibt es eine Möglichkeit, dass die Position zum gleichen Zeitpunkt geschlossen wird und die zweite Eröffnung verboten wird?
О! Es klappt! Danke, liebe Genossen, für die Ideen!
Aber ich musste sie ein wenig optimieren. Es wurde sogar einfacher, ohne (wahr). Obwohl ich diese komplizierte MQL-Logik nicht erklären kann).
So habe ich es umgesetzt:
Ich frage mich, warum es in MQL5 einen so großen Code für die Eröffnung einer Position gibt. Im Gegensatz zu MQL4. In 4 ist es nur eine Zeile. Aber hier... Kann sie gekürzt werden? Können wir zum Beispiel den Error-Handler entfernen?Wissen Sie, vor langer Zeit, als es MQL4 gab, haben sich die Leute darüber empört, dass man ihnen keinen Zugang auf niedrigerer Ebene gegeben hat - damit sie etwas auf ihre eigene Art und Weise tun können.
Nun, das haben sie getan - jetzt haben sie den Zugriff auf OrderSend() in MQL4 ermöglicht - sozusagen haben sie die Logik in MQL implementiert - also machen Sie, was Sie wollen. Aber nein - jetzt habe ich Beschwerden bekommen, dass es zu kompliziert ist.
Kompliziert? Kein Problem - geben Sie Ihnen Handelsklassen in SB - sie sind fast die gleichen wie in MQL4 Standardhandelsfunktionen.
In MQL4 sind solche Klassen die Handelsfunktionen. Und in MQL5 - alles mit offenem Zugang.
Nutzen Sie es aus.
Wissen Sie, vor langer Zeit, als es MQL4 gab, haben sich die Leute darüber empört, dass man ihnen keinen Zugang auf niedrigerer Ebene gegeben hat - damit sie etwas auf ihre eigene Art und Weise tun konnten.
Nun, das haben sie getan - jetzt haben sie den Zugriff auf OrderSend() in MQL4 ermöglicht - sozusagen haben sie die Logik in MQL implementiert - also machen Sie, was Sie wollen. Aber nein - jetzt habe ich Beschwerden bekommen, dass es zu kompliziert ist.
Kompliziert? Kein Problem - geben Sie mir Handelsklassen in SB - sie sind fast die gleichen wie in MQL4-Standardhandelsfunktionen.
In MQL4 sind solche Klassen die Handelsfunktionen. Und in MQL5 - alles mit offenem Zugang.
Nutzen Sie es aus.
Dozent und Dozentin. Warum bist du so wütend (heute) ©
Docent, ah Docent. Warum bist du so wütend (heute) ©
Steig in das Eisloch...
Wenn Sie also eine Bedingung haben
Warum müssen Sie eine neue Bar überprüfen? Oder gibt es eine Option, die besagt, dass die Position auf demselben Balken geschlossen wird und wir eine zweite Eröffnung deaktivieren sollten?
Genau richtig - es gibt eine Option, die Position auf demselben Balken zu schließen.
(In die neue Wand schneiden. ) Die "Mauer" wird Break-even genannt.
So wurde es in MQL4 implementiert:
(Ich habe es irgendwo kopiert, aber ich weiß es nicht mehr).
Aber hier ist, wie es in 5-PC umgesetzt wird. Wie kann ich das tun?
Ich habe mir die Handelsklassen angesehen, aber ich finde sie nicht. Aber die Sache ist notwendig. Was sagen die Profis?
Wie kann ich verhindern, dass Trades aus anderen Charts auf dem Chart angezeigt werden?
Nur die Trades des Roboters, die sich auf dem angegebenen Chart befinden.