Форум трейдеров » Торговые роботы, советники, индикаторы » Вопросы программирования
+ Подписаться
Страница 15 из 87 ПерваяПервая ... 513141516172565 ... ПоследняяПоследняя
  1. 5,973
    Комментарии
    10
    Темы
    5318
    Репутация Pro
    Аватар для leonid553  
    Старожил

    6 Медалей
    Нет. Проблема вовсе не здесь. Ведь в броко-трейдер все работает нормально.
    А ф-я WHCOrderSend как раз и адаптирует открытие в условиях рыночного исполнения торговых заявок Market Execution.
    PHP код:
    //Функция предусмотрена Для открытие позиций в условиях рыночного 
    //исполнения торговых заявок Market Execution
    int WHCOrderSend(string symbol,   int cmd,     double volume,
                     
    double priceint slippagedouble stoploss
                     
    double takeprofitstring comment,int magic
                     
    datetime expiration,      color arrow_color)
    {  
    int ticket =  OrderSend(symbol,cmd,               volumepriceslippage00,
       
    commentmagic,                                        expirationarrow_color);   
       
    int check = -1;   if (ticket && (stoploss != || takeprofit != 0))        {
       if (!
    OrderModify(ticketpricestoplosstakeprofit,expirationarrow_color)) {
       
    check GetLastError();                             if (check != ERR_NO_ERROR) {
       Print(
    "OrderModify error: "ErrorDescription(check)); } }              } else {
       
    check GetLastError();                              if (check != ERR_NO_ERROR){
       Print(
    "OrderSend error: ",ErrorDescription(check));  } }   return (ticket);    } 
    Да и ошибку 130 журнал не возвращает. Ошибок вообще нет в журнале.
    Кроме того, по любому - линия индикатора МА должна отрисовываться на графике после окончания теста.
    А её там нет.
  2. 1,374
    Комментарии
    11
    Темы
    1377
    Репутация Pro
    Аватар для Koleg  
    Мастер форумных наук

    5 Медалей
    По моему единственный вариант, раз при компиляции не ругается на iMA, то необходимо проверять параметры, у тебя везде подстановочный символ - либо какой-то, объявлен, но не задан, либо может какойто берётся из других вычислений/условий некорректно...
  3. 1,247
    Комментарии
    16
    Темы
    1241
    Репутация Pro
    Аватар для Boyarko Aleksandr  
    Мастер форумных наук

    5 Медалей
    Господа программисты подскажите скрипт. для броко инвестор
    нужен скрипт - навел на график, по рыночной текущей цене открылась позиция с определенным объемом и заданным стопом.
    все очень просто и быстро...
    Желательно корткий без примудростей чтобы быстро срабатывал.
    А то на сайте MQL4 хлама много и наворотов тоже - и звуковое споровождение сделки и цветовое, и еще какая-нибудь "хрень"
    С уважением...
  4. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от boyark Посмотреть сообщение
    Господа программисты подскажите скрипт. для броко инвестор
    нужен скрипт - навел на график, по рыночной текущей цене открылась позиция с определенным объемом и заданным стопом.
    все очень просто и быстро...
    Желательно корткий без примудростей чтобы быстро срабатывал.
    А то на сайте MQL4 хлама много и наворотов тоже - и звуковое споровождение сделки и цветовое, и еще какая-нибудь "хрень"
    С уважением...
    Это нужно вот в эту ветку постить http://www.procapital.ru/showthread.php?t=380.

    Тут больше обсуждения конкретных нюансов в советниках
  5. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от boyark Посмотреть сообщение
    Господа программисты подскажите скрипт. для броко инвестор
    нужен скрипт - навел на график, по рыночной текущей цене открылась позиция с определенным объемом и заданным стопом.
    все очень просто и быстро...
    Желательно корткий без примудростей чтобы быстро срабатывал.
    А то на сайте MQL4 хлама много и наворотов тоже - и звуковое споровождение сделки и цветовое, и еще какая-нибудь "хрень"
    С уважением...
    Скрипт - как правило (as well) - штука без настроек.. Отписать - проблем нет..
    Но ить как работать будет.....

    Иль нужен живой код, а не ехе-ха?
  6. 605
    Комментарии
    9
    Темы
    609
    Репутация Pro
    Аватар для commersant  
    В начале пути

    3 Медалей
    Цитата Сообщение от boyark Посмотреть сообщение
    Господа программисты подскажите скрипт. для броко инвестор
    нужен скрипт - навел на график, по рыночной текущей цене открылась позиция с определенным объемом и заданным стопом.
    все очень просто и быстро...
    Желательно корткий без примудростей чтобы быстро срабатывал.
    А то на сайте MQL4 хлама много и наворотов тоже - и звуковое споровождение сделки и цветовое, и еще какая-нибудь "хрень"
    С уважением...
    Могу предложить платный.
  7. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от commersant Посмотреть сообщение
    Могу предложить платный.
    Борис, он.. у-вы.. всё равно не сможет брать параметры...;)
  8. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от leonid553 Посмотреть сообщение
    Добрый день.
    Пож. подскажите. Вот код Входа стандартного ЗАМОНТИРОВАННОГО советника из МТ4 (советник Moving Average)

    PHP код:
    void CheckForOpen() {//Ф-Я открытия позиций
    double maint res;

    if(
    Volume[0]>1) return;

    ma=iMA(NULL,0,MovingPeriod_Open,MovingShift,MODE_S MA,PRICE_CLOSE,0);
    //---- sell conditions
    if(Open[1]>ma && Close[1]<ma) {
    SL=0;TP=0;
    if(
    StopLoss>0SL=Bid+Point*StopLoss;
    if(
    TakeProfit>0TP=Bid-Point*TakeProfit
    res=WHCOrderSend(Symbol(),OP_SELL,LotsOptimized(), Bid,3,SL,TP,
    "Moving Average",MAGICMA,0,Red);
    if(
    res 0){Print("Ошибка открытия ордера SELL #"GetLastError()); 
    Sleep(10000); return (0); }
    }

    //----

    В таком виде все работает нормально. Но если я вношу изменения для мультивалютного варианта, :
    PHP код:
    void CheckForOpen(//Ф-Я открытия позиций
    string _Symbol,
    int MAGIC,
    double _BID
    double _AZK 
    double _Point,
    int StopLoss
    int TakeProfit,
    int TF
    int MovingPeriod_Open,
    int MovingShift )

    double maint res;
    if(
    iVolume(_Symbol,TF,0)>1) return;
    //---- Задаем параметры МА для открытия позиции ---------------------------
     
    ma=iMA(_Symbol,TF,MovingPeriod_Open,MovingShift,MODE_SMA,PRICE_CLOSE,0);
    //---- Проверяем условия на продажу --------------------------------------
    if(iOpen(_Symbol,TF,1)<ma && iClose(_Symbol,TF,1)>ma){// продаем
    SL=0;TP=0;
    if(
    StopLoss>0SL=_AZK-_Point*StopLoss;
    if(
    TakeProfit>0TP=_AZK+_Point*TakeProfit
    res=WHCOrderSend(_Symbol,OP_BUY,Lots(),_AZK,10,SLTP,
    "Moving Average 3",MAGIC,0,Blue);
    if(
    res 0) { Print("Ошибка открытия ордера BUY #"GetLastError()); 
    Sleep(10000); return (0); }
    }
    //----
    }//-------- конец функции открытия позиций 
    То функция перестает работать !
    Перестает работать именно в мт4 БРОКО-ИНВЕСТОР. !!!!!!!!!!
    Хотя в мт4 БРОКО-ТРЕЙДЕР работает нормально!
    И в мт4 др. ДЦ тож нормально. (Напр. в Альпари, - там тож пятизнак)
    Задаю параметры так:
    PHP код:
    extern string ___1___ " ---- Параметры первого инструмента ---- "
    extern bool SYMBOL_1 =true;
    extern string Symbol_1 "EURUSD_FX";
    extern int StopLoss_1 =390;
    extern int TakeProfit_1 =500;
    extern double MovingPeriod_Open1 13;
    extern double MovingShift_1 1;
    extern int TimeFR_1 =60;
    //----------------------------------------------------- 
    Более того! Ошибок журнал не возвращает. А линия индикатора МА после окончания теста на графике не отрисовывается!
    Т.е. нет её, и значит нет сигнала....
    Значит, глючтит , видимо здесь
    ma=iMA(_Symbol,TF,MovingPeriod_Open,MovingShift,MO DE_SMA,PRICE_CLOSE,0);
    Пож. подскажите, кто знает - в чем дело?
    Непонятно, откуда берётся переменная _Symbol - а эт важно, где и как она определяется..
  9. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от EQU Посмотреть сообщение
    Непонятно, откуда берётся переменная _Symbol - а эт важно, где и как она определяется..
    как это не понятно?
    задается при вызове процедуры:
    void CheckForOpen(//Ф-Я открытия позиций
    string _Symbol
    ,
    int MAGIC
    ,
    double _BID
    ,
    double _AZK
    ,
    double _Point
    ,
    int StopLoss
    ,
    int TakeProfit
    ,
    int TF
    ,
    int MovingPeriod_Open
    ,
    int MovingShift
    )
  10. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от zerkmax Посмотреть сообщение
    как это не понятно?
    задается при вызове процедуры:
    void CheckForOpen(//Ф-Я открытия позиций
    string _Symbol

    ....
    [/COLOR]
    Точно, вопрос неправильно сформулировал..
    Надо так..
    как формируется _текущее_значение_ переменной _Symbol

    Когда я с мультиками баловался, рабочая пара у меня получалась сложением элементов массива A[]="EUR","USD","GBP"... ... ...
    Примерно так
    Пара=A[0]+A[1]...
    Что интересно, пара A[1]+A[0] тоже работала!! По обратным ценам!!!!
    Но в БрокоИнвесте я эт не проверял

    А для контроля того, что в функцию открытия попадает, можно прописать чтот простенькое типа
    for(each MySymbol) Comment("#",_Symbol,"#",iOpen.......)
    ### - для контроля пробелов
    и не забыть, что Symbol штука регистрозависимая

Вверх
РегистрацияX

чтобы писать, читать, комментировать