[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 329

 
emilien:
extern int variable = 0;
extern int shift = 0.0000;
extern int shift2 = 0.0000;
int init()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
SetLabel("MA_LABEL",DoubleToStr(iMA(Symbol(),15,variable,0,MODE_SMA,PRICE_CLOSE,0),shift,2),Bisque,735,277,0,14);
SetLabel("MA_LABEL2",DoubleToStr(iMA(Symbol(),15,variable,0,MODE_SMA,PRICE_CLOSE,0),shift2,2),Bisque,680,27 7,0,14)
//----
zurück(0);
}
//+------------------------------------------------------------------+


void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0,0);
ObjectSetText(nm, tx, fs);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER, cr);
ObjectSet(nm, OBJPROP_FONTSIZE, fs);
}



Weitere Tipps, bitte.
kann die vertikale Verschiebung nach oben und shift2 nach unten nicht einrücken.
dieser Parameter sollte für jedes Diagramm anders gesetzt werden.
Ich erhalte einen Kompilierfehler
Wenn Sie sich die Klammern ansehen, setzen Sie sie in die Funktion DoubleToStr ein, die sich nicht verschieben kann.
 
ilunga:

Tb und Ts wie in TPb und TPs? dann wieder, ging den gleichen Weg, aber die Reihenfolge ist anders

Entladen Sie alle Werte und sehen Sie, was Sie erhalten

Entschuldigen Sie bitte!!!


double pb = Ask+20*Point;

double ps = Bid-20*Point;

double TPb = Ask+50*Point;

double TPs = Bid-50*Point;

ticket=OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask+q*Point,5,0,Ask+50*Point, "Aw",mn,0,CLR_NONE);

ticket=OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid-q*Point,5,0,Bid-50*Point, "Aw",mn,0,CLR_NONE);

if (!ticket) Print(GetLastError());

}

}

ticket=OrderTicket();

for (ii=OrdersTotal(); ii>0; ii--)

{

if (OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)==true)

{

if (Bestellkommentar()=="Aw")

{

wenn (Auftragsart()==OP_BUYSTOP)

{

t=OrderModify(OrderTicket(),pb,0,TPb,0,CLR_NONE);

if (!t) Print("BUY OBUYSTOP = ",GetLastError());

}

wenn (Auftragsart()==OP_SELLSTOP)

{

t=OrderModify(OrderTicket(),ps,0,TPs,0,CLR_NONE);

if (!t) Print("SELL OVERSTOP = ",GetLastError())

}

}

}

}

Dies ist ein Auszug aus dem Protokoll:

13:55:47 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3622 sl: 0.0000 tp: 1.3592 ok

13:55:47 0 EURUSD,M1: LEERVERKAUF = 1

13:55:53 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3623 sl: 0.0000 tp: 1.3593 ok

13:55:53 0 EURUSD,M1: LEERVERKAUF = 1

13:55:54 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3622 sl: 0.0000 tp: 1.3592 ok

13:55:54 0 EURUSD,M1: LEERVERKAUF = 1

13:55:55 0 EURUSD,M1: modify #736403688 sell stop 0.01 EURUSD at 1.3623 sl: 0.0000 tp: 1.3593 ok

kaufen, nicht ändern

Vielen Dank im Voraus!

 
smartemiy:

Sorry!!!


...

for (ii=OrdersTotal(); ii>0; ii--)

...

tschüss ändert sich nicht

vielen Dank im Voraus!

Die Nummerierung beginnt bei Null. Verschieben Sie die Schleife auf 1:

for (ii=OrdersTotal()-1; ii>=0; ii--)

 
ilunga:
Sehen Sie sich die Klammern an, Sie setzen sie in die Funktion DoubleToStr ein, die nicht verschieben kann.

unausgewogene linke Klammer

die Fehlerkoordinaten sind die geschweiften Klammern am Ende.

Aber diese Klammer ist normal.

Was kann das sein?


 
emilien:

unausgewogene linke Klammer

die Fehlerkoordinaten sind die geschweiften Klammern am Ende.

Aber diese Klammer ist normal.

Was kann das sein?


Es fehlt irgendwo eine Klammer, also wird gekämpft. Schauen Sie genauer hin.
 
ilunga:

Die Nummerierung geht von Null aus. Verschieben Sie die Schleife auf 1:

for (ii=OrdersTotal()-1; ii>=0; ii--)

Vielen Dank!!! Das war das Problem.

--------------------------------------------------------------

Warum wird die Fehlermeldung angezeigt?

15:38:55 0 EURUSD,M1: SOCKE VERKAUFEN = 1

15:38:55 0 EURUSD,M1: LEERVERKAUF = 1

 
Danke an alle, es funktioniert. =)
 
Roman.:


Dies ist nicht Pascal - es gibt keine Prozeduren...:-) Eine Funktion - ein Wert...:-)

Siehe GetMarketInfo f-Datei mit allen Aufträgen, die das Skript schließen - die Verwendung von Arrays ist möglich.


Ich danke Ihnen.
 

Hallo! Wie kann man die Häufigkeit von abwechselnd "weißen" und "grünen" Balken formalisieren und algorithmisieren?

 
Shniperson:

Hallo! Wie kann man die Häufigkeit von abwechselnd "weißen" und "grünen" Balken formalisieren und algorithmisieren?


Alles ist möglich.

Welche Art von Sägen...