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

 
다시 복사합니다.

거래 조건이 충족되면 1회 거래가 이루어지도록 거래 로봇의 코드 일부를 작성해야 합니다.
예를 들어:
1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

조건이 변경되면, 즉 Line_2가 Line_1보다 높으면 거래가 이루어집니다. 그런 다음 모든 것이 반복됩니다.
1) Line_2가 Line_1보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_2가 Line_1보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

잘...
1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

등.
 
Link_x :
다시 복사합니다.

거래 조건이 충족되면 1회 거래가 이루어지도록 거래 로봇 코드의 일부를 작성해야 합니다.
예를 들어:
1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .
...

등.


3) 요점이 명확하지 않다. "... 조건이 변경될 때까지" - 문제의 조건은 언급되지 않습니다.

구매만 열어야 하나요? 시장에서 동시에 여러 주문이 허용되는지 아니면 하나의 주문만 허용되는지 여부도 명확하지 않습니다.

 
fozi :

안녕하세요 코미디언입니다.

누가 SP500을 MT4-5와 거래할 수 있나요?


mmcis에는 _SP500 mt4 데모가 있습니다.

하지만 그것은 뭔가 말한다 무역: 아니오

아마도 데모 일뿐입니다. 나는 모릅니다.

 
Link_x :
다시 복사합니다.

거래 조건이 충족되면 1회 거래가 이루어지도록 거래 로봇의 코드 일부를 작성해야 합니다.
예를 들어:
1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

조건이 변경되면, 즉 Line_2가 Line_1보다 높으면 거래가 이루어집니다. 그런 다음 모든 것이 반복됩니다.
1) Line_2가 Line_1보다 높으면 구매 거래가 이루어집니다.
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_2가 Line_1보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

잘...
1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

등.


나는 그것에 대해 생각하고 어느 정도 이해했지만 여전히 내가 올바르게 이해했는지 확인하고 싶습니다.

시장에는 항상 하나의 주문만 있습니다. 주문은 조건이 변경될 때 항상 열리고 항상 구매에 대해서만 열립니다.

 
khorosh :

3) 요점이 명확하지 않다. "... 조건이 변경될 때까지" - 문제의 조건은 언급되지 않습니다.

구매만 열어야 하나요? 시장에서 동시에 여러 주문이 허용되는지 아니면 하나의 주문만 허용되는지 여부도 명확하지 않습니다.

매수와 매도 둘 다.
단 하나의 주문.

....
 
Link_x :
매수와 매도 모두.
단 하나의 주문.

....
당신의 작업에서는 판매에 대해 한마디도 말하지 않고 구매 만 있습니다.
 
khorosh :
당신의 작업에서는 판매에 대해 한마디도 말하지 않고 구매 만 있습니다.


망했다. 지금 수정하겠습니다. :)


1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

조건이 변경되면 즉, Line_2가 Line_1보다 높으면 거래가 이루어집니다. 그런 다음 모든 것이 반복됩니다.
1) Line_2가 Line_1보다 높으면 매도 거래가 이루어집니다.
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_2가 Line_1보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

잘...
1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .
 
시각적 설명:
파일:
 
Link_x :

망했다. 지금 수정하겠습니다. :)


1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

조건이 변경되면, 즉 Line_2가 Line_1보다 높으면 거래가 이루어집니다. 그런 다음 모든 것이 반복됩니다.
1) Line_2가 Line_1보다 높으면 매도 거래가 이루어집니다.
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_2가 Line_1보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

잘...
1) Line_1이 Line_2보다 높으면 구매 거래가 이루어집니다.,
2) 거래가 SL 또는 TP에 의해 마감되었습니다.,
3) Line_1이 Line_2보다 높으면 조건이 변경될 때까지 거래가 실행되지 않습니다. .

 int start()
  {
//----
   
   if (Lin1>Lin2)
     {
       if (!ExistPositions( "0" , - 1 , - 1 , 0 ))
        {
         if ( OrdersHistoryTotal ()< 1 || GetTypeLastClosePos( "0" , - 1 )== OP_SELL )
           {
            OpenPosition( "0" , OP_BUY , NormalizeDouble ( Ask -SL* Point , Digits ),
                       NormalizeDouble ( Ask +TP* Point , Digits ), - 1 );
           }
        }                         
     }
   if (Lin1<Lin2)
     {
       if (!ExistPositions( "0" , - 1 , - 1 , 0 ))
        {
         if ( OrdersHistoryTotal ()< 1 || GetTypeLastClosePos( "0" , - 1 )== OP_BUY )
           {
            OpenPosition( "0" , OP_SELL , NormalizeDouble ( Bid +SL* Point , Digits ),
                           NormalizeDouble ( Bid -TP* Point , Digits ), - 1 );
           }
        }                         
     }  
//----
   return ( 0 );
  }
Чтобы код работал нужно ещё записать коды всех использованных функций KimIV вне тела функции start() и
определить все значения констант и переменных ошибки по которым будут выданы при компиляции ввиду 
того что здесь они не определены..

	          
 

모두 새해 복 많이 받으세요! 행복, 행운, 사랑, 물론 모두에게 엄청난 이익! =)))


감정가는 기능에 오류가 있는지 확인하십시오. 기능의 본질: 주문 그리드를 닫는 경우 순서대로 필요한 로트를 계산해야 다음 오픈 주문이 특정 포인트 수에 대한 손실을 커버할 수 있습니다.

 double FindRightLot ( int otype)
{
   double Lot= 0 ; double TotalLot= 0 ;
   for ( int i = OrdersTotal ()- 1 ; i> 0 ; i--)
  {
     if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
    {
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic && OrderType () == otype)
       {
         if (otype == OP_BUY )
         {
           Lot = NormalizeDouble (( OrderOpenPrice ()- Bid )* OrderLots ()/TP, 2 ); // ТP это то к-во пунктов, за которое след. ордер должен закрыть убыток
           if (Lot> 0 ) // т.е. нас интересуют только убыточные ордера
           {
             TotalLot=TotalLot+Lot;
           }
         }
           
       
         else if (otype == OP_SELL )
         {
           Lot = NormalizeDouble (( Ask - OrderOpenPrice ())* OrderLots ()/TP, 2 );
           if (Lot> 0 ) // выбираем только убыточные
           {
             TotalLot=TotalLot+Lot;
           }
           
         }
       }
     }
   }
   return (TotalLot);
   
 }