Renat Akhtyamov: Zeigen Sie mir die Zeile des Codes, auf die der Compiler zeigt
Es gibt eine Menge solcher Zeilen, weshalb ich um ein angepasstes Modul für die neuen Terminals gebeten habe. Aber danke für Ihre Bereitschaft zu helfen)
Es gibt eine Menge solcher Zeilen, weshalb ich um ein angepasstes Modul für die neuen Terminals gebeten habe. Aber danke für Ihre Bereitschaft zu helfen)
sollte eine Zeilennummer und eine Position in der Codezeile mit dem Fehler angegeben werden.
Auf diese Weise lassen sich alle Fehler leicht beheben, wenn man die genaue Stelle im Code kennt.
Ich habe denvon Alekseu Fedotov angebotenen Expert Advisor genommen und versucht, ihn an meine Bedürfnisse anzupassen.
Meine Bedürfnisse sind die folgenden: Bei einer Kreuzung der Stäbe eröffnen wir eine Position und schließen sie bei der gegenüberliegenden Kreuzung. Wenn möglich, übertragen wir die Position zum Breakeven.
Aber am Ende wird nichts geöffnet. Ich zerbreche mir den Kopf. Was könnte das Problem sein?
Ich habe denvon Alekseu Fedotov angebotenen EA genommen und versucht, ihn an meine Bedürfnisse anzupassen.
Meine Bedürfnisse sind die folgenden: Wenn sie sich kreuzen, eröffnen wir eine Position, wenn sie sich wieder kreuzen, schließen wir sie. Wenn möglich, übertragen wir die Position zum Breakeven.
Aber am Ende wird nichts geöffnet. Ich zerbreche mir den Kopf. Was könnte das Problem sein?
Ich bin mir nicht sicher, was das Problem ist, aber ich würde gerne eine Codezeile mit einem Fehler von CMM sehen, zum letzten Mal.
Renat Akhtyamov: zeigen Sie die Zeile aus dem Code mit dem Fehler von CMM, zum letzten Mal biete ich an, zu helfen.
Da ist mir ein Fehler unterlaufen. Ich habe die Logik des Programms falsch verstanden. Und es war einfacher für mich, es neu zu machen. Es gibt keinen Fehler im Code der KMG.
Bitte teilen Sie mir mit, ob es möglich ist, das Folgende mit mql4 oder mql5 zu tun:
nachdem der Preis eine vertikale Ebene überschritten hat, einen Teil des Hintergrunds in einer anderen Farbe zu färben, wie in der Abbildung dargestellt.
voidOnTick() { for (int i=0; i<OrdersTotal(); i++) if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0); double SL=0,TP=0;
if (STO > buy_level)
{ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits); if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError()); PlaySound("timeout.wav"); Print("Ордер успешно размещен"); } }
voidOnTick() { for (int i=0; i<OrdersTotal(); i++) if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0); double SL=0,TP=0;
if (STO > buy_level)
{ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits); if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError()); PlaySound("timeout.wav"); Print("Ордер успешно размещен"); } }
möglicher Datenverlust aufgrund von Typumwandlung
Versuchen Sie es.
Zeigen Sie mir die Zeile des Codes, auf die der Compiler zeigt
Es gibt eine Menge solcher Zeilen, weshalb ich um ein angepasstes Modul für die neuen Terminals gebeten habe. Aber danke für Ihre Bereitschaft zu helfen)
Es gibt eine Menge solcher Zeilen, weshalb ich um ein angepasstes Modul für die neuen Terminals gebeten habe. Aber danke für Ihre Bereitschaft zu helfen)
Genau auf dieser Linie:
" möglicher Datenverlust aufgrund der Typkonvertierung"
sollte die Zeilennummer und die Position in der Codezeile mit dem Fehler sein.
So einfach können Sie alle Fehler beheben, wenn Sie die genaue Stelle im Code kennen
genau in dieser Linie:
" möglicher Datenverlust aufgrund der Typkonvertierung"
sollte eine Zeilennummer und eine Position in der Codezeile mit dem Fehler angegeben werden.
Auf diese Weise lassen sich alle Fehler leicht beheben, wenn man die genaue Stelle im Code kennt.
Ich habe denvon Alekseu Fedotov angebotenen Expert Advisor genommen und versucht, ihn an meine Bedürfnisse anzupassen.
Meine Bedürfnisse sind die folgenden: Bei einer Kreuzung der Stäbe eröffnen wir eine Position und schließen sie bei der gegenüberliegenden Kreuzung. Wenn möglich, übertragen wir die Position zum Breakeven.
Aber am Ende wird nichts geöffnet. Ich zerbreche mir den Kopf. Was könnte das Problem sein?
Ich habe denvon Alekseu Fedotov angebotenen EA genommen und versucht, ihn an meine Bedürfnisse anzupassen.
Meine Bedürfnisse sind die folgenden: Wenn sie sich kreuzen, eröffnen wir eine Position, wenn sie sich wieder kreuzen, schließen wir sie. Wenn möglich, übertragen wir die Position zum Breakeven.
Aber am Ende wird nichts geöffnet. Ich zerbreche mir den Kopf. Was könnte das Problem sein?
zeigen Sie die Zeile aus dem Code mit dem Fehler von CMM, zum letzten Mal biete ich an, zu helfen.
Zeigen Sie ein Codeschnipsel, wie Sie das Signal vom Indikator in Ihrem EA lesen
takeprofit = 400,
slippage = 10,
Magic = 777;
extern double Lot = 0.5,
buy_level = 15;
void OnTick()
{
for (int i=0; i<OrdersTotal(); i++)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
double SL=0,TP=0;
if (STO > buy_level)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
PlaySound("timeout.wav");
Print("Ордер успешно размещен");
}
}
takeprofit = 400,
slippage = 10,
Magic = 777;
extern double Lot = 0.5,
buy_level = 15;
void OnTick()
{
for (int i=0; i<OrdersTotal(); i++)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())return;
double STO = iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
double SL=0,TP=0;
if (STO > buy_level)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits);
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss* Point,Digits);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
PlaySound("timeout.wav");
Print("Ордер успешно размещен");
}
}
Genau hier:
iStochastic(NULL,15,2,3,1,MODE_SMA,0,MODE_SIGNAL,0);
Periode (Zeitrahmen) auf 1,5,15,30,60,240,1440,10080,43200 ändern //M1.M5.M30 ... usw.
oder geben Sie Period() statt 15 ein, dann wird beim manuellen Wechsel der TF automatisch die aktuelle eingestellt