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

 
아카이브에는 두 개의 표시기가 있고 내가 작업하고 있는 어드바이저(test-cifr)가 있습니다. 표시기 자체가 쟁기질하지만 어드바이저에 삽입할 수 없습니다((. 어드바이저의 목적은 값을 표시하는 것뿐입니다. 제발 삽입되지 않은 이유와 삽입 방법을 이해하도록 도와주세요.
파일:
 
감사합니다 그리고 건강하시길 바랍니다 artmedia70
 
palomnik :
감사하고 건강하시길 바랍니다 artmedia70
글쎄요 ... 건강: 재생 불가능한 자원입니다. 감사해요 :)
 
ed3sss :

안녕하세요.

현재 상품에 대한 차트에 비문을 표시하려면 어떻게 해야 합니까? 미결 주문의 손익.

Expert Advisor에서 포지션 오픈 여부(터미널 켜기/끄기) 확인 및 터미널 닫기 전 마지막 로트 물량 픽업이 어렵습니다.

고맙습니다.


드러스티, 아무도 몰라??
 

과거 거래라면 orderProfit 기능을 통해 거래의 전체 내역 을 요약하고 거래 창에서 모든 것이 거기에있는 것처럼 보입니다.

궁금한데 제 질문에 답이 있으신 분 계신가요?

 
artmedia70 :

그 코드에는 한 가지 결함이 있습니다. 다음은 컨텍스트 에서 제외되었습니다.


요점은 그 표현이

따라서 로트 값은 소수점 이하 한 자리까지 반올림됩니다.


그러나 계속 읽으십시오. 도움이 될 수 있습니다.



정말 그러길 바랍니다. 덕분에. 이 순간을 통합하기 위해 지정된 지점을 연구합니다. 공백을 남기고 싶지 않습니다.
 
ed3sss :

드러스티, 아무도 몰라??


글쎄, 내가 이해하기로는 모든 것이 기초적이다. 기본 지식은 충분합니다.

1. 주문을 검색합니다.

2. 주문이 열려 있는지 확인합니다. 0을 기준으로 한 주문 마감 시간.

3. 주문이 열려 있으면 필요한 데이터, 이익, 유형 등을 표시합니다.

 
palomnik :

과거 거래라면 orderProfit 기능을 통해 거래내역 전체를 요약하고 거래 창에서 모든 것이 거기에 있는 것처럼 보입니다.

궁금한데 제 질문에 답이 있으신 분 계신가요?

모든 코드를 EA에 복사

이 같은

 //+------------------------------------------------------------------+
//|                                                        Xrust.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"


extern int     TimeFrame= 0 ; //Если=0, то текуший
extern string FrApNam= "Ap" ; //Имя линии соотв.Фракталу вверх
extern string FrDnNam= "Dn" ; //Имя линии соотв.Фракталу вниз
extern color   ClAp=Blue; //Цвет линии соотв.Фракталу вверх
extern color   ClDn=Red; //Цвет линии соотв.Фракталу вниз
//-----------------------------------------------------------------------------+
double FrApPrise,FrDnPrise;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   if (TimeFrame== 0 ){TimeFrame= Period ();}
  IndicatorShortName( "Factal_Level_Xrust" +TimeFrame);
  FrApNam= StringConcatenate (FrApNam,TimeFrame);
  FrDnNam= StringConcatenate (FrDnNam,TimeFrame); 
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   ObjectDelete (FrDnNam);
   ObjectDelete (FrApNam);
   Comment ( " " );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   LineAp();
   LineDn();
   
   int diap= MathRound ((FrApPrise-FrDnPrise)/ Point );
   
   Comment ( "\n" , " LineDn  = " ,FrDnPrise,
           "\n" , " LineAp  = " ,FrApPrise,
           "\n" , " diap  = " ,diap );

//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//-----------------------------------------------------------------------------+
// Ищет горизонтальную линию по имени перерисовывает если изменилась цена      |   
//-----------------------------------------------------------------------------+
   void   LineDn(){
   FrDnPrise= 0 ;
   double   FrPrise= NormalizeDouble (FindNearFractal( 0 ,TimeFrame,MODE_LOWER),MarketInfo( Symbol (),MODE_DIGITS));
   FrPrise= NormalizeDouble (FrPrise,MarketInfo( Symbol (),MODE_DIGITS));
   //Comment(FrPrise);
   if ( ObjectFind (FrDnNam)== 0 ){
     if (ObjectGet(FrDnNam,OBJPROP_PRICE1)==FrPrise){ return ;}}
   FrDnPrise=FrPrise;  
   ObjectDelete (FrDnNam);
   SetHLine(ClDn,FrDnNam,FrDnPrise, 0 , 1 );
   WindowRedraw();
   return ;} 
//-----------------------------------------------------------------------------+
// Ищет горизонтальную линию по имени перерисовывает если изменилась цена      | 
//-----------------------------------------------------------------------------+
   void   LineAp(){
   FrApPrise= 0 ;
   double FrPrise= NormalizeDouble (FindNearFractal( 0 ,TimeFrame,MODE_UPPER),MarketInfo( Symbol (),MODE_DIGITS));
   FrPrise= NormalizeDouble (FrPrise,MarketInfo( Symbol (),MODE_DIGITS));
   if ( ObjectFind (FrApNam)== 0 ){
     if (ObjectGet(FrApNam,OBJPROP_PRICE1)==FrPrise){ return ;}}
   FrApPrise=FrPrise; 
   ObjectDelete (FrApNam); 
   SetHLine(ClAp,FrApNam,FrApPrise, 0 , 1 );
   WindowRedraw();
   return ;}
//-----------------------------------------------------------------------------+   
//   Киму Респект и уважуха !!!                                                |       
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Поиск ближайшего фрактала. Возвращает ценовой уровень.         |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy   - наименование инструмента      ("" или NULL - текущий символ)     |
//|    tf   - таймфрейм                     (    0       - текущий ТФ)         |
//|    mode - тип фрактала                  (MODE_LOWER|MODE_UPPER)            |
//+----------------------------------------------------------------------------+
double FindNearFractal( string sy= "0" , int tf= 0 , int mode=MODE_LOWER) {
   if (sy== "" || sy== "0" ) sy= Symbol ();
   double f= 0 ;
   int     d=MarketInfo(sy, MODE_DIGITS), s;
   if (d== 0 ) if ( StringFind (sy, "JPY" )< 0 ) d= 4 ; else d= 2 ;

   for (s= 2 ; s< 100 ; s++) {
    f= iFractals (sy, tf, mode, s);
     if (f!= 0 ) return ( NormalizeDouble (f, d));
  }
   Print ( "FindNearFractal(): Фрактал не найден" );
   return ( 0 );
}
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.03.2008                                                     |
//|  Описание : Установка объекта OBJ_HLINE горизонтальная линия               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (0  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetHLine( color cl, string nm= "" , double p1= 0 , int st= 0 , int wd= 1 ) {
   if (nm== "" ) nm=DoubleToStr(Time[ 0 ], 0 );
   if (p1<= 0 ) p1=Bid;
   if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_HLINE , 0 , 0 , 0 );
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_COLOR , cl);
  ObjectSet(nm, OBJPROP_STYLE , st);
  ObjectSet(nm, OBJPROP_WIDTH , wd);
}

또는

기능 사용

 int ObjectFind ( string name) //Поиск объекта с указанным именем

double ObjectGet( string name, int prop_id) //Функция возвращает значение указанного свойства объекта

개체를 찾고 있습니다. 다른 방법은 없습니다.
 
아니오, 삽입되지만 값은 천정에서 절대적으로 나옵니다.
 
palomnik :
아니오, 삽입되지만 값은 천정에서 절대적으로 나옵니다.


EA 코드에서 표시기 설정을 제거하십시오 . 그런 다음 표시기에 작성된 코드에서 설정을 가져옵니다.

나는 또한 코드에서 설정을 제거하고 벌금을 남겼습니다.