Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 424

 
Здравствуйте всем! Подскажите пожалуйста как выбрать последний закрытый ордер в истории mql4? Использую OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); так он выбирает первый ордер закрытый, а последний то как?
 
Sergei Maksimenko:
Здравствуйте всем! Подскажите пожалуйста как выбрать последний закрытый ордер в истории mql4? Использую OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); так он выбирает первый ордер закрытый, а последний то как?
Вместо 0 нужно подставить OrdersHistoryTotal()-1.
 
new-rena:

Смену бара проще отследить по смене врмени бара а не по ценам бара. В конце алгоритма подвешиваем запоминание текущего времени бара, а в начале - сравниваем с текущим.

К примеру, для бара М5, текущее время будет меняться только в начале бара и через каждые 5 минут....

Тестирование таких программ производится "по ценам открытия", что значительно ускоряет процесс отладки и оптимизации кода.

Так придется выяснять какой сейчас ТФ, делать округление если бар появится не ровно через 5 минут... В моем случае код очень легкий и не обременительный. Может конечно цена открытия не измениться, но можно проверять по сумме прошлых двух баров. В общем не написали Вы о преимуществе Вашего решения - и код приложили бы - для меня было бы понятней - я ж не программист...
 
-Aleks-:
Так придется выяснять какой сейчас ТФ, делать округление если бар появится не ровно через 5 минут... В моем случае код очень легкий и не обременительный. Может конечно цена открытия не измениться, но можно проверять по сумме прошлых двух баров. В общем не написали Вы о преимуществе Вашего решения - и код приложили бы - для меня было бы понятней - я ж не программист...
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
  • www.mql5.com
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
 
Artyom Trishkin:

Спасибо - проще чем я нарисовал себе в уме, прочитав комментарий.

 

Добрый день!

Кто подскажет, как сделать раскрывающееся меню в настройках эксперта?

Вроде того, что на картинке. Спс.


 
Sergei Konoplev:

Добрый день!

Кто подскажет, как сделать раскрывающееся меню в настройках эксперта?

Вроде того, что на картинке. Спс.


Нужно добавить в код свое перечисление.
 
-Aleks-:
Так придется выяснять какой сейчас ТФ, делать округление если бар появится не ровно через 5 минут... В моем случае код очень легкий и не обременительный. Может конечно цена открытия не измениться, но можно проверять по сумме прошлых двух баров. В общем не написали Вы о преимуществе Вашего решения - и код приложили бы - для меня было бы понятней - я ж не программист...
//код в фигурных скобках выполнится только один раз, на открытии каждого нового бара М5

datetime prevTime;

if(prevTime!=iTime(Symbol(),PERIOD_M5,0))
   {
     ...
   }
prevTime=iTime(Symbol(),PERIOD_M5,0);
 

Где ошибка?

void CheckValidStop4(string symbol,double price, double &sl) //функция на проверку близких стопов от цены и его исправление
{
    if(sl==0)
    return;
    
    double severs_min_stop = MarketInfo(symbol,MODE_STOPLEVEL)* MarketInfo(symbol,MODE_POINT);
    if(MathAbs(price - sl)<= severs_min_stop)
    {
        if(price>sl)
             sl = price - severs_min_stop;
       else  sl = sl + severs_min_stop;
       
        
    }
    sl = NormalizeDouble(sl,(int)MarketInfo(symbol,MODE_DIGITS));
}
 
Leanid Aladzyeu:

Где ошибка?

Код ошибки?
Причина обращения: