Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 462

 

Oder hilft ein solches Design nicht, wenn das betreffende Instrument nicht angekreuzt ist?

#property strict

extern bool USE_Info=true;

static datetime TimeN=0;

//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

int start()

  {

   datetime TimeC=iTime("GBPUSD",5,0);

   if(TimeN==0)TimeN=TimeC;

   if(TimeN==TimeC) return(0);

   TimeN=TimeC;

   return(INIT_SUCCEEDED);

  } 

 

Helfen Sie mir, das zu verstehen.

Ich möchte zum Beispiel eine Position auf EURUSD mit einem Stop von 30 Pips und einem TakeProfit von 30 Pips eröffnen. Bevor ich die Position eröffne, muss ich das Lot-Volumen angeben, so dass ein Verlust bei einem Verlustgeschäft 100 USD betragen würde. Wie kann sie mit MQL5 berechnet werden?

SL=30;

Lot=Berechnungsformel

Ich möchte meinen Handelsroboter als Referenz verwenden.

 
PabloEs:

Helfen Sie mir, das zu verstehen.

Ich möchte zum Beispiel eine Position auf EURUSD mit einem Stop von 30 Pips und einem TakeProfit von 30 Pips eröffnen. Bevor ich die Position eröffne, muss ich das Lot-Volumen angeben, so dass ein Verlust bei einem Verlustgeschäft 100 USD betragen würde. Wie kann sie mit MQL5 berechnet werden?

SL=30;

Lot=Berechnungsformel

Ich danke Ihnen im Voraus.

Für 4 können Sie es so berechnen:

Lot=Geld / (Hundert_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))

 
Artyom Trishkin:

Für einen Vierling kann man das so berechnen:

Lot=Geld / (Hundert_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))

Danke, aber bei mir hat es nicht funktioniert.
 
PabloEs:
Danke, aber es hat mir nicht geholfen.

Siehe SymbolInfoDouble() anstelle von MarketInfo()

Und was meinen Sie damit, dass es nicht geholfen hat? Ich habe dir keinen Fisch geschenkt, sondern eine Angel.

 
Artyom Trishkin:

Siehe SymbolInfoDouble() nicht MarketInfo()

Und was soll das heißen, es hat nicht funktioniert? Ich habe dir nicht den Fisch gegeben, sondern die Angel.

Ich bin zu jung, um eine Angelrute zu benutzen)

Ich habe ein Skript geschrieben, das die obige Formel verwendet

void OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Warnung(Test);

Ergibt 33333.33, vielleicht irrt sich der Troll?

 
PabloEs:

Ich bin noch zu jung, um eine Angelrute zu benutzen)

Hier ist ein Skript, das mit der obigen Formel geschrieben wurde

void OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Warnung(Test);

Ergibt 33333.33, vielleicht irrt sich der Troll?

Geld /(Stoplos_in_points*MarketInfo(Symbol(),MODE_TICKVALUE))

Und Sie rechnen es in den Preis ein

 
PabloEs:

Ich bin noch zu jung, um eine Angelrute zu benutzen)

Hier ist ein Skript, das mit der obigen Formel geschrieben wurde

void OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Warnung(Test);

Ergibt 33333.33, vielleicht irrt sich der Troll?

Ich habe eine solche Formel geschrieben

Lot = AccountFreeMargin()*Risk/100*_Point/(StopLoss*MarketInfo(Symbol(), MODE_TICKVALUE))

AccountFreeMargin()*Risk/100 --- das sind Ihre $100

StopLoss --- Differenz zwischen dem Eröffnungs- und dem SL-Kurs der Order (nicht in Punkten)

Dementsprechend muss MarketInfo() durch SymbolInfoDouble() ersetzt werden.

 
PabloEs:

Ich bin noch zu jung, um eine Angelrute zu benutzen)

Hier ist ein Skript, das mit der obigen Formel geschrieben wurde

void OnStart()

{

//---

double Test=100/(300*_Point*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE));

Warnung(Test);

Ergibt 33333.33, vielleicht irrt sich der Troll?

Sehen Sie, was Sie haben, wenn in Russisch, und bei _Point, gleich 0,00001:

Um $100 bei einem Take von 0,003 Punkten (300*0,00001) zu verdienen, muss das Lot 33333,33 betragen. Der Troll hat also definitiv Unrecht ;)

 
Artyom Trishkin:

Geld /(Klammer_in_Punkte*MarketInfo(Symbol(),MODE_TICKVALUE))

Und Sie rechnen es in den Preis ein

Ganz genau. Als ich diese Formel geschrieben habe, war der SL nicht durch einen bestimmten Wert definiert, sondern wurde als Differenz zwischen dem Eröffnungskurs der Order und einem bestimmten Niveau berechnet, weshalb ich den Risikobetrag mit _Point multiplizieren musste
Grund der Beschwerde: