포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 448

 
Forexman77 :
이것을 구현하는 방법은 대략 어떻습니까? 다른 기능을 탐구한 것 같지만 주문과 배열에 대해서는 아직 이해가 잘 가지 않습니다.

어쩐지 아마

 // Учёт ордеров
   Symb= Symbol ();                               // Название фин.инстр.
   Total= 0 ;                                     // Количество ордеров
   int Ticket[ 5 ];
   ArrayInitialize (Ticket, 0 );
   for ( int i= 1 ; i<= OrdersTotal (); i++)           // Цикл перебора ордер
     {
       if ( OrderSelect (i- 1 , SELECT_BY_POS )== true ) // Если есть следующий
        {                                       // Анализ ордеров:
         if ( OrderSymbol ()!=Symb) continue ;       // Не наш фин. инструм
         if ( OrderType ()> 1 )                     // Попался отложенный
           {
             Alert ( "Обнаружен отложенный ордер. Эксперт не работает." );
             return ;                             // Выход из start()
           }
         Total++;                               // Счётчик рыночн. орд
         if (Total> 5 )                           // Было не более одного орд, стало не более пяти
           {
             Alert ( "Несколько рыночных ордеров. Эксперт не работает." );
             return ;                             // Выход из start()
           }
         Ticket[Total- 1 ]= OrderTicket ();                   // Номер выбранн. орд.
         Tip   = OrderType ();                     // Тип выбранного орд.
         Price = OrderOpenPrice ();               // Цена выбранн. орд.
         SL    = OrderStopLoss ();                 // SL выбранного орд.
         TP    = OrderTakeProfit ();               // TP выбранного орд.
         Lot   = OrderLots ();                     // Количество лотов
        }
     }
   // Открытие ордеров
   while ( true )                                   // Цикл закрытия орд.
     {
       if (Total < 5 && Opn_B== true )     // Открытых орд. нет +. Было Total < 1, стало Total < 5
        {                                       // критерий откр. Buy
         RefreshRates ();                         // Обновление данных
         SL= Bid - New_Stop(StopLoss)* Point ;     // Вычисление SL откр.
         TP= Bid + New_Stop(TakeProfit)* Point ;   // Вычисление TP откр.
         Alert ( "Попытка открыть Buy. Ожидание ответа.." );
         Ticket= OrderSend (Symb, OP_BUY ,Lts, Ask , 2 ,SL,TP); //Открытие Buy
         if (Ticket > 0 )                         // Получилось :)
           {
             Alert ( "Открыт ордер Buy " ,Ticket);
             return ;                             // Выход из start()
           }
         if (Fun_Error(GetLastError())== 1 )       // Обработка ошибок
             continue ;                           // Повторная попытка
         return ;                                 // Выход из start()
        }
   // Закрытие ордеров
       if (Tip== 0 && Cls_B== true )                 // Открыт ордер Buy и есть критерий закр
        {
           for (i= 0 ;i< 5 ;i++)                             
          {
            if (Ticket[i]== 0 ) continue ;           

             Alert ( "Попытка закрыть Buy " ,Ticket[i], ". Ожидание ответа.." );
             RefreshRates ();                         // Обновление данных
         
            Ans= OrderClose (Ticket[i],Lot, Bid , 2 );       // Закрытие Buy

             if (Ans== true )                         // Получилось :)
            {
               Alert ( "Закрыт ордер Buy " ,Ticket[i]);
            }

             if (Fun_Error(GetLastError())== 1 )       // Обработка ошибок
            {
               i--;
               continue ;                           // Повторная попытка
            }

         }
 
Vitek2010 :
아니, 그렇지 않습니다. 나는 설명할 것이다 - 당신의 포럼은 프로거의 마지막 글을 읽을 수 있는 요새에 대한 희망과 같습니다. 크기 삽입 - 이것이 바로 이 철자가 보는 방식입니다. PERIOD_W1이지만 크기를 사용하거나 날짜 형식으로 고정된 기준점을 사용하면 원하는 효과가 없습니다. 그래서 특정 개념을 삽입하는 것에 대한 특정 질문을 작성했습니다 - 금요일 - 그런데 코드가 컴파일되지 않고 '버전' - 알 수 없는 속성( "버전" - 알 수 없는 속성)이라고 표시되어 있으므로 방법을 모르는 경우 DayOfWeek와 숫자 5(금요일 숫자)를 삽입 하려면 다른 옵션을 제공한 코드가 도움이 되지 않습니다.


그러니 말하지마

파일:
vitek2010.mq4  2 kb
 

좋은 오후에요 여러분. 불행히도 표시기를 게시하고 있습니다. 이 표시기는 제 시간에 화살표를 그리지 않고 정지하지만 차트를 업데이트할 때만 표시됩니다... 다른 TF로 전환합니다.

누군가가 각 양초가 끝날 때 자체적으로 표시기를 업데이트하도록 할 수 있다면... 양초가 닫히기 5-10초 전에 가정해 봅시다. 아니면 이 문제를 해결할 다른 방법이 있습니까?

미리 감사드립니다.

파일:
 
Vinin :


그러니 말하지마


표시기가 삽입됩니다. 그것이 무엇을 보여주는지는 분명하지 않다. 내 버전에는 이전 운동의 계속 또는 변경을 위한 조건이 있었습니다. 즉, 0선 아래 및 위 모두입니다. 모든 것이 당신을 위해 더 높으며 모든 주 동안 이것이 전부는 아닙니다. 기본(내) 버전에서 벗어나 무언가를 단순화할 필요가 없습니다. 내 지표를 기반으로 해야 합니다. 감사합니다.
 
alsu :

어쩐지 아마


나는 라인을 넣어
 int Ticket[ 5 ];
ArrayInitialize (Ticket, 0 );

int 티켓 대신; 오류가 나옵니다.

'=' - 배열에 왼쪽 대괄호가 필요함('=' - 배열에 왼쪽 대괄호가 필요함)

'>' - 배열에 필요한 왼쪽 대괄호

'>' - 예기치 않은 토큰('>' - 예기치 않은 토큰)

')' - 할당 예상(')' - 할당 예상 )

'continue' - 일부 주기 내에서만 사용되는 '중단' 또는 '계속'

그리고 훨씬 더.

 

고문이 무한한 수의 주문을 여는 이유, 해결을 도와주세요.

고맙습니다

외부 이중 tp = 100;
외부 이중 l = 0.1;




정수 시작()
{
// 1.3600
if(OrderMagicNumber() ==1 >0){반환;}
또 다른
{
OrderSend("EURUSD",OP_BUYLIMIT,l,1.36000,5,0,1.36000+tp*Point,"내 주문",1);
OrderSend("EURUSD",OP_BUYSTOP,l,1.36000,5,0,1.36000+tp*Point,"내 주문",1);
}
if(OrderMagicNumber() ==2 >0){반환;}
또 다른
{
OrderSend("EURUSD",OP_SELLLIMIT,l,1.36000,5,0,1.36000-tp*포인트,"내 주문",2);
OrderSend("EURUSD",OP_SELLSTOP,l,1.36000,5,0,1.36000-tp*포인트,"내 주문",2);
}
반품;
}

 
addict :

고문이 무한한 수의 주문을 여는 이유, 수정을 도와주세요.

고맙습니다

외부 이중 tp = 100;
외부 이중 l = 0.1;




정수 시작()

추가 if(OrdersTotal()==0)




// 1.3600
if(OrderMagicNumber() ==1 >0){반환;}
또 다른
{
OrderSend("EURUSD",OP_BUYLIMIT,l,1.36000,5,0,1.36000+tp*Point,"내 주문",1);
OrderSend("EURUSD",OP_BUYSTOP,l,1.36000,5,0,1.36000+tp*Point,"내 주문",1);
}
if(OrderMagicNumber() ==2 >0){반환;}
또 다른
{
OrderSend("EURUSD",OP_SELLLIMIT,l,1.36000,5,0,1.36000-tp*포인트,"내 주문",2);
OrderSend("EURUSD",OP_SELLSTOP,l,1.36000,5,0,1.36000-tp*포인트,"내 주문",2);
}
반품;
}

 
denis77515 :

추가 if(OrdersTotal()==0)

구매 주문이 하나 열리지만 다시 주문할 수 있는 주문의 수는 무한합니다.
 

안녕하세요.

나는 이것이 어떻게 일어나는지 이해하지 못한다.

03:00:24 '9473965': 주문 매도 0.01 GBPUSD 0.00000 sl: 1.65314 tp: 0.00000 실패 [잘못된 S/L 또는 T/P]

이 코드로

 RefreshRates ();
tick= OrderSend ( Symbol (), OP_SELL ,Lot, NormalizeDouble ( Bid , Digits ), 30 ,ssll, 0 ,CMM,MAGIC, 0 ,Blue);
     
시가가 0인 이유
 

안녕하세요.

그러한 기능을 만드는 데 도움을 줄 수 있습니까?

마지막으로 알려진 서버 시간 (TimeCurrent())에서 특정 날짜의 첫 번째 막대 열기(TimeDay(Time[80])까지 현재 차트의 막대는 몇 개 입니까 ?

미리 감사합니다!