Форум трейдеров » Торговые роботы, советники, индикаторы » Вопросы программирования
+ Подписаться
Страница 14 из 87 ПерваяПервая ... 412131415162464 ... ПоследняяПоследняя
  1. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Попробуй так, может поможет.. У меня почти так и работает..
    Код:
    start(){
    
    total=OrdersTotal();
    Все Buys=0 Все Sells=0
    for(0,<total,++){...
      select(живой)
      не символ - continue
      if(OrderType()==OP_BUY){Buys++;...проверяем/обрабатываем этот тип ордера
      if(OrderType()==OP_SELL){Sells++;...
      if(OrderType()==OP_BUYSTOP){SBuys++;...
      if(OrderType()==OP_SELLSTOP){SSells++;...
      if(OrderType()==OP_BUYLIMIT){LBuys++;...
      if(OrderType()==OP_SELLLIMIT){LSells++;...
    ....
    }
    if(Buys=0)OpenBuy...//for opening 1 Buy order only
    ....
    ....
    }
  2. 2,008
    Комментарии
    4
    Темы
    2040
    Репутация Pro
     
    Мастер форумных наук

    3 Медалей
    Дали пароль к паму... нашел ошибку... даже догадался почему на обычных счетах работало:)
  3. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от Дмитрий2 Посмотреть сообщение
    Дали пароль к паму... нашел ошибку... даже догадался почему на обычных счетах работало:)
    Димыч, если не секретно, чтоб на те ж грабли потом не наступать - опиши, пожалуйста, что за глюк..
    Меня просто с зимы все всё на эти паммы усадить хотят.. Я упираюсь, пока что, но чел слабб..;)
  4. 2,008
    Комментарии
    4
    Темы
    2040
    Репутация Pro
     
    Мастер форумных наук

    3 Медалей
    Цитата Сообщение от GMT-25 Посмотреть сообщение
    Димыч, если не секретно, чтоб на те ж грабли потом не наступать - опиши, пожалуйста, что за глюк..
    Меня просто с зимы все всё на эти паммы усадить хотят.. Я упираюсь, пока что, но чел слабб..;)
    Если бы была разница с обычным счетом, конечно написал бы. Была обычная ошибка в логике, а на паме еще другой советник работал,из-за этого и разница была..., а на проверяемых обычных счетах нет... А поставить еще какой-нибудь советник недогадался, так как во первых раньше все нормально было, потом логику сопровождения ордеров правил и ошибочка вышла, сразу не заметил(без другого советника работало), а во вторых все таки на памм подозревал что чем-то отличается, хотя и сказали что нет...:)
    Короче в паме разница только в балансе
  5. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от Дмитрий2 Посмотреть сообщение
    Если бы была разница с обычным счетом, конечно написал бы. Была обычная ошибка в логике, а на паме еще другой советник работал,из-за этого и разница была..., а на проверяемых обычных счетах нет... А поставить еще какой-нибудь советник недогадался, так как во первых раньше все нормально было, потом логику сопровождения ордеров правил и ошибочка вышла, сразу не заметил(без другого советника работало), а во вторых все таки на памм подозревал что чем-то отличается, хотя и сказали что нет...:)
    Короче в паме разница только в балансе
    Дим, спасибо.. Но, право, извини, сильно удивился - кто ж на ПАММе хозяин - традер+его советники или еще другой советник?
  6. 2,008
    Комментарии
    4
    Темы
    2040
    Репутация Pro
     
    Мастер форумных наук

    3 Медалей
    Цитата Сообщение от GMT-25 Посмотреть сообщение
    Дим, спасибо.. Но, право, извини, сильно удивился - кто ж на ПАММе хозяин - традер+его советники или еще другой советник?
    Трейдер+его советник, ну а мне пароль просто давали, что бы я смог понять в чем дело и исправить ошибку в своем советнике(для него)
  7. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от Дмитрий2 Посмотреть сообщение
    Трейдер+его советник, ну а мне пароль просто давали, что бы я смог понять в чем дело и исправить ошибку в своем советнике(для него)
    Дим, т.е. дырка всё ж в советнике была? ПАММ только помог?
  8. 2,008
    Комментарии
    4
    Темы
    2040
    Репутация Pro
     
    Мастер форумных наук

    3 Медалей
    Цитата Сообщение от GMT-25 Посмотреть сообщение
    Дим, т.е. дырка всё ж в советнике была? ПАММ только помог?
    ну да, я же написал, что нашел ошибку(я имел ввиду у себя:))
  9. 5,973
    Комментарии
    10
    Темы
    5318
    Репутация Pro
    Аватар для leonid553  
    Старожил

    6 Медалей
    Добрый день.
    Пож. подскажите. Вот код Входа стандартного ЗАМОНТИРОВАННОГО советника из МТ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);
    Пож. подскажите, кто знает - в чем дело?
  10. 209
    Комментарии
    7
    Темы
    209
    Репутация Pro
     
    В начале пути

    3 Медалей
    Цитата Сообщение от leonid553 Посмотреть сообщение
    Добрый день.

    .....
    Пож. подскажите, кто знает - в чем дело?
    В Броко-Инвестор ордера выполняются без возможности одновременной установки SL и TP, то есть надо смотреть как работает WHCOrderSend

    res=WHCOrderSend(_Symbol,OP_BUY,Lots(),_AZK,10,SL, TP,
    "Moving Average 3",MAGIC,0,Blue);

    Скорее всего именно там проблема.

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

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