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

 
artmedia70 :
이러한 질문이 있으면 610번째 빌드에 대한 토론이 있는 스레드 로 이동해야 합니다. 개발자가 근처에 있습니다.


고마워, 갔다
 
Zolotai :

예, 하지만 정말. 다른 사람의 코드를 샅샅이 뒤져야 합니다. 내가 이해하지 못하고 많은 시간이 걸릴 것입니다. 그것을 알아내려면 =(

자습서로 시작한 다음 설명서 등으로 시작합니다. 다른 방법은 없습니다! 그리고 당신은 다른 사람들의 코드를 이해하고 그들로부터 많은 것을 배울 수 있을 것입니다! 팁은 가르치는 것이 아니라 부패합니다!
 

시각화에 대한 질문입니다.

다음과 같은 명령으로 보류 주문을 만듭니다.

OrderSend(Symbol(), OP_BUYLIMIT, 로트, 가격, 3, 0, take_profit, 999, 999, 0, 파란색);

테스터에서 화살표 형태로 전체 경로를 추적할 수 있습니다. 보류 중인 주문 배치 ------> 매수 --------------> 이익 실현

그리고 실생활 에서는 주문할 때 파란색 화살표만 나타나며 잡지에서 구매하고 수익을 얻는 것에 대해서만 추측할 수 있습니다. 테스터처럼 실생활에서도 차트의 화살표를 볼 수 있는 방법이 없을까요?

 
Denis111 :

시각화에 대한 질문입니다.

다음과 같은 명령으로 보류 주문을 만듭니다.

OrderSend(Symbol(), OP_BUYLIMIT, 로트, 가격, 3, 0, take_profit, 999, 999, 0, 파란색);

테스터에서 화살표 형태로 전체 경로를 추적할 수 있습니다. 보류 중인 주문 배치 ------> 매수 --------------> 이익 실현

그리고 실생활에서는 주문할 때 파란색 화살표만 나타나며 잡지를 사고 이익을 얻는 것에 대해서만 추측할 수 있습니다. 테스터처럼 실생활에서도 차트의 화살표를 볼 수 있는 방법이 없을까요?


이렇게하려면 TP없이 열어야하고 수정할 때 색상도 지정하면 개구부 자체에서 점선이있는 닫는 삼각형이 생깁니다!
 

안녕하세요. 보류 중인 구매 주문 을 여는 가장 간단한 스크립트를 작성했습니다. 스크립트는 DEMO 계정에서 성공적으로 작동하지만 실제 계정에서는 133 오류가 발생합니다. 이는 거래가 금지됨을 의미합니다. 말해봐, 뭐가 문제야? 이 오류의 원인은 무엇입니까?


외부 정수 주문 크기 = 50;
외부 정수 SL = 20;
외부 정수 TP = 20;

정수 시작()
{
이중 정확한 포인트 = 0.0001;
이중 priceOpen = iOpen( Symbol(), PERIOD_M5, 0 ); // priceOpen 변수를 현재 5분 막대의 시가로 설정

두 배 priceBuy = priceOpen + (이중)orderSize * correctPoint; //보류 주문이 이루어진 가격
이중 priceTP = priceBuy + (이중)TP * correctPoint;
이중 priceSL = priceBuy - (이중)SL * correctPoint;

동안( !IsTradeAllowed() )
수면( 100 );
int codeError = OrderSend( Symbol(), OP_BUYSTOP, 1.5, priceBuy, 100, priceSL, priceTP );
if( 코드 오류 == -1 )
Alert( "구매 중지 오류: ", GetLastError() );

반환(0);
}//±
 
그리고 여기 한 가지 질문으로 포럼의 장을 더럽히는 사람들이 있다는 것이 밝혀졌습니다.
 

간단한 올빼미를 만들고 싶습니다 ..... 1 차 SL 및 TP를 배치 할 때 스크립트가 오류 130을 제공하고 Tralingstop 으로 코드를 삽입 할 위치 ???

 //+------------------------------------------------------------------+
//| установка мышкой отложенных ордеров                              |
//|                               Copyright © 2012, Хлыстов Владимир |
//|                                                cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Хлыстов Владимир"
#property link        "cmillion@narod.ru"
#property show_inputs

//--------------------------------------------------------------------
extern int      Stoploss          = 0 ,     //стоплосс ордеров
               Takeprofit        = 0 ;     //тейкпрофит ордеров
extern double   Lot               = 0.1 ;   //лот
extern int      Magic             = 0 ;     //уникальный номер ордеров этого советника
extern bool     comment           = true ;   //выводить информацию на экран
//--------------------------------------------------------------------
int start()
{
   int n;
   double SL,TP;
   double Price = NormalizeDouble ( WindowPriceOnDropped (), Digits );
   string txt= StringConcatenate ( "Скрипт выставления рыночного ордера, старт " , TimeToStr ( TimeCurrent (), TIME_DATE | TIME_SECONDS ));
   while ( true )
   {
       RefreshRates ();
       if (Price> Ask ) 
      {
         if (Takeprofit!= 0 ) TP = NormalizeDouble ( Ask + Takeprofit * Point , Digits ); else TP= 0 ;
         if (Stoploss!= 0 )   SL = NormalizeDouble ( Ask - Stoploss   * Point , Digits ); else SL= 0 ;
         if ( OrderSend ( Symbol (), OP_BUY ,Lot, NormalizeDouble ( Ask , Digits ), 0 ,SL,TP, "StopOrders" ,Magic, 0 ,CLR_NONE)!=- 1 )
              {txt = StringConcatenate (txt, "\nВыставлен BUY " , DoubleToStr ( Ask , Digits )); break ;}
         else txt = StringConcatenate (txt, "\nОшибка " ,GetLastError(), " выставления BUY " );
      }
       if (Price< Bid ) 
      {
         if (Takeprofit!= 0 ) TP = NormalizeDouble ( Bid - Takeprofit * Point , Digits ); else TP= 0 ;
         if (Stoploss!= 0 )   SL = NormalizeDouble ( Bid + Stoploss   * Point , Digits ); else SL= 0 ;
         if ( OrderSend ( Symbol (), OP_SELL ,Lot, NormalizeDouble ( Bid , Digits ), 0 ,SL,TP, "StopOrders" ,Magic, 0 ,CLR_NONE)!=- 1 )
              {txt = StringConcatenate (txt, "\nВыставлен SELL " , DoubleToStr ( Bid , Digits )); break ;}
         else txt = StringConcatenate (txt, "\nОшибка " ,GetLastError(), " выставления SELL " );
      }
       if (comment) Comment ( "Попытка " ,n, " " ,txt);
      n++;
       if (n> 10 ) break ;
   }
   if (comment) Comment (txt, "\nСкрипт закончил свою работу " , TimeToStr ( TimeCurrent (), TIME_DATE | TIME_SECONDS ));
   return ( 0 );
}
//--------------------------------------------------------------------
 
MyTHblu :

간단한 올빼미를 만들고 싶습니다 ..... 1st order SL 및 TP를 배치 할 때 스크립트는 오류 130을 제공하고 Tralingstop으로 코드를 삽입 할 위치는 ???


130 - 피트가 잘못되었습니다. DC의 거래 조건을 주의 깊게 다시 읽은 다음 잊지 않도록 정기적으로 다시 읽으십시오. 꿀이 묻은 것처럼 당신 모두가 그것을 너무 좋아합니다 ...


그리고 트롤 코드는 복사-붙여넣기로 시작 부분에 삽입하거나 별도의 기능으로 처음부터 다시 호출할 수 있습니다.

 
evillive :

130 - 피트가 잘못되었습니다. DC의 거래 조건을 주의 깊게 다시 읽은 다음 잊지 않도록 정기적으로 다시 읽으십시오. 당신은 모두 Alpari를 너무 좋아하고 꿀이 묻은 것처럼 ...


그리고 트롤 코드는 복사-붙여넣기로 시작 부분에 삽입하거나 별도의 기능으로 처음부터 다시 호출할 수 있습니다.


KodoBase에서 이 올빼미를 가져왔기 때문에 트롤로 다른 올빼미를 선택할 수도 있습니다. 그리고 알프스에서는 SL, TP 없이 개봉하고 바로 주문 수정해야 합니다. 브로커의 조건, 포럼의 규칙, MT4의 도움말, 여기 사이트에서 수백 번 작성되고 논의된 정보, 여기 및 Google에서 검색을 사용하는 것을 귀찮게 하지 않는 이유는 무엇입니까? 기본적인 것을 묻기 전에?
 

코드를 연결하는 방법 .... 여기에 거래 정지가 있습니다 ... 방금 삽입하지 않은 곳에 오류가있을 수 있습니다. 컴파일 할 때 'if'라고 씁니다. 표현식은 전역 범위에서 허용되지 않습니다. 오류가 발생하기 전이라면... ..그래서?

 extern bool UseTrailing = true ;
extern int lMinProfit = 30 ;
extern int sMinProfit = 30 ;
extern int lTrailingStop = 15 ;
extern int sTrailingStop = 15 ;
extern int lTrailingStep = 5 ;
extern int sTrailingStep = 5 ;
//-----

if (UseTrailing) TrailingPositions();  

void TrailingPositions() 
{
   int cnt = OrdersTotal ();

   for ( int i= 0 ; i<cnt; i++) {
         if (!( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))) continue ;
         if ( OrderSymbol () != Symbol ()) continue ;                

         if ( OrderType () == OP_BUY ) {
         if ( Bid - OrderOpenPrice () > lMinProfit* Point ) {
                 if ( OrderStopLoss () < Bid -(lTrailingStop+lTrailingStep- 1 )* Point ) {
                 OrderModify ( OrderTicket (), OrderOpenPrice (), Bid -lTrailingStop* Point , OrderTakeProfit (), 0 , Blue);
                }
        }
        }

         if ( OrderType () == OP_SELL ) {
         if ( OrderOpenPrice ()- Ask > sMinProfit* Point ) {
                 if ( OrderStopLoss () > Ask +(sTrailingStop+sTrailingStep- 1 )* Point || OrderStopLoss () == 0 ) {
                 OrderModify ( OrderTicket (), OrderOpenPrice (), Ask +sTrailingStop* Point , OrderTakeProfit (), 0 , Blue);
                }
        }
        }
  }
  
}