Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/metatrader-4/programmierung-mql4/)
-   -   TS nach Buch unverständlich (http://www.expert-advisor.com/forum/metatrader-4/programmierung-mql4/6163-ts-nach-buch-unverstaendlich.html)

Wilma 27.07.18 16:24

TS nach Buch unverständlich
 
Ich kämpfe mit einem Buch. Folgenden Ausdruck für die TS-Setzung bei Buy verstehe ich nicht, genauer gesagt die Zeichensetzung " * ".
Meiner Meinung nach müsste an der Stelle ein " - " stehen.

//Input Variable
input int Trailingpoints=500;

//On tick
double trailingPrice=SymbolInfoDouble(_Symbol, SYMBOL_ASK)-(TrailingPoints * _Point);TrailingStop(_Symbol,trailingPrice);

Und noch etwas: Wie kann man sich im Nachhinein für Hilfe bedanken (wenn man nicht in sozialen Netzwerken ist)?

Wilma

Leopold 27.07.18 18:18

Hallo,

meinst du "(TrailingPoints * _Point)"?

Nein, das passt so, damit rechnest du die TrailingPoints in die Punkte des Symbols (Assets) um. Dazu benötigst du "*".

Schreib einfach ein Kommentar wenn du dich bedanken willst.:)

---Leopold---

MA-EA 27.07.18 18:46

Auf "Like" klicken.


extern string TS="Trailing Stop";
extern bool Trailing_Stop=true;
extern int Trailing_Stop_Step=7;
extern string ATSS1="if SL <=";
extern string ATSS2="Trailing_Stop_Step";
extern string ATSS3="TSS = Alternative_";
extern string ATSS4="Trailing_Stop_Step";
extern int Alt_TSS=1;


if(Trailing_Stop==true){

for(i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS)){

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

if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_Ma gicNumber&&OrderSymbol()==Symbol()){

double B_OOP=OrderOpenPrice();
double B_OSL=OrderStopLoss();

double B_OOP_B_OSL=B_OOP-B_OSL;

double B_TS=M_CB-B_OOP_B_OSL;
if(NormalizeDouble(B_OOP_B_OSL<=Trailing_Stop_Step *_Point,_Digits))Trailing_Stop_Step=Alt_TSS;

double B_TS_TSS=NormalizeDouble(B_TS-Trailing_Stop_Step*_Point,_Digits);

if(B_OSL<B_TS_TSS){
OrderModify(OrderTicket(),OrderOpenPrice(),B_TS,Or derTakeProfit(),0,LightBlue);}}

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

if(OrderType()==OP_SELL&&OrderMagicNumber()==Sell_ MagicNumber&&OrderSymbol()==Symbol()){

double S_OSL=OrderStopLoss();
double S_OOP=OrderOpenPrice();

double S_OSL_S_OOP=S_OSL-S_OOP;
if(NormalizeDouble(S_OSL_S_OOP<=Trailing_Stop_Step *_Point,_Digits))Trailing_Stop_Step=Alt_TSS;

double S_TS=M_CA+S_OSL_S_OOP;

double S_TS_TSS=NormalizeDouble(S_TS+Trailing_Stop_Step*_ Point,_Digits);

if(S_OSL>S_TS_TSS){
OrderModify(OrderTicket(),OrderOpenPrice(),S_TS,Or derTakeProfit(),0,Maroon);}}}}}

Wilma 27.07.18 20:38

Zitat:

Zitat von Leopold (Beitrag 41307)
Hallo,

meinst du "(TrailingPoints * _Point)"?

Nein, das passt so, damit rechnest du die TrailingPoints in die Punkte des Symbols (Assets) um. Dazu benötigst du "*".

Schreib einfach ein Kommentar wenn du dich bedanken willst.:)

---Leopold---

Danke!
... und das empfohlene Buch ist schon bestellt :)

Leopold 28.07.18 11:31

@MA-EA:

1. Wie wärs wenn du endlich mal den Code richtig in ein Kommentar mit dem dafür vorgesehenen Button einfügst (#- Symbol oben). nach über 600 Beiträgen solltest du das schon können.

2. Was soll das mit dem Code, die Frage bezog sich nur auf die Rechnung :confused:

---Leopold---


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:49 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2019 vbdesigns.de
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum