Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXIV): Основной торговый класс - автоматическая коррекция ошибочных параметров" - страница 2

 

Здравствуйте, эти две подпрограммы работают по-разному, где "Statistical Time Period Buy Loss" может дать желаемый результат, а "Statistical Time Period Sell Loss" дает 0, почему так?

//Статистическая история временного периода убытка одиночного (был закрыт одиночный) номера, lasttime для начала времени

double statistics time period buy loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

for (int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime)

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Loss=Loss+OrderProfit();

Volume=Volume+OrderLots();

}

}

}

}


}

}}

if (as_8 == "общее количество ордеров") return (общее количество ордеров);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

double Statistics Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume = 0;

double Sell Loss = 0; int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

for (int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime)

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Loss=Loss+OrderProfit();

Volume=Volume+OrderLots();

}

}

}

}

}

}}

if (as_8 == "общее количество ордеров") return (общее количество ордеров);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

 

Здравствуйте, эти две подпрограммы работают по-разному, где "Statistical Time Period Buy Loss" может дать желаемый результат, а "Statistical Time Period Sell Loss" дает 0, почему так?

//Статистическая история временного периода потери одного (был закрыт один) номера, lasttime для начала времени

double statistics time period buy loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

for (int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime)

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Loss=Loss+OrderProfit();

Volume=Volume+OrderLots();

}

}

}

}


}

}}

if (as_8 == "общее количество ордеров") return (общее количество ордеров);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

double Statistics Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume = 0;

double Sell Loss = 0; int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

for (int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime)

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Loss=Loss+OrderProfit();

Volume=Volume+OrderLots();

}

}

}

}

}

}}

if (as_8 == "общее количество ордеров") return (общее количество ордеров);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

 
Artyom Trishkin:
OK

Здравствуйте, эти две подпрограммы работают по-разному, где "Statistical Time Period Buy Loss" может получить желаемый результат, в то время как "Statistical Time Period Sell Loss" дает 0, почему так?

//Статистическая история временного периода убытка одиночного (был закрыт одиночный) номера, lasttime для начала времени

double statistics time period buy loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume=0; double buyOrSell=0; double buyOrSell=0; double buyOrSell=0

double buyOrSell=0; int totalOrSell=0; int buyOrSell=0

int TotalOrders=0; int buyOrSell=0; datetime lasttime

for (int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары

{

if (buyOrSell == "buy")

{

if (OrderType() == OP_BUY )

{

if (OrderCloseTime()>lasttime)

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Loss=Loss+OrderProfit();

Volume=Volume+OrderLots();

}

}

}

}


}

}}

if (as_8 == "общее количество ордеров") return (общее количество ордеров);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

double Statistics Session Sell Loss(int 魔号,string buyOrSell, string as_8,datetime lasttime)

{

double Volume = 0;

double Sell Loss = 0; int Total Orders = 0; datetime lasttime

int TotalOrders=0; int buyOrSell=0; datetime lasttime

for (int i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

{

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic Number )// учитываем только текущие соответствующие валютные пары

{

if (buyOrSell == "sell")

{

if (OrderType() == OP_SELL )

{

if (OrderCloseTime()>lasttime)

{

if (OrderProfit()<0)

{

TotalOrders=TotalOrders+1;

Loss=Loss+OrderProfit();

Volume=Volume+OrderLots();

}

}

}

}

}

}}

if (as_8 == "общее количество ордеров") return (общее количество ордеров);

if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss); if (as_8 == "Loss") return (Loss)

if (as_8 == "Volume") return (Volume); return (0.0); if (as_8 == "Loss") return (Loss); if (as_8 == "Volume") return (Volume)


return (0.0);

}

 

Это тема для обсуждения статьи, а не для решения проблем, не связанных с библиотекой, описанной в статье.

Чтобы вставить код в сообщение, нужно использовать комбинацию Alt + S или эту кнопку.


 
Здравствуйте, возможно ли, что эта программа не поддерживает поиск исторических торговых ордеров на продажу?
 
hsyhsy863 :
Здравствуйте, не поддерживает ли программа поиск исторических ордеров на продажу?

И даже многое другое.

 
Здравствуйте, я заметил, что при загрузке пользовательского индикатора и последующем его удалении кнопки не работают, и я не могу заставить его работать. Почему так происходит? Как я могу это исправить?
 
hsyhsy863 :
Здравствуйте, я заметил, что при загрузке пользовательского индикатора и последующем его удалении кнопки не работают, и я не могу заставить его работать. Почему так происходит? Как я могу это исправить?

Во время использования - что?

Какие кнопки не работают?
 
Я хотел бы отправить вам пользовательский индикатор, вы загрузите его и удалите, попробуйте и увидите.
Файлы:
jh720-03-3.ex4  214 kb
 
hsyhsy863:
Я хотел бы отправить вам пользовательский индикатор, загрузите его и удалите, попробуйте и вы поймете.
Здравствуйте, вы нашли проблему, о которой я говорил?