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

 
VOLDEMAR :

디자인을 조립할 수 없습니다

끊임없이 욕한다

신분증을 발급받아야 하는 날


ENUM_DAY_OF_WEEK 는 int 유형입니다.
 
evillive :
ENUM_DAY_OF_WEEK는 int 유형입니다.
나는 int와 string과 double을 모두 시도했습니다.
 
evillive :
수동으로 할 수 있는 방법은 없으며, 터미널은 프로그램을 사용하여 거래하는 경우에만 이러한 아이콘을 그립니다. 또는 수동 거래 내역을 차트에 드롭하면 모든 거래가 표시됩니다.

그리고 이런 식으로 각각의 오픈 오더 색상을 수정하면 딜이 차트에 반영되나요?

int i2;  

    for (i2=OrdersTotal()-1; i2>=0; i--){

    if (OrderSelect(i2, SELECT_BY_POS, MODE_TRADES)){

      if (OrderSymbol()==Symbol()){  

       if (OrderType()==OP_SELL){

        c=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),0,Red);

       }

       if (OrderType()==OP_BUY){   

        c=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),0,Green);

       }

      }

     }

    }

   }

 

시각화를 시작할 때 잔액을 지표로 표시하기로 결정했습니다.

Balance=AccountBalance();
double price= iCustom ( NULL , 0 , "AccountBalance" ,Balance, 0 , 1 );

표시기에서:

 #property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1  Blue       
//--- input parameters
//--- buffers
extern double        Balance= 3 ;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers( 1 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted(),
   i,limit1;
   limit1= Bars -counted_bars- 1 ;

   for (i=limit1;i>= 0 ;i--)ExtMapBuffer1[i]=Balance;
   
   return ( 0 );
  }
//+------------------------------------------------------------------+

그리고 너무 자주 부르는 것) 이미 화면이 흰색이됩니다. 질문은 실제로 수사학적입니다. 무엇이 잘못되었습니까?

 
Forexman77 :

시각화를 시작할 때 잔액을 지표로 표시하기로 결정했습니다.

표시기에서:

그리고 너무 자주 부르는 것) 이미 화면이 흰색이됩니다. 질문은 실제로 수사학적입니다. 무엇이 잘못되었습니까?

부울 잔액;

문자열 균형_S;

////////////////////////////////////////////////////// / /////////////////////////////////////////////////////
balans_S=DoubleToStr(AccountBalance(),2)+" "+AccountCurrency();
balans=ObjectCreate("균형", OBJ_LABEL , 0, 0, 0);
balans=ObjectSetText("균형",balans_S, 14, "Arial", 주황색);
balans=ObjectSet("균형", OBJPROP_CORNER, 1);
balans=ObjectSet("균형", OBJPROP_XDISTANCE, 20);
balans=ObjectSet("균형", OBJPROP_YDISTANCE, 20);

////////////////////////////////////////////////////// / /////////////////////////////////////////////////////

이 코드를 고문에 붙여넣고 행복하세요.

 
woin2110 :

부울 잔액;

문자열 균형_S;

////////////////////////////////////////////////////// / /////////////////////////////////////////////////////
balans_S=DoubleToStr(AccountBalance(),2)+" "+AccountCurrency();
balans=ObjectCreate("균형", OBJ_LABEL, 0, 0, 0);
balans=ObjectSetText("균형",balans_S, 14, "Arial", 주황색);
balans=ObjectSet("균형", OBJPROP_CORNER, 1);
balans=ObjectSet("균형", OBJPROP_XDISTANCE, 20);
balans=ObjectSet("균형", OBJPROP_YDISTANCE, 20);

////////////////////////////////////////////////////// / /////////////////////////////////////////////////////

이 코드를 고문에 붙여넣고 행복하세요.

고맙습니다. 그러나 차트의 전체 세그먼트에 균형을 선으로 표시해야 합니다.
 
evillive :
이상하게도, 그것은 나를 위해 작동합니다. 아마도 로그에 오류가 있습니까?

알아냈어요. EA가 연결될 때 Debug.tpl이라는 이름으로 템플릿을 잘못 저장했기 때문에 템플릿 파일 끝에 추가 지침이 있었습니다.

 < expert >
name=ProbaExpert
flags=275
window_num=0
< inputs >
StrPeriod_Direct=
Pips=50
</ inputs >
</ expert >

전문가 없이 템플릿을 저장했는데 모든 것이 잘 작동했습니다. 감사합니다.

 
for ( int i= 0 ;i<OrdersHistoryTotal(); i++)
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY))
        {  
         if (OrderType()==OP_SELL)
          {  
           if (OrderStopLoss()>OrderOpenPrice())
            {                     
               if ( OrdersTotal () == 0 )
              {              
               double SELLprice=Bid;  
               int ticket = OrderSend ( Symbol (), OP_SELL,Lot*= 2 ,SELLprice, 3 ,SELLprice+StopLoss* Point , 0 , "" , MagicNumber, 0 , clrNONE );
                 
              }
            }            
          }              
        }
     }     

말해 주세요. 거래에 실패할 경우 코드를 두 배로 늘리고 수익성 있는 거래의 경우 원래 볼륨 으로 돌아가고 싶습니다!

 

시각화하는 동안 잔액을 선으로 표시하기 위해 기사에서 코드를 가져왔습니다.

고문에서:

 // сохранение последнего значения баланса в гл. переменную
   GlobalVariableSet ( "vGrafBalance" , AccountBalance() );

표시기에서:

 #property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
 
double balance[];
 
int init()
{
    IndicatorShortName( "vGrafBalance" );
    IndicatorDigits( 2 );
 
    SetIndexStyle( 0 , DRAW_LINE );
     SetIndexBuffer ( 0 , balance );
    SetIndexLabel( 0 , "Balance" );
}
int start()
{
    balance[ 0 ] = GlobalVariableGet ( "vGrafBalance" );
     return ( 0 );
}

선이 나타나지 않습니다. 결국 버퍼에는 마지막 0 막대의 값만 포함됩니다.

 
Forexman77 :

시각화하는 동안 잔액을 선으로 표시하기 위해 기사에서 코드를 가져왔습니다.

고문에서:

표시기에서:

선이 나타나지 않습니다. 결국 버퍼에는 마지막 0 막대의 값만 포함됩니다.

모든 막대에 표시하려면 일반적으로 표시기에서 수행되는 것처럼 모든 막대를 계산해야 합니다.