Новая версия MetaTrader 4 Client Terminal build 409 - страница 3

 
kashkarov:

Подскажите пожалуйста в чём причина ??? Не инсталируется новая версия МТ-4 ( с новым инсталяционным значком). Хотя старая версия ( со старым инсталяционным значком) инсталируется нормальною-проверял неоднократно. Операционная система виндовс-ХР сообщает что найдена ошибка

ModVer: 5.0.0.523 Offset: 00013271


Какой SP cтоит? Напишите в Сервисдеск, пожалуйста.
 
Rosh:

Этот порядок расположения?

Да.
 

На мой вопрос, о разных ценах в тиковом окне и окне графика, кто-нибудь может ответить?

Неудобно ведь работать, когда графики и индикаторы строятся по одним ценам, а ордера, стопы и профиты по другим.
Пусть и небольшая разница, 7 пунктов в пятизнаке, но все равно глаза устают.

Да и вообще, на мой взгляд, нонсенс: - четыре цены на графике (два Бида и два Аск) и все разные, запутаешься что куда откладывать.
Тех.поддержка ДЦ разводит руками, это мол динамические расхождения, тики видите-ли слишком быстро меняются. Чушь!

И что делать?

 
Добрый день! Подскажите пожалуйста будет ли работать существующая версия МТ4 mobile на коммуникаторе с операц. системой MS Windows Phone 7 ?
 
Нет, новая версия Windows Phone 7 несовместима со старыми приложениями.
 

Забавно, за три недели три вопроса на одну тему и ни одного ответа.

Модераторы, подскажите в чем причина? Плиз.

 

При удалении большого объема текста за раз MetaEditor выдает сообщение - не хватает буфера для выполнения операции. продолжить? типа, если нажать Да то Undo/Redo не запомнит эту операцию.

я вот подумал, может проблемы с вылетом MetaEditor'a при работе с буфером обмена завязаны как-то на работу с памятью для операций Undo/Redo?

Просто у меня уже год эта проблема (вылет МетаЭдитора при нажатии CTRL+C) и ничего так и не исправлено.

ну можно уже исправить? версия 409. Антивирус (как тут раньше предполагали) вырублен.

 
Ну, хорошо.
А на такой вопрос, я могу получить ответ?

Вот ЛОГ по скрипту, который открывает ордер с рынка, и делает это легко, за три-четыре секунды.
14:45:43 Script alt-SELL EURUSD,M1: loaded successfully
14:45:44 '750000648': instant order sell 0.30 EURUSD at 1.34140 sl: 0.00000 tp: 0.00000
14:45:45 '750000648': request was accepted by server
14:45:45 '750000648': request in process
14:45:47 '750000648': order was opened : #3525645 sell 0.30 EURUSD at 1.34114 sl: 0.00000 tp: 0.00000
14:45:47 Script alt-SELL EURUSD,M1: removed


15:32:15 Script alt-SELL EURUSD,M15: loaded successfully
15:32:16 '750000648': instant order sell 0.30 EURUSD at 1.33830 sl: 0.00000 tp: 0.00000
15:32:17 '750000648': request was accepted by server
15:32:17 '750000648': request in process
15:32:18 '750000648': order was opened : #3527086 sell 0.30 EURUSD at 1.33830 sl: 0.00000 tp: 0.00000
15:32:18 Script alt-SELL EURUSD,M15: removed


Но, иногда зависает на несколько минут и ничем его не удалишь.
В данном случае - удалось "выковырять" через 10 минут.

Ордер он, правда открыл.

17:48:10 Script alt-SELL EURUSD,M5: loaded successfully
17:49:10 '750000648': cannot login [No connection]
17:49:10 Script stdlib EURUSD,M5: loaded successfully
17:50:09 Script alt-SELL EURUSD,M30: loaded successfully
17:50:15 '750000648': order sell 0.30 EURUSD opening at 1.33216 sl: 0.00000 tp: 0.00000 failed [Trade context is busy]
17:50:15 TradeDispatcher: trade context is busy
17:51:09 '750000648': cannot login [No connection]
17:51:09 Script stdlib EURUSD,M30: loaded successfully
17:51:36 Script stdlib EURUSD,M30: removed
17:51:36 Script alt-SELL EURUSD,M30: removed
17:51:47 Script stdlib EURUSD,M5: removed
17:51:47 Script alt-SELL EURUSD,M5: removed
17:58:24 Script alt-SELL EURUSD,M30: loaded successfully
17:58:26 '750000648': instant order sell 0.30 EURUSD at 1.33214 sl: 0.00000 tp: 0.00000
17:58:26 '750000648': request was accepted by server
17:58:26 '750000648': request in process
17:58:39 '750000648': order was opened : #3531711 sell 0.30 EURUSD at 1.33203 sl: 0.00000 tp: 0.00000
17:58:39 Script alt-SELL EURUSD,M30: removed

Я пробовал в таких случаях по-всякому, даже терминал пробовал перезагружать, висит мертво..
ВОПРОС: - в чем возможная причина? Что мне искать?
 
prorab:
Ну, хорошо.
А на такой вопрос, я могу получить ответ?

Я пробовал в таких случаях по-всякому, даже терминал пробовал перезагружать, висит мертво..
ВОПРОС: - в чем возможная причина? Что мне искать?


Трудно сказать, поиск ошибки без исходника еще не сильно удается нам. Но может это поможет - IsStopped?
 
Rosh:

Трудно сказать, поиск ошибки без исходника еще не сильно удается нам. Но может это поможет - IsStopped?

Нет, это есть.

//+------------------------------------------------------------------+
//| alt-SELL.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
// открывает позицию SELL 
// на величину утроенного минимального лота
// в комментарий записывает имя скрипта "alt-SELL"
// 
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
//#property show_confirm

#include <stdlib.mqh>
#include <WinUser32.mqh>
#include <Lite_EXPERT1.mqh>

//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{ 
PlaySound("Blip.wav");
Print (StringConcatenate("(0)*** (", TimeToStr(TimeCurrent(), TIME_SECONDS), 
") ***, цена = (", DoubleToStr(Bid, Digits), "/ ", DoubleToStr(Ask, Digits), ")")); 

double price, Lots = 3*MarketInfo(Symbol(), MODE_MINLOT);
LastTime = 0;

// если терминал с 5-ю знаками
int slippage = 5;
if (Digits == 3 || Digits == 5) slippage *= 10;

//---- открываем позицию
int tick = 0;
int trying = 0;

while ((trying < 5) && !IsStopped()) {
// Проверка на истечение минимального интервала времени
// между двумя торговыми операциями
if (TimeCurrent() < LastTime) continue;

price = NormalizeDouble(MarketInfo(Symbol(), MODE_BID), Digits);
tick = OrderSend(Symbol(), OP_SELL, Lots, price, slippage, 0, 0, "alt-SELL");

// установка паузы между торговыми операциями
int error = GetLastError();
CountLastTime(error);

if (tick > 0) {
Print ("(1)*** Открыт ордер (", tick, ", OP_SELL), Lot=", Lots, 
", цена =", DoubleToStr(Bid, Digits), ", slip=", slippage); 
break;
}

trying++;
Print (StringConcatenate("(", trying, ") попытка открыть ордер <OP_SELL> не удалось", 
", лот=", Lots, ", цена=", DoubleToStr(Bid, Digits), ", slip=", slippage, 
", ошибка =", error, "/", ErrorDescription(error)));
PlaySound("ошибка.wav");
} // end while()

//---- 
Print ("*** (", TimeToStr(TimeCurrent(), TIME_SECONDS), ") *** конец скрипта");
return(0);
}
//+------------------------------------------------------------------+

Функция тоже не виновата, задержать исполнение скрипта на 10 минут ей просто нечем.

//+==================================================================+
//| CountLastTime() function                                         |
//+==================================================================+
void CountLastTime(int Error)
{
//----+
    int TimeCurr = TimeCurrent();

    //---
    switch (Error) {
    case 000:
        LastTime = TimeCurr + 000;
        break;
    case 001:
        LastTime = TimeCurr + 060;
        break;
    case 002:
        LastTime = TimeCurr + 300;
        break;
    case 003:
        LastTime = TimeCurr + 300;
        break;
    case 004:
        LastTime = TimeCurr + 180;
        break;
    case 005:
        LastTime = TimeCurr + 000;
        break;
    case 006:
        LastTime = TimeCurr + 006;
        break;
    case 008:
        LastTime = TimeCurr + 011;
        break;
    case 064:
        LastTime = TimeCurr + 300;
        break;
    case 065:
        LastTime = TimeCurr + 180;
        break;
    case 128:
        LastTime = TimeCurr + 065;
        break;
    case 129:
        LastTime = TimeCurr + 006;
        break;
    case 130:
        LastTime = TimeCurr + 006;
        break;
    case 131:
        LastTime = TimeCurr + 300;
        break;
    case 132:
        LastTime = TimeCurr + 180;
        break;
    case 133:
        LastTime = TimeCurr + 300;
        break;
    case 134:
        LastTime = TimeCurr + 006;
        break;
    case 135:
        LastTime = TimeCurr + 000;
        break;
    case 136:
        LastTime = TimeCurr + 006;
        break;
    case 138:
        LastTime = TimeCurr + 000;
        break;
    case 139:
        LastTime = TimeCurr + 011;
        break;
    case 140:
        LastTime = TimeCurr + 011;
        break;
    case 141:
        LastTime = TimeCurr + 011;
        break;
    case 142:
        LastTime = TimeCurr + 065;
        break;
    case 143:
        LastTime = TimeCurr + 065;
        break;
    case 144:
        LastTime = TimeCurr + 011;
        break;
    case 145:
        LastTime = TimeCurr + 016;
        break;
    case 146:
        LastTime = TimeCurr + 300;
        break;
    case 147:
        LastTime = TimeCurr + 011;
        break;
    case 148:
        LastTime = TimeCurr + 300;
        break;
    default:
        LastTime = TimeCurr + 000;
        break;
    }

//----+
}

Потому и интересуюсь, на что еще обратить внимание?

Вы же видите, я стараюсь везде протоколировать время и цену.