Wenn z.B. 10 Jahre lang der Gewinn auf einem Handelskonto 500% beträgt (die Zahlen sind fiktiv). Wie lässt sich der durchschnittliche Jahresgewinn berechnen, wobei auch zu berücksichtigen ist, dass alle Gewinne reinvestiert werden? Ich danke Ihnen!
frixer: Hallo zusammen, frohes neues Jahr. Ich kann keine Möglichkeit finden, einen Auftrag nur einmal zu erteilen, wenn die Bedingung erfüllt ist, nach der der Auftrag erteilt wird, dann, wenn es einen Auftrag für das zweite Mal wird es nicht erteilt werden. Ich möchte Ihnen ein Beispiel geben.
Wenn z.B. 10 Jahre lang der Gewinn auf einem Handelskonto 500% beträgt (die Zahlen sind fiktiv). Wie lässt sich der durchschnittliche Jahresgewinn berechnen, wobei auch zu berücksichtigen ist, dass alle Gewinne reinvestiert werden? Ich danke Ihnen!
Die Quadratwurzel aus 6, dann 1 subtrahieren und mit 100 multiplizieren. Sie erhalten 19,62 % pro Jahr.
Ich habe es gelesen, aber es funktioniert nicht mit meinem Algorithmus und ich habe immer noch Aufträge auf jedem Tick.
//+------------------------------------------------------------------+//| trade v1.mq4 |//| |//| frixer@yandex.ru |//+------------------------------------------------------------------+//--- input parameters//extern int Время;//extern int Input;//extern int SL;//extern int TP;//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
//----//----return(0);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//----//----return(0);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
//----int bars = 9; // количество баровint gmt = 16; // время входаdoubleinput = 0.0010; // вход на рынокdouble sl = 100; // уровень SL от высоты коробки в %double tp = 100;
int lot=1;
int topOrder,bottomOrder;
if (Hour()==gmt) // проверяем свечу
{
double Shift_high = iHighest(NULL,PERIOD_H1,MODE_HIGH,bars,0); //поиск бара с максимальной ценой из bars начиная с 0-го бараdouble Shift_low = iLowest (NULL,PERIOD_H1,MODE_LOW ,bars,0); //поиск бара с минимальной ценой из bars начиная с 0-го бараdouble Price_high = iHigh (NULL,PERIOD_H1,Shift_high); // присвоение переменной максимального значение ценыdouble Price_low = iLow (NULL,PERIOD_H1,Shift_low); // присвоение переменной минимального значение ценыdouble Hinput = Price_high + input; // вверхняя граница входаdouble Linput = Price_low - input; // нижняя граница входаdouble height_box = Price_high - Price_low; // высота коробки barsdouble volumeSL = height_box / 100 * sl; // уровень SL зависит от %
topOrder=OrderSend(Symbol(),OP_BUYSTOP,lot,Hinput,3,Price_high-(height_box/100*sl),Price_high+(height_box/100*tp),"BUY",16384,0,Green);
if (topOrder<0)
{
Print("Верхний ордер ошибка #", GetLastError());
return(0);
}
}
//----return(0);
//----return(0);
}
//+------------------------------------------------------------------+
Ich habe es auf diese Weise versucht (mein Freund hat mir dazu geraten), aber es funktioniert nicht.
int Orerov=0;
int Orderov_all = OrdersTotal(); // всего ордеров в терминалеfor (int n = 0;n<Orderov_all;n++) // начало цикла перебора ордеров
{
if(OrderSelect(n,SELECT_BY_POS)==TRUE) // выбран первый в списке ордерif(Comm == OrderComment()) // условие совпадения комментария
{
Tip= OrderType(); // тип
Cena=NormalizeDouble(OrderOpenPrice(),4); // цена
Ticket= OrderTicket(); // тикет
Stop=NormalizeDouble(OrderStopLoss(),4); // стоп-лосс
LOT=NormalizeDouble(OrderLots(),1); // размер лота
Orderov=1; //
}
}
frixer: Hallo zusammen, frohes neues Jahr. Ich kann eine Bestellung nicht nur einmal aufgeben, wenn die Bedingung erfüllt ist, nach der die Bestellung aufgegeben wird, brauche ich sie dann, wenn es eine Bestellung zum zweiten Mal gibt, wird sie nicht aufgegeben. Wenn Sie ein Beispiel nennen können.
if (OrdersTotal() > 0) {
return(0);
}
// Если установлен хоть один ордер, то никакой код после этого комментария уже не выполнится
Das Hauptproblem ist, dass iBars keine Preise für andere Zeiträume als den aktuellen lädt...
alle MQL-Tricks wie IndicatorCounted und RefreshRates
funktionieren nur für die aktuelle Periode, d.h. iBars entnimmt die Historie und die Historie wird nur geladen, wenn man die Periode im Chart ändert. Was ist zu tun? Verfügt MQL über ein Werkzeug zum Laden von Balken anderer Zeiträume (anders als der aktuelle) im Hintergrund?
Das Hauptproblem ist, dass iBars keine Preise für einen anderen Zeitraum als den aktuellen lädt...
Ihr Hauptproblem ist, dass iBars nicht die Preise lädt, sondern die Anzahl der bekannten Balken für einen bestimmten Zeitraum. Und wie ich soeben überprüft habe, funktioniert es sowohl im Tester als auch in der Karte ganz korrekt.
Wenn z.B. 10 Jahre lang der Gewinn auf einem Handelskonto 500% beträgt (die Zahlen sind fiktiv).
Wie lässt sich der durchschnittliche Jahresgewinn berechnen, wobei auch zu berücksichtigen ist, dass alle Gewinne reinvestiert werden?
Ich danke Ihnen!
Hallo zusammen, frohes neues Jahr. Ich kann keine Möglichkeit finden, einen Auftrag nur einmal zu erteilen, wenn die Bedingung erfüllt ist, nach der der Auftrag erteilt wird, dann, wenn es einen Auftrag für das zweite Mal wird es nicht erteilt werden. Ich möchte Ihnen ein Beispiel geben.
Das Beispiel aus dem Lehrbuch ist Ihr Fall.
Wenn z.B. 10 Jahre lang der Gewinn auf einem Handelskonto 500% beträgt (die Zahlen sind fiktiv).
Wie lässt sich der durchschnittliche Jahresgewinn berechnen, wobei auch zu berücksichtigen ist, dass alle Gewinne reinvestiert werden?
Ich danke Ihnen!
Das Beispiel aus dem Lernprogramm ist Ihr Fall.
Ich habe es gelesen, aber es funktioniert nicht mit meinem Algorithmus und ich habe immer noch Aufträge auf jedem Tick.
Ich habe es auf diese Weise versucht (mein Freund hat mir dazu geraten), aber es funktioniert nicht.
Hallo zusammen, frohes neues Jahr. Ich kann eine Bestellung nicht nur einmal aufgeben, wenn die Bedingung erfüllt ist, nach der die Bestellung aufgegeben wird, brauche ich sie dann, wenn es eine Bestellung zum zweiten Mal gibt, wird sie nicht aufgegeben. Wenn Sie ein Beispiel nennen können.
Die Wurzel aus der zehnten Potenz von 6, dann subtrahiere 1 und multipliziere mit 100. Wir erhalten 19,62 % pro Jahr.
Ich danke Ihnen!
Wie auch immer, hier ist die Frage,
Ich habe einen Mehrperioden-Indikator.
Um die Berechnungen zu optimieren, verwende ich die folgende Schleife
// TimeFrames[i] массив с периодами
for (i=0; i<NumTimeFrames; i++)
{if (total_bars[i] != iBars(instrument, TimeFrames[i]) )
{
// тут вычисления индиктора
total_bars[i] = iBars(instrument, TimeFrames[i]);
}
}
Das Hauptproblem ist, dass iBars keine Preise für andere Zeiträume als den aktuellen lädt...
alle MQL-Tricks wie IndicatorCounted und RefreshRates
funktionieren nur für die aktuelle Periode, d.h. iBars entnimmt die Historie und die Historie wird nur geladen, wenn man die Periode im Chart ändert. Was ist zu tun? Verfügt MQL über ein Werkzeug zum Laden von Balken anderer Zeiträume (anders als der aktuelle) im Hintergrund?
p.s. Ich hoffe, ich schweife nicht ab ((Das Hauptproblem ist, dass iBars keine Preise für einen anderen Zeitraum als den aktuellen lädt...