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

 
Lol Kek:

Ist es möglich, für eine Eingabevariable vom Typ boolean in der Eingabeparameter-Schnittstelle einen Doppelklick zu machen, anstatt zwischen wahr/falsch umzuschalten, um den Text anzuzeigen? Danke

enum  ENUM_ONOFF
{
On  = 1,  // On   тут любой текст
Off = 0   // Off  тут любой текст
};

input ENUM_ONOFF iValue = On; // Параметр
 
Vladimir Pastushak:

Danke, aber das ist ein bisschen anders. Ich weiß, über diese Methode - in diesem Fall werde ich ein Dropdown-Selektor haben, wenn Sie es auswählen, wählen Sie den Wert.

Aber ich brauche es als Eingabe bool yesOrNo = true zu arbeiten; - wenn in eingehenden Parameter klicken Sie einfach zweimal und es ändert Wert auf das Gegenteil und umgekehrt bei wiederholten. Nur anstelle von true und false drucken Sie Ihren Text

 
Lol Kek:

Danke, aber es ist ein bisschen anders. Ich weiß, über diesen Weg - in diesem Fall werde ich ein Dropdown-Selektor haben, wenn ich es zu wählen, wählen Sie den Wert.

Ich brauche es wie Eingabe bool yesOrNo = true zu arbeiten; - wenn in eingehenden Parameter klicken Sie einfach zweimal und es ändert sich der Wert auf das Gegenteil und umgekehrt bei wiederholten. Nur anstelle von true und false drucken Sie Ihren Text

Es gibt keinen Unterschied bool ist wahr und folse ist 1, folse ist 0

 

Hallo. Ich bin eine grüne Anfängerin. Einige Tipps zu den Grundlagen.

1 - Warum programmiere ich in mql4? Ich bekomme eine Vorlage für mql5 mitint OnInit() und void OnTick() Funktionen? Sie verursachen keine Fehler, aber sie funktionieren. Ich fange an, verwirrt zu werden.

2 - Ich schreibe einen Expert Advisor.void OnTick() - wie ich sehe, ersetzt es die Funktion int start() undint OnInit()- anstelle vonint init().

2.1 - Ich habe die Variablen vorgeschrieben, die inint OnInit() verwendet werden sollen, und es begann sich zu beschweren. Ich habe sofort einen Variablentyp zugewiesen, wie er erscheint. Der Fluch hat aufgehört. Warum?

2.2 - Es ist einfach, schwebendeKauf- undVerkaufsaufträge zu eröffnen. Warum öffnet er sie nicht? Ich sehe allerdings keine Fehler.

int BS1 = OrderSend (Symbol(),OP_BUYSTOP,lots,Ask+50,3,0,0,"bs1",1,0,clrGreen);

int SS1 = OrderSend (Symbol(),OP_SELLSTOP,lots,Bid+50,3,0,0,"ss1",-1,0,clrRed);

3 - Wie schraubt man einen Zähler an die Variable - Bestellnummer. (BS1, SS1) - Variablen, die uns direkt sagen, um welche Reihenfolge es sich handelt. Wenn der EA also weiter nach dem notwendigen Auftrag sucht, wird er ihn ebenso leicht finden.Bleibt der Bezeichner gleich, wennOP_BUYSTOP seinen Wert inBUYändert? Kann ich sie anhand der Daten in BS1 finden?

4 - Wie lässt sich am einfachsten überprüfen, ob eine derausstehenden Orders bereits geöffnet ist oder nicht, insbesondere wenn in den Eröffnungsparametern ein möglicher Slippage von 3 Punkten angegeben ist. D.h. es wird eine Reihe von Preisen gescannt, nicht nur ein Preis, und kann bei 1-3 Pips über/unter dem Standardpreis geöffnet werden....

5. Bitte geben Sie mir einen Tipp, wo ich ein Lehrbuch oder Lektionen über MQL4 erhalten kann. Ich möchte meine Fähigkeiten verbessern. Das frage ich mich. Es kann eine Strategie sein, die in 2 Zeilen beschrieben wird, aber wenn ich einen Expert Advisor öffne, sehe ich 100500 Zeilen Code. Warum... Ich verstehe den Code nicht :(


Ich werde mit Fragen überhäuft :)) Bitte helfen Sie mir zu verstehen

 
<br/ translate="no">.


Ich werde mit Fragen überhäuft )))) Bitte helfen Sie mir zu verstehen

2.2 : Ask+50 ist ein bisschen weit hergeholt :-) 50, soweit ich die Idee der Punkte verstanden habe... Ich meine 50 * _Point... und normalisiere es. Das heißt, anstelle von Ask+50 sollten Sie NormalizeDouble(Ask+50*_Point,_Digits) schreiben.

 
@Maxim Kuznetsov- vielen Dank).
 

Gelesen, verstanden, was jeder der Parameter bedeutet, eingestellt.....

Mein schwebender Verkauf lässt sich nicht öffnen. Es gibt nicht einmal Fehler aus.GetLastError()=0! Es öffnet sich zum Kaufen, wie es sollte, aber ignoriert zum Verkaufen. Es bringt mich zum Lachen - was will es denn? ))))

int BS1 = OrderSend (Symbol(),OP_BUYSTOP,lots,NormalizeDouble(Ask+50*_Point,_Digits),3,0,0,"bs1",1,0,clrGreen);
  int SS1 = OrderSend (Symbol(),OP_SELLSTOP,lots,NormalizeDouble(Bid+50*_Point,_Digits),3,0,0,"ss1",101,0,clrRed);
    if (GetLastError()==1);
    {
    Alert (GetLastError());
    }

Gute Leute, wo kann ich das nötige Wissen bekommen? ))

 
Gilmor:

Gelesen, verstanden, was jeder der Parameter bedeutet, eingestellt.....

Mein schwebender Verkauf lässt sich nicht öffnen. Es gibt nicht einmal Fehler aus.GetLastError()=0! Es öffnet sich zum Kaufen, wie es sollte, aber ignoriert zum Verkaufen. Es bringt mich zum Lachen - was will es denn? ))))

Gute Leute, wo kann ich das nötige Wissen bekommen? ))

Im Terminal gibt es eine interessante Registerkarte namens "Experten". Hier werden die Fehler der Experten geschrieben. Werfen Sie einen Blick darauf. Und dann in Ihrem Code.

 
int start()                                  // Спец. функция start()
  {                                          
  double prise;
  double lots = 0.01;  
  if (OrdersTotal()<1)
  {
  prise = MarketInfo(Symbol(), MODE_ASK);
  // int BS1 = OrderSend (Symbol(),OP_BUYSTOP,lots,NormalizeDouble(Ask+50*_Point,_Digits),3,0,0,"bs1",1,0,clrGreen);
  int SS1 = OrderSend (Symbol(),OP_SELLSTOP,lots,NormalizeDouble(Bid+50*_Point,_Digits),3,0,0,"ss1",101,0,clrRed);
   /* if (GetLastError()==1);
    {
    Alert (GetLastError());
    }
    */
  }
 
   return;                                   // Выход из start()
  }

Artyom Trishkin:

Es gibt eine interessante Registerkarte im Terminal - "Experten". Es enthält Fehler von Expert Advisors. Sie können es durchsehen. Und dann in Ihrem Code.

Wie Sie sehen können, zeigt diese Registerkarte auch vermeintlich perfekt. Geladen und gestartet. Sie weist keinerlei Fehler auf. :(

Also, danke schön! Ich wusste nicht, dass man diese Registerkarte verwenden kann.

 

Guten Tag.

Ich habe mich eine Woche lang gequält, um Informationen zu finden. Hilfe mit dem Code))

Zweck: Herausfinden des Unterschieds zwischen den Eröffnungs- und Schlusspips einer Kerze.

Addieren Sie das Ergebnis und zeigen Sie es auf dem Bildschirm an, für 100 Takte.

Am Ende möchte ich den Gesamtbetrag auf dem Bildschirm sehen.

void OnTick ()

{

double minprice =99999 , mp,cl,

maxprice =-99999;

double Index = 0;

double Index1 = 0;

for(int i=100; i>0; i--)

{

mp = iLow (Symbol(), PERIOD_CURRENT, i);

cl = iClose(Symbol(), PERIOD_CURRENT, i);

if( mp < minprice)

minprice = mp - cl;

Index = minprice + mp ;

}

Ich danke Ihnen.

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
Grund der Beschwerde: