Was bedeutet es OHNE DoubleToStr(YourPrice,5)? Ich habe DoubleToStr(YourPrice,5) nirgends.
Wenn Sie einfach eine Double-Variable irgendwo in Print oder Alert (Print(doubleVariable)) eingeben, werden nur vier Dezimalstellen ausgegeben; wenn Sie Print(DoubleToStr(doubleVariable,N)) - erhalten Sie N Dezimalstellen.
Frage an die Moderatoren - sehr oft schickt mich die Website zur erneuten Autorisierung zurück. Wenn ich versuche, mich anzumelden, wird die Meldung "Ihr Zugriff ist vorübergehend eingeschränkt oder verweigert" angezeigt. Nach ein paar Stunden wird der Zugang wiederhergestellt. Was könnte das Problem sein?
yosuf: Frage an die Moderatoren - sehr oft schickt mich die Website zur erneuten Autorisierung zurück. Wenn ich versuche, mich anzumelden, wird die Meldung "Ihr Zugriff ist vorübergehend eingeschränkt oder verweigert" angezeigt. Nach ein paar Stunden wird der Zugang wiederhergestellt. Was könnte das Problem sein?
Das homöostatische Universum. Moderatoren können die Autorisierung nicht beeinflussen. Verbieten Sie es nur dauerhaft.
yosuf: Frage an die Moderatoren - sehr oft schickt mich die Website zur erneuten Autorisierung zurück. Wenn ich versuche, mich anzumelden, wird die Meldung "Ihr Zugriff ist vorübergehend eingeschränkt oder verweigert" angezeigt. Nach ein paar Stunden wird der Zugang wiederhergestellt. Was könnte das Problem sein?
Sie werden getrollt))) Sie sind ein charismatischer Mensch))))
Können Sie mir sagen, wie ich eine Kurskreuzung mit einer Indikatorlinie berücksichtigen kann?
Der Indikator hat drei Linien: unten, in der Mitte und oben.
Hier ist ein Beispiel:
Wenn der Kurs die obere Linie überquert hat, muss ich diesen Moment fixieren und ihn anschließend verwenden, wenn der Kurs unter der oberen Linie und über der mittleren Linie liegt, und wenn der Kurs unter der mittleren Linie liegt, muss ich das fixierte Ergebnis zurücksetzen. Ich muss mir nicht den Preis merken, zu dem der Crossover stattgefunden hat, ich muss nur ein Häkchen setzen, um anzuzeigen, dass der Crossover stattgefunden hat, und es dann löschen.
LineUp //верхняя линия
LineS // средняя линия
LineDown // нижняя линия
Ask > LineUp // фиксируем
Ask < LineS // сбрасываем
и так же с нижней линией
Bid < LineDown // фиксируем
Bid > LineS // сбрасываем
Ich habe es mit True und false versucht, es hat nicht funktioniert, ich verstehe nicht warum.
Ich habe dies versucht:
double LineUp; //верхняя линия индикатораdouble LineS; // средняя линия индикатораdouble LineDown; // нижняя линия индикатораbool FiksiruemUp = False;
bool FiksiruemDown = False;
if ( Ask > LineUp) FiksiruemUp = True; // фиксируемif (Ask < LineS) FiksiruemUp = False; // сбрасываем
// и так же с нижней линией
if (Bid < LineDown) FiksiruemDown = True; // фиксируемif (Bid > LineS) FiksiruemDown = False; // сбрасываем
// дальше в коде я к нему обращаюсь:
if ( FiksiruemUp == True)
{
то нужно сделать это . . . . . .
}
und es funktioniert nicht. Warum nicht? Helfen Sie mir zu verstehen.
Liebe Forumsnutzer, bitte helfen Sie mir, ich kann einen Fehler im Code meines EA nicht finden, nämlich, es kann oder will nicht Positionen durch Indikator, nur durch tp oder sl zu schließen, hier, wie es mir scheint, Teil des Codes, die mit diesem Problem verbunden ist, vielen Dank im Voraus
int start()
{
int
Total, // Количество ордеров в окне
Tip, // Тип выбран. ордера (B=0,S=1)
Ticket; // Номер ордераdouble
FT1, // Значение 0 буффера Forex Trend
FT2, // Значение 1 буффера Forex Trend
TL1, // Значение 1 буффера Trend Lord
TL2, // Значение 0 буффера Trend Lord
FI, // Значен. Force Index текущее
Lot, // Колич. лотов в выбран.ордере
Lts, // Колич. лотов в открыв.ордере
Min_Lot, // Минимальное количество лотов
Step, // Шаг изменения размера лота
Free, // Текущие свободные средства
One_Lot, // Стоимость одного лота
Price, // Цена выбранного ордера
SL, // SL выбранного ордера
TP; // TP выбранного ордераbool
Ans =false, // Ответ сервера после закрытия
Cls_B=false, // Критерий для закрытия Buy
Cls_S=false, // Критерий для закрытия Sell
Opn_B=false, // Критерий для открытия Buy
Opn_S=false; // Критерий для открытия Sell//--------------------------------------------------------------- 3 --// Предварит.обработкаif(Bars < Period_FI) // Недостаточно баров
{
Alert("Недостаточно баров в окне. Эксперт не работает.");
return; // Выход из start()
}
if(Work==false) // Критическая ошибка
{
Alert("Критическая ошибка. Эксперт не работает.");
return; // Выход из start()
}
//--------------------------------------------------------------- 4 --// Учёт ордеров
Symb=Symbol(); // Название фин.инстр.
Total=0; // Количество ордеровfor(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:if (OrderSymbol()!=Symb)continue; // Не наш фин. инструмif (OrderType()>1) // Попался отложенный
{
Alert("Обнаружен отложенный ордер. Эксперт не работает.");
return; // Выход из start()
}
Total++; // Счётчик рыночн. ордif (Total>1) // Не более одного орд
{
Alert("Несколько рыночных ордеров. Эксперт не работает.");
return; // Выход из start()
}
Ticket=OrderTicket(); // Номер выбранн. орд.
Tip =OrderType(); // Тип выбранного орд.
Price =OrderOpenPrice(); // Цена выбранн. орд.
SL =OrderStopLoss(); // SL выбранного орд.
TP =OrderTakeProfit(); // TP выбранного орд.
Lot =OrderLots(); // Количество лотов
}
}
//--------------------------------------------------------------- 5 --// Торговые критерии
TL1=iCustom(NULL, 0, "TrendLord", 1, 1); // trend lord синий
TL2=iCustom(NULL, 0, "TrendLord", 0, 1); // красный тренд лорд
FI=iForce(NULL, 0, Period_FI,MODE_EMA,PRICE_CLOSE,0); // FI
FT1=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 0, 1); // forex trend blue
FT2=iCustom(NULL, 0, "ForexTrend", 7, 50.6, 999999, 1, 1); // forex trend redif (TL2 == EMPTY_VALUE && FT1 == 1 && FT2 == 0 && FI > 0)
{
Opn_B = true;
}
while (Opn_B == true)
{
if (FI <= 0)
{
Cls_B=true;
}
break;
}
if (TL1 == EMPTY_VALUE && FT2 == 1 && FT1 == 0 && FI < 0)
{
Opn_S = true;
}
while (Opn_S == true)
{
if (FI >= 0)
{
Cls_S=true;
}
break;
}
//--------------------------------------------------------------- 6 --// Закрытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Tip==OP_BUY && Cls_B==true) // Открыт ордер Buy..
{ //и есть критерий закрAlert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Bid,2); // Закрытие Buyif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Buy ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
if (Tip==OP_SELL && Cls_S==true) // Открыт ордер Sell..
{ // и есть критерий закрAlert("Попытка закрыть Sell ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Ask,2); // Закрытие Sellif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Sell ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
break; // Выход из while
Können Sie mir sagen, wie ich eine Kurskreuzung mit einer Indikatorlinie berücksichtigen kann?
Der Indikator hat drei Linien: unten, in der Mitte und oben.
Hier ist ein Beispiel:
Wenn der Kurs die obere Linie überquert hat, muss ich diesen Moment fixieren und ihn anschließend verwenden, wenn der Kurs unter der oberen Linie und über der mittleren Linie liegt, und wenn der Kurs unter der mittleren Linie liegt, muss ich das fixierte Ergebnis zurücksetzen. Ich muss mir nicht den Preis merken, zu dem der Crossover stattgefunden hat, ich muss nur ein Häkchen setzen, um anzuzeigen, dass der Crossover stattgefunden hat, und es dann löschen.
Ich habe es mit True und false versucht, es hat nicht funktioniert, ich verstehe nicht warum.
Ich habe dies versucht:
und es funktioniert nicht. Warum nicht? Helfen Sie mir zu verstehen.
Es funktioniert nicht, weil Sie die Variablen, die Sie festschreiben wollen, auf die globale Ebene bringen müssen , d.h. vor der Funktion Start... Zum Beispiel diese und so weiter.... " FiksiruemUp = True; // commit " und "iksiruemUp = False; // reset" Wenn Sie nicht zwischen Zeitrahmenwechseln , sollte es funktionieren...
DC ist fünfstellig...
Was bedeutet es OHNE DoubleToStr(YourPrice,5)? Ich habe DoubleToStr(YourPrice,5) nirgends.
Frage an die Moderatoren - sehr oft schickt mich die Website zur erneuten Autorisierung zurück. Wenn ich versuche, mich anzumelden, wird die Meldung "Ihr Zugriff ist vorübergehend eingeschränkt oder verweigert" angezeigt. Nach ein paar Stunden wird der Zugang wiederhergestellt. Was könnte das Problem sein?
Das homöostatische Universum. Moderatoren können die Autorisierung nicht beeinflussen. Nur dauerhaftes Verbot.
Was ist jetzt zu tun? An wen kann man sich wenden?
Frage an die Moderatoren - sehr oft schickt mich die Website zur erneuten Autorisierung zurück. Wenn ich versuche, mich anzumelden, wird die Meldung "Ihr Zugriff ist vorübergehend eingeschränkt oder verweigert" angezeigt. Nach ein paar Stunden wird der Zugang wiederhergestellt. Was könnte das Problem sein?
Sie werden getrollt))) Sie sind ein charismatischer Mensch))))
Grüße.
Können Sie mir sagen, wie ich eine Kurskreuzung mit einer Indikatorlinie berücksichtigen kann?
Der Indikator hat drei Linien: unten, in der Mitte und oben.
Hier ist ein Beispiel:
Wenn der Kurs die obere Linie überquert hat, muss ich diesen Moment fixieren und ihn anschließend verwenden, wenn der Kurs unter der oberen Linie und über der mittleren Linie liegt, und wenn der Kurs unter der mittleren Linie liegt, muss ich das fixierte Ergebnis zurücksetzen. Ich muss mir nicht den Preis merken, zu dem der Crossover stattgefunden hat, ich muss nur ein Häkchen setzen, um anzuzeigen, dass der Crossover stattgefunden hat, und es dann löschen.
Ich habe es mit True und false versucht, es hat nicht funktioniert, ich verstehe nicht warum.
Ich habe dies versucht:
und es funktioniert nicht. Warum nicht? Helfen Sie mir zu verstehen.
Grüße.
Können Sie mir sagen, wie ich eine Kurskreuzung mit einer Indikatorlinie berücksichtigen kann?
Der Indikator hat drei Linien: unten, in der Mitte und oben.
Hier ist ein Beispiel:
Wenn der Kurs die obere Linie überquert hat, muss ich diesen Moment fixieren und ihn anschließend verwenden, wenn der Kurs unter der oberen Linie und über der mittleren Linie liegt, und wenn der Kurs unter der mittleren Linie liegt, muss ich das fixierte Ergebnis zurücksetzen. Ich muss mir nicht den Preis merken, zu dem der Crossover stattgefunden hat, ich muss nur ein Häkchen setzen, um anzuzeigen, dass der Crossover stattgefunden hat, und es dann löschen.
Ich habe es mit True und false versucht, es hat nicht funktioniert, ich verstehe nicht warum.
Ich habe dies versucht:
und es funktioniert nicht. Warum nicht? Helfen Sie mir zu verstehen.
Es funktioniert nicht, weil Sie die Variablen, die Sie festschreiben wollen, auf die globale Ebene bringen müssen , d.h. vor der Funktion Start... Zum Beispiel diese und so weiter.... " FiksiruemUp = True; // commit " und "iksiruemUp = False; // reset"
Wenn Sie nicht zwischen Zeitrahmenwechseln , sollte es funktionieren...