[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 529

 
막대를 제거하고 가격에서 X 단계로 보류 중인 주문을 추가했습니다. 남은 것은 마감된 주문이 즉시 별도로 열리고 4개의 주문이 모두 마감될 때까지 기다리지 않고 % 자기자본에 따라 로트를 계산한다는 것입니다. 이러한 2가지 뉘앙스를 수정하는 데 도움이 됩니다.
현재 모습은 다음과 같습니다.

//+----------------------------------------------- ------ --------------------+
//| mo_bidir.mq4 |
//| 5백만 시간 프레임에서 가장 잘 작동합니다 |
//+----------------------------------------------- ------ --------------------+
#property copyright "Copyright © 2010 - Monu Ogbe"

# 매직 1234 정의
#define IDENT "mo_bidir"

외부 이중 로트 = 1;
외부 이중 stop_loss = 76; // //
외부 이중 take_profit = 750; // //
extern int steps = 5;// 주문 대기 단계

정수 시작(){

if (OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lot,Ask, 3, Ask - stop_loss * 포인트, Bid + take_profit * 포인트, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELL, lot,Bid, 3, Bid + take_profit * 포인트, 매도 - take_profit * 포인트, IDENT, MAGIC, 0, Red);
OrderSend(Symbol(), OP_BUYSTOP, 0.5*lots,Ask+steps*Point, 3, Ask - stop_loss * 포인트, Bid + take_profit * 포인트, IDENT, MAGIC, 0, Blue);
OrderSend(Symbol(), OP_SELLSTOP, 0.5*lots,Bid-steps*Point, 3, Bid + take_profit * Point, Ask - take_profit * Point, IDENT, MAGIC, 0, Red);
}
반환(0);
}
파일:
 
belck :
역사상 손익분기점 코드를 찾고 있습니다. 어쩌면 누군가가 그것을 가지고 있습니다. 공유하다.
손익분기점 코드가 있지만 미결 주문에서 작동합니다.
내 조언자는 반대 신호에서 손실을 만드는 것을 닫고 신호에서 엽니다. 이제 이 손익분기점 코드가 빨간색으로 표시된 금액을 기억하고 정보를 전달하여 두 번째 등이 필요합니다. 주문은 이미 이전 손실을 고려하여 차트에서 제로 이익 라인을 보았습니다. 고문은 중지가 없습니다. 이는 손절매가 아닌 마이너스 거래를 마감하는 것을 의미합니다.


찐 순무보다 쉽게, 당신은 일반적인 그래픽 요소를 만듭니다 - 수평선 , 이 라인의 가격은 당신이 필요로 하는 가격이 될 것입니다. 매번 원하는 가격으로 이동(종료 시 손익분기점)하고 주문을 마감할 때 삭제(라인)하지 마십시오. 다음 주문에서는 그 안에 있는 이전 가격을 확인합니다.
 
belck :
역사상 손익분기점 코드를 찾고 있습니다. 어쩌면 누군가가 그것을 가지고 있습니다. 공유하다.
손익분기점 코드가 있지만 미결 주문에서 작동합니다.
내 조언자는 반대 신호에서 손실을 만드는 것을 닫고 신호에서 엽니다. 이제 이 손익분기점 코드가 빨간색으로 표시된 금액을 기억하고 정보를 전달하여 두 번째 등이 필요합니다. 주문은 이미 이전 손실을 고려하여 차트에서 제로 이익 라인을 보았습니다. 고문은 중지가 없습니다. 이는 손절매가 아닌 마이너스 거래를 마감하는 것을 의미합니다.

내가 올바르게 이해한다면 귀하의 질문 중 일부는 사용된 라인을 설정하기 위해 현재 시장 주문의 이익 수준과 후속 비교를 위해 귀하의 고문이 연속적으로 마감한 무익한 거래의 총 손실에 대한 설명입니다.
 
FAQ :

찐 순무보다 쉽게 일반적인 그래픽 요소를 만듭니다. 수평선, 이 선의 가격은 필요한 가격이 될 것입니다. 매번 원하는 가격으로 이동(종료 시 손익분기점)하고 주문을 마감할 때 삭제(라인)하지 마십시오. 다음 주문에서는 그 안에 있는 이전 가격을 확인합니다.

더 쉬운 것이 더 쉬운 것은 아닙니다.

나는 그것을 스스로 구현할 수 없습니다.

거래를 잃는 동안 라인이 나타나서 도달했을 때 닫을 수 있도록 하는 것이 중요합니다. 폐쇄를 시행하겠습니다. 그러나 나는 코드 생성의 정확성에 대한 바로 그 논리를 파악할 수 없습니다.

즉, 손실 주문이 있을 때만 그려지는 선이 필요하며, 이 선은 열린 거래의 로트와 손실 거래의 이전 이력에서 올 것입니다.
 
Roman. :
내가 올바르게 이해한다면 귀하의 질문 중 일부는 사용된 라인을 설정하기 위해 현재 시장 주문의 이익 수준과 후속 비교를 위해 귀하의 고문이 연속적으로 마감한 무익한 거래의 총 손실에 대한 설명입니다.

나는 정지선이 없습니다. 즉, 손절매와 이익실현이 없습니다.

이전에 마감된 무익한 주문이 차단되는 방식으로 거래를 마감해야 하는 가격선을 보고 싶습니다.

정보를 계산하고 시작 블록으로 전송하는 블록별 시작이 필요하며, 시작 블록에서 이 라인의 가격에 도달하면 이 정보를 사용하여 거래를 마감합니다. 폐쇄를 정리하겠습니다. 그러나 역사상 손익분기점 자체는 내가 쓰기에 적합하지 않습니다.

 
전역 변수 가 필요하거나 터미널의 전역 변수에 만들거나 그래프 개체로 만들면 이 그래프에서만 볼 수 있고 필요한 경우 파일에 쓰거나 레지스트리에 쓰거나 메모리에 직접 쓸 수 있습니다. 많은 옵션이 있습니다.
 
FAQ :
전역 변수가 필요하거나 터미널의 전역 변수에 만들거나 그래프 개체로 만들면 이 그래프에서만 볼 수 있고 필요한 경우 파일에 쓰거나 레지스트리에 쓰거나 메모리에 직접 쓰게 됩니다. 많은 옵션이 있습니다.
대답했어?
 
belck : 하지만 역사에 따라 손익분기점 자체를 작성할 수는 없습니다.

여기에 내 코드 섹션이 있습니다. 이 특정 Expert Advisor의 연속 손실 거래의 총 손실을 고려하는 책임이 있습니다(마법에 따라). 나는 그물 Avalanche의 내 버전을 위해 그것을 만들었습니다 - 당신의 필요에 맞게 편집하십시오 - 코드는 주석 처리되어 있습니다 ...

전역 변수

 double Current_Loss, Sum_Loss;     // текущий и суммарный убыток 
int start()    // -----------------------СТАРТ ЭКСПЕРТА---------------
{

//---------------------расчет по истории ордеров номера очередной итерации----------------------------------------------- 
  Iteration = 0 ; // зануляем инерации перед их учетом в цикле по истории
  Sum_Loss = 0 ;   // суммарный убыток по этим итерациям

datetime 
Time_at_History_Current = 0 ,
Time_at_History_Previos = 0 ;     
 
 if ( OrdersHistoryTotal () != 0 )
   {
     for ( int counter = OrdersHistoryTotal ()- 1 ; counter >= 0 ; counter--)
      {
       OrderSelect (counter, SELECT_BY_POS, MODE_HISTORY);
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber)
         {
           if ( OrderType () == OP_BUY || OrderType () == OP_SELL)
            {
             if ( OrderProfit () < 0 ) // если убыток по выбранному ордеру, то считаем суммарный и записываем время закрытия ордера
                                   // для последующего его анализа при подсчете количества итераций
                {
                 double lastLoss = OrderProfit ();
                 Sum_Loss=Sum_Loss+lastLoss;   // считаем общий убыток по закрытым подряд убыточным ордерам
                 Time_at_History_Current = OrderCloseTime ();
                } 
             
             //Print(" Time_at_History_Current_в цикле = ", TimeToStr(Time_at_History_Current, TIME_DATE|TIME_SECONDS));
             //Print(" Time_at_History_Previos_в цикле = ", TimeToStr(Time_at_History_Previos, TIME_DATE|TIME_SECONDS));
             
             if (Time_at_History_Current != Time_at_History_Previos) // если они не равны, то считаем итерации и делаем их равными
               {
                Time_at_History_Previos = Time_at_History_Current ;
                Iteration++;
                 //Print("Iteration at History в условии сравнения  = ",  Iteration);
               }   
             else // они равны, то проверяем, дополнительно, наличие профита по выбранному следующему ордеру и выходим из цикла
               {
                 if ( OrderProfit () >= 0 )
                   break ;
               }
            }
         }
      }
   }
 //Print("Iteration at History = ",  Iteration, " Time_at_History_Current = ", TimeToStr(Time_at_History_Current, TIME_DATE|TIME_SECONDS),
 //      " Time_at_History_Previos = ", TimeToStr(Time_at_History_Previos, TIME_DATE|TIME_SECONDS));
...
...
}// конец старт   

코드의 이 섹션 다음에 이 특정 Expert Advisor의 이미 열려 있는 주문을 순환하고 총 이익을 계산합니다. 그런 다음 이 값을 변수와 비교합니다.

Sum_Loss

그리고 결정을 내립니다.

 
belck :
역사상 손익분기점 코드를 찾고 있습니다. 어쩌면 누군가가 그것을 가지고 있습니다. 공유하다.
손익분기점 코드가 있지만 미결 주문에서 작동합니다.
내 조언자는 반대 신호에서 손실을 만드는 것을 닫고 신호에서 엽니다. 이제 이 손익분기점 코드가 빨간색으로 표시된 금액을 기억하고 정보를 전달하여 두 번째 등이 필요합니다. 주문은 이미 이전 손실을 고려하여 차트에서 제로 이익 라인을 보았습니다. 고문은 중지가 없습니다. 이는 손절매가 아닌 마이너스 거래를 마감하는 것을 의미합니다.

마감된 모든 거래의 총 이익을 계산하고 TotalCloseProfit과 같은 일부 변수에 저장합니다. 그런 다음 그래픽 및 기타 추가 정보 없이 다음 코드를 사용합니다.

 if (TotalCloseProfit) < 0.0 ) { // Имеем убыток по закрытым позам
   if (( AccountEquity () + TotalCloseProfit) >= AccountBalance ()) { // Достигли безубытка
     // Здесь какой-то код, который необходимо выполнить при достижении безубытка
  }
}
 
utyff :


나는 잡지를 보았다.

이것이 이유인 것 같긴 한데 무슨 뜻인지 모르겠습니다. 설명해줄 사람? 그리고 그것을 고치는 방법?

그것은 실수가 아니다. 로그의 오류는 노란색 아이콘 대신 빨간색으로 표시됩니다.