//-------------------------------------------------------------------------------// Функция модификации позиции,безуыток, трейлинг-стоп //-------------------------------------------------------------------------------+ bool Modi_Traili(int select,int pool=MODE_TRADES,ulong magic=-1)
{
// double Profit_On =OrderProfit(); // Профит открытой позиции double Price_Open =0; // Цена открытой позицииstring sym =Symbol(),er;
int i,cnt=0, k=OrdersTotal(),op=-1,mn=-1;
double Market_Pi=0, oop=0, point=0, pp=0;
bool loop = false;
//----------------------------------if (sym=="") sym=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_TICKET, MODE_TRADES)) {
if ((OrderSymbol()==sym || sym=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY && (mn<0 || OrderMagicNumber()==mn)){
int Ticket=OrderTicket();
Price_Open = OrderOpenPrice();
Market_Pi=MarketInfo(OrderSymbol(), MODE_ASK);
point=MarketInfo(OrderSymbol(), MODE_POINT);
if (point==0) if (StringFind(sym, "JPY")<0) point=0.0001; else point=0.01;
if (point==0) if (StringFind(sym, "XAU")<0) point=0.0001; else point=0.001;
double Sorri=MathRound(MathAbs(Market_Pi-Price_Open)/point);
Print("Ticket==",Ticket,"Sorri = ",Sorri,"Price_Open = ",Price_Open,"mi = ",Market_Pi);
if(Sorri >Deta && OrderProfit()>0)
{
// Print("Ticket==",Ticket,"Sorri = ",Sorri,"Price_Open = ",Price_Open,"mi = ",Market_Pi);//--------------------------------------------------------------------------------------------------while (!loop) // Цикл модификации
{
double TP = NormalizeDouble(Ask+TProfit*Point,Digits);
double SL=NormalizeDouble(Ask+(2+MarketInfo(OrderSymbol(), MODE_SPREAD)/point),Digits);
Alert ("М- - -я ",Ticket,". Ждём ответ..");
bool Ans=OrderModify(Ticket,Price_Open,SL,TP,0); //Модифи его!//--------------------------------------------------------------------------------if (Ans==true) // Получилось :)
{
Alert ("Ордер ",Ticket,TP," модифицирован:)");
break; // Из цикла модифи.
}
//--------------------------------------------------- 7 --------------------int Error=GetLastError(); // Не получилось :(switch(Error) // Преодолимые ошибки
{
case0 : loop = true; break;
case4 : er=("Торговый сервер занят");
case135: er=("Цена изменилась");
case137: er=("Брокер занят");
case138: er=("Новые цены");
case146: er=("Подсистема торговли занята. Пробуем ещё..");
Message(er);
Sleep(2); // Простое решение
RefreshRates(); // Обновим данныеcontinue;
case136: er=("Нет цен");
Message(er);
while(RefreshRates()==false) // До нового тикаSleep(5); // Задержка в цикле
cnt++;
continue;
default:er=StringFormat("Ошибка: %d",Error); // Другие варианты
Message(er);
loop = true; // Выход из whilebreak; // Выход из switch
}
//--------------------------------------------------------------------------------
} // Окончание while
}
} // Окончание ifif (OrderType()==OP_SELL &&(mn<0 || OrderMagicNumber()==mn))
{
int Ticket=OrderTicket();
Price_Open = OrderOpenPrice();
Market_Pi=MarketInfo(OrderSymbol(), MODE_BID);
point=MarketInfo(OrderSymbol(), MODE_POINT);
if (point==0) if (StringFind(sym, "JPY")<0) point=0.0001; else point=0.01;
if (point==0) if (StringFind(sym, "XAU")<0) point=0.0001; else point=0.001;
double Sorri=MathRound(MathAbs(Price_Open-Market_Pi)/point); //+MarketInfo(OrderSymbol(), MODE_SPREAD);if(Sorri >Deta && OrderProfit()>0)
{
Print("So = ",Sorri,"Price_Open = ",Price_Open,"Mi = ",Market_Pi);
Comment(Ticket);
while (!loop) // Цикл модификации
{
double TP = NormalizeDouble(Ask+TProfit*Point,Digits);
double SL=NormalizeDouble(Bid-(2+MarketInfo(OrderSymbol(), MODE_SPREAD)/point),Digits);
Alert ("Мод------я ",Ticket,". Ждём ответ..");
bool Ans=OrderModify(Ticket,Price_Open,SL,TP,0); //Модифи его!//--------------------------------------------------------------------------------if (Ans==true) // Получилось :)
{
Alert ("Ордер ",Ticket,TP," модифицирован:)");
break; // Из цикла модифи.
}
//--------------------------------------------------- 7 --------------------int Error=GetLastError(); // Не получилось :(switch(Error) // Преодолимые ошибки
{
case0 : loop = true; break;
case4 : er=("Торговый сервер занят");
case135: er=("Цена изменилась");
case137: er=("Брокер занят");
case138: er=("Новые цены");
case146: er=("Подсистема торговли занята. Пробуем ещё..");
Message(er);
Sleep(2); // Простое решение
RefreshRates(); // Обновим данныеcontinue;
case136: er=("Нет цен");
Message(er);
while(RefreshRates()==false) // До нового тикаSleep(5); // Задержка в цикле
cnt++;
continue;
default:er=StringFormat("Ошибка: %d",Error); // Другие варианты
Message(er);
loop = true; // Выход из whilebreak; // Выход из switc}
}
}
}//
}
}
}
} //--------------------------Выход из цикла forreturn(true);
}
Stopp auf Breakeven verschieben, wenn der aktuelle Kurs den Eröffnungskurs um
Deta
Pips. Ich erhalte eine Fehlermeldung 4051. Der gesamte Tankaufbau ist in der Datei enthalten (falls Sie ihn benötigen). Der WMA-Indikator wird verwendet. Nicht meine, hoffentlich nicht kaputt.
Технические индикаторы требуют для своих расчетов указания значений цен и/или значений объемов, на которых они будут считаться. Существуют 7 предопределенных идентификаторов перечисления ENUM_APPLIED_PRICE, для указания нужной ценовой базы расчетов. Если технический индикатор для своих расчетов использует ценовые данные, тип которых задается...
Stopp auf Breakeven verschieben, wenn der aktuelle Kurs den Eröffnungskurs um
Pips. Ich erhalte eine Fehlermeldung 4051. Der gesamte Tankaufbau ist in der Datei enthalten (falls Sie ihn benötigen). Der WMA-Indikator wird verwendet. Nicht meine, hoffentlich nicht kaputt.
Ungültiger Funktionsparameter. Vermutlich haben Sie keine Kontrolle für Mindeststoppaufträge. Fügen Sie es hinzu, es ist eine obligatorische Prüfung für den Marktplatz.
......
double TP = NormalizeDouble(Ask+TProfit*Point,Digits);
double SL=NormalizeDouble(Bid-(2+MarketInfo(OrderSymbol(), MODE_SPREAD)/point),Digits);
TP=New_Stop(TP);
SL=New_Stop(SL);
......
double New_Stop(double Parametr) // Проверка стоп-прик.
{
double Min_Dist=MarketInfo(Symbol(),MODE_STOPLEVEL);// Миним. дистанцияif(Parametr<Min_Dist) // Если меньше допуст.
{
Parametr=Min_Dist; // Установим допуст.Alert("Увеличена дистанция стоп-приказа или цены открытия отложенных ордеров.");
}
return(Parametr); // Возврат значения
}
Ungültiger Funktionsparameter. Auf den ersten Blick haben Sie keine Kontrolle für Mindeststoppaufträge. Fügen Sie es hinzu, es ist eine obligatorische Prüfung für den Marktplatz.
wie man in einem Indikator, der in M1 arbeitet, Daten aus D1 erhält, wenn der Indikator auf Formeln basiert und es keinen Aufruf von Standardindikatoren wie =iMA(Symbol(),Period(),.... gibt
Einen guten Tag an alle. Ich habe diese Situation auf meinem Demokonto (nicht auf dem echten Konto) erlebt.) Mehrere Positionen wurden vom Expert Advisor geschlossen, als er ein bestimmtes Niveau des kumulierten Gewinns erreichte, angeblich positiv, während alle Positionen in einem guten Verlust saßen, das Ereignis trat bei 2-50 auf dem Server (sieht nicht wie eine Übertragung von Positionen). Der (von mir erstellte) Expert Advisor berechnet den Gesamtgewinn aller offenen Positionen und vergleicht ihn mit einem vordefinierten Wert, d.h. das Bild der Balken im Fenster ist so, als ob es keine Rolle spielt, obwohl es eine leichte Bewegung in die Richtung zeigt, die den Gewinn bringt. Der Expert Advisor arbeitet mit einem Timer, der auf 100 ms eingestellt wurde. Ich schließe nicht aus, den Broker Idee als die gleichen Expert Advisor eines anderen Maklers mit den gleichen Einstellungen, sondern die Arbeit mit Ticks des Preises hat leicht verloren Gewinn. Ich hatte eine Reserve auf meinem Konto, der Expert Advisor meldete die Schließung aus dem Gewinnrealisierungsblock.Vielleicht hat jemand eine Idee, was falsch gelaufen sein könnte.
Evgeny Vlasov: Guten Tag zusammen. Ich hatte eine solche Situation auf einem Demokonto (nicht auf dem echten Konto). Mehrere Positionen wurden vom Expert Advisor geschlossen, als er einen bestimmten Betrag an kumuliertem Gewinn erreichte, der angeblich positiv war, während alle Positionen in einem guten Verlust saßen, das Ereignis trat bei 2-50 auf dem Server auf (sieht nicht wie eine Übertragung von Positionen aus). Der Expert Advisor (von mir erstellt) berechnet den Gesamtgewinn aller offenen Positionen und vergleicht ihn mit einem vordefinierten Wert, d.h. das Bild der Balken im Fenster ist so, als ob es keine Rolle spielen würde, obwohl es eine leichte Bewegung in die Richtung zeigt, die den Gewinn bringt. Der Expert Advisor arbeitet mit einem Timer, der auf 100 ms eingestellt wurde. Ich schließe nicht aus, den Broker Idee als die gleichen Expert Advisor eines anderen Maklers mit den gleichen Einstellungen, sondern die Arbeit mit Ticks des Preises hat leicht verloren Gewinn. Ich hatte eine Reserve auf meinem Konto, der Expert Advisor meldete die Schließung aus dem Gewinnrealisierungsblock.Vielleicht hat jemand eine Idee, was falsch gelaufen sein könnte.
Das ist für dich in der Telepathenbranche)))) Es war hier irgendwo.)
Und zu diesem Thema... ICH WEISS ES NICHT. Kein Code, kein Markt, kein Nichts... Eindeutig Telepathen))))
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Können Sie mir sagen, wie ich mein eigenes Thema aus dem Forum entfernen kann?
Nichts. Was ist das Thema?
Nichts. Was ist das Thema?
https://www.mql5.com/ru/forum/348294
Vielen Dank ))))
Hallo, ich versuche, die Funktion
Stopp auf Breakeven verschieben, wenn der aktuelle Kurs den Eröffnungskurs um
Pips. Ich erhalte eine Fehlermeldung 4051. Der gesamte Tankaufbau ist in der Datei enthalten (falls Sie ihn benötigen). Der WMA-Indikator wird verwendet. Nicht meine, hoffentlich nicht kaputt.
Hallo, ich versuche, die Funktion
Stopp auf Breakeven verschieben, wenn der aktuelle Kurs den Eröffnungskurs um
Pips. Ich erhalte eine Fehlermeldung 4051. Der gesamte Tankaufbau ist in der Datei enthalten (falls Sie ihn benötigen). Der WMA-Indikator wird verwendet. Nicht meine, hoffentlich nicht kaputt.
Ungültiger Funktionsparameter. Vermutlich haben Sie keine Kontrolle für Mindeststoppaufträge. Fügen Sie es hinzu, es ist eine obligatorische Prüfung für den Marktplatz.
Ungültiger Funktionsparameter. Auf den ersten Blick haben Sie keine Kontrolle für Mindeststoppaufträge. Fügen Sie es hinzu, es ist eine obligatorische Prüfung für den Marktplatz.
Ich danke Ihnen! Ich werde es mir ansehen.
wie man in einem Indikator, der in M1 arbeitet, Daten aus D1 erhält, wenn der Indikator auf Formeln basiert und es keinen Aufruf von Standardindikatoren wie =iMA(Symbol(),Period(),.... gibt
Wie berechne ich?
Guten Tag zusammen. Ich hatte eine solche Situation auf einem Demokonto (nicht auf dem echten Konto). Mehrere Positionen wurden vom Expert Advisor geschlossen, als er einen bestimmten Betrag an kumuliertem Gewinn erreichte, der angeblich positiv war, während alle Positionen in einem guten Verlust saßen, das Ereignis trat bei 2-50 auf dem Server auf (sieht nicht wie eine Übertragung von Positionen aus). Der Expert Advisor (von mir erstellt) berechnet den Gesamtgewinn aller offenen Positionen und vergleicht ihn mit einem vordefinierten Wert, d.h. das Bild der Balken im Fenster ist so, als ob es keine Rolle spielen würde, obwohl es eine leichte Bewegung in die Richtung zeigt, die den Gewinn bringt. Der Expert Advisor arbeitet mit einem Timer, der auf 100 ms eingestellt wurde. Ich schließe nicht aus, den Broker Idee als die gleichen Expert Advisor eines anderen Maklers mit den gleichen Einstellungen, sondern die Arbeit mit Ticks des Preises hat leicht verloren Gewinn. Ich hatte eine Reserve auf meinem Konto, der Expert Advisor meldete die Schließung aus dem Gewinnrealisierungsblock.Vielleicht hat jemand eine Idee, was falsch gelaufen sein könnte.
Das ist für dich in der Telepathenbranche)))) Es war hier irgendwo.)
Und zu diesem Thema... ICH WEISS ES NICHT. Kein Code, kein Markt, kein Nichts... Eindeutig Telepathen))))