[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 93

 
Roll:
Цель вопроса? Личное мнение: какие бы нормы, правила, общественное мнение не существовали по какому-либо вопросу для алгоритма кода (пользователей кода) приоритетное значение имеет субъективное мнение автора (ов) данного кода, независимо от "правильности".
Цель вопроса - какие наиболее значимые свечные модели, допустим для разворота тренда или для продолжение тренда?
 
first_may:
Цель вопроса - какие наиболее значимые свечные модели, допустим для разворота тренда или для продолжение тренда?

Нужен список литературы?
 
Roll:

Нужен список литературы?

Литература в которой будут указаны наиболее важные модели? А книга Моррис Г. Японские свечи не подходит для этого?
 

Добрый день, подскажите что нужно дописать в код из советника, что бы на экране информация, которая выводится в квадрат, не искажалась бы (например графиком или иными линиями), то есть была бы на первом плане и не просвечивалась. Заранее спасибо.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Flag-1", "g", 154, "Webdings");
ObjectSet("Flag-1", OBJPROP_CORNER, 0);
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6);
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4);
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray);
ObjectSet("Flag-1", OBJPROP_BACK, false);

 
sergeev:

Тестирование стратегий. MT4. MQL4



1
1billionbaks 16.08.2011 13:26

Здравствуйте.

Интересует такой вопрос. Как подгрузить и потестить наиболее правдоподобно советников и индикаторов на большом промежутке времени.


Правдоподобно - только на демо и на разных валютных парах! Тестер стратегий дает совершенно немыслимые результаты.
 
bercut0077:

Добрый день, подскажите что нужно дописать в код из советника, что бы на экране информация, которая выводится в квадрат, не искажалась бы (например графиком или иными линиями), то есть была бы на первом плане и не просвечивалась. Заранее спасибо.

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Flag-1", "g", 154, "Webdings");
ObjectSet("Flag-1", OBJPROP_CORNER, 0);
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6);
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4);
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray);
ObjectSet("Flag-1", OBJPROP_BACK, false);


Если получится, то напиши как сделал
 

Доброе время суток. ПОМОГИТЕ ПОЖАЛУЙСТА ТЕСТЕР НЕМОГУ ЗАПУСТИТЬ: Например работаю советником 1.6 илан и 18, открываю ордера торгует но потихоньку идет в минус хочу тестировать,виставляю м5 валюная пара евро-долар задаю параметры и нажымаю старт зелёная полоса медленно продвигается в перёд. Но ничего немогу увидеть все страници просто белие . никаких результатов невижу даже график пустой но пишет эрор 131 подскажыте мне пожалуйста я только начал изучать. Работаю с форекс4ю,примного благодарен Игорь. И как правильно устанавливать стоплосс

 

Добрый день!! Опять, наверно, туплю. Вирнулся к удалению всех ордеров. Не помню точно, что я там месяц назад чудил.Слепил из кусков нового советника, мож потом ему мартин прикручу (напишу).

Короче, не удаляит он ордера,ну никак. Собствинно, не выпалняецца цикл фор.Вот

//----  


 // Alert ("ОсталосььOrdersTotal()", OrdersTotal());
    j=-1;
 for ( i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (wremjapomnim<OrderCloseTime()) {
                wremjapomnim=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         // Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
           OrderSelect(i, SELECT_BY_POS );
              if (  OrderType( )==OP_BUY && OrderType( )==OP_SELL ){
                          OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);
   Alert ("OrderClose-vse-2",  GetLastError( ) ); C=0;A=1; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);    
         OrderSelect(i, SELECT_BY_POS );
           if (  OrderType( )==OP_BUYSTOP && OrderType( )==OP_SELLSTOP ){ 
            OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse-2",  GetLastError( ) ); }}    CloseAll();
         }
      }
//----


   return(0);
  }
//+------------------------------------------------------------------+


//+ -----------------------------------------------------------------+

      
//+------------------------------------------------------        



//+------------------------------------------------------------------+
// Закрываем все ордера                                              |
//+------------------------------------------------------------------+
void CloseAll()
{
 int ticket, i;
 while(OrdersTotal()>0) {
  for(i=OrdersTotal()-1;i>=0;i--){
   OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()<2){
     if(OrderType()==OP_BUY) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Bid,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
     if(OrderType()==OP_SELL) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Ask,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
    }    
  }
 }   
}
//+ -----------------------------------------------------------------+
В журнал все пишет нармально до цикла фор, в журнал никогда не попадает запись
Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
также и цикл где
for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);

также и функция нифига ни удаляит... Помогите!!!!Пожалста!! 40 мин тупо смотрю на фор..

Где же я баран???

 
можно ли скачать индикатор для волн зллиота
 

2Dimka-novitsek

по void CloseAll()

ticket=OrderClose

Тикет целый тип, OrderClose булевой... лучше так не делать.

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

по остальному

Первый фор насколько понял ищет последний закрытый ордер по тикету и символу.

for ( i=0; i<OrdersTotal(); i++)

для закрытия лучше перебирать в обратном порядке, причину я думаю объяснять не надо.

if ( OrderType( )==OP_BUY && OrderType( )==OP_SELL )

Ну конечно ордер может быть одновременно на покупку и на продажу, но я бы поставил ||

(OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))

Вот перед этой бы строчкой я бы алертом выводил j, это многое бы прояснило, а также бы задумался над условием

if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point)

Рекомендую уточнить кто такой поинт и почему он умножается на 0,5?

Причина обращения: