[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 649

 
freesenser :

좋은 저녁이에요! 여러분, 어떻게 시장 정보 tradeallowed에서 거래가 허용되고 동시에 오류 133이 허용되는지 알려주세요. 저는 아직 기저귀를 차고 있고 여기에 갇혔습니다. 또한 주문에 특정 금융 상품이 없으면 구매하지만 구매 연산자에 쌍의 기호를 넣으면 133이 나옵니다. 이것은 데모에 있습니다. 무엇이 문제가 될 수 있는지 알려주세요. 고맙습니다 ))


코드 예제 표시
 
IgorM :

표시기를 사용하여 막대를 다시 칠할 수 있습니까?

즉, 표시기 버퍼 buf[1]에 해당하는 닫힌 막대가 약세 촛대였습니다. 이 막대를 표시기 버퍼의 색상으로 칠하고 싶습니다.


아마도 불가능할 것입니다. 그러면 알려주세요 plz

화살표 아이콘의 크기를 변경하는 방법, 화살표가 커지도록 코드에 추가해야 하는 항목, 그렇지 않으면 매우 작은 화살표만 그립니다.

SetIndexBuffer (0, buf_1);
SetIndexBuffer(1, buf_2);
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0,241);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1,242);

 
IgorM :


아마도 불가능할 것입니다. 그러면 알려주세요 plz

화살표 아이콘의 크기를 변경하는 방법, 화살표가 커지도록 코드에 추가해야 하는 항목, 그렇지 않으면 매우 작은 화살표만 그립니다.

SetIndexBuffer(0, buf_1);
SetIndexBuffer(1, buf_2);
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0,241);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1,242);

 void SetIndexStyle( int index, int type, int style=EMPTY, int width =EMPTY, color clr= CLR_NONE ) 
 

친애하는 프로그래머! 안타깝게도 저는 MQL 4 프로그래밍 언어를 배울 시간이 없습니다. 다음 작업(두 부분으로 구성)에 대한 Expert Advisor 프로그램을 작성하십시오 .

1부; 마지막 100 또는 1000 틱은 txt 파일에 기록되고 이 파일은 각 틱으로 업데이트됩니다.

두 번째 부분; 다른 txt 파일에서 거래 조건을 읽고, 텍스트에 1이 포함되어 있으면 매수, -1이면 매도, 0이면 주문이 있는 경우 주문을 종료하고, 주문이 없으면 아무 작업도 하지 않습니다.

Mathematica로 내 아이디어를 테스트하고 싶습니다.

 
작업은 나중에 공유하겠습니다.
 
IgorM :

표시기를 사용하여 막대를 다시 칠할 수 있습니까?

즉, 표시기 버퍼 buf[1]에 해당하는 닫힌 막대가 약세 촛대였습니다. 이 막대를 표시기 버퍼의 색상으로 칠하고 싶습니다.

Heiken Ashi 지표를 보면 비슷한 효과가 있습니다.

SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, color1) 스타일의 도움으로 심지가 그려지고 막대가 더 두꺼운 선으로 그려집니다.

 
shap :

친애하는 프로그래머! 안타깝게도 저는 MQL 4 프로그래밍 언어를 배울 시간이 없습니다. 다음 작업(두 부분으로 구성)에 대한 Expert Advisor 프로그램을 작성하십시오.

1부; 마지막 100 또는 1000 틱은 txt 파일에 기록되고 이 파일은 각 틱으로 업데이트됩니다.

두 번째 부분; 다른 txt 파일에서 거래 조건을 읽고, 텍스트에 1이 포함되어 있으면 매수, -1이면 매도, 0이면 주문이 있는 경우 주문을 종료하고, 주문이 없으면 아무 작업도 하지 않습니다.

Mathematica로 내 아이디어를 테스트하고 싶습니다.

 extern int    x1 = 100 ;
extern double lots = 1 ;
double tick[];
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
ArrayResize (tick,x1);   
//----
   return ( 0 );
  }
int start()
   {
   int handle= FileOpen ( "tick.txt" , FILE_READ );
   if (handle> 0 )
      {
      for ( int i= 1 ;i<x1;i++)
         {
         tick[i]=StrToDouble( FileReadString (handle));
         if (tick[i]== 0 ) break ;
         }
      FileClose (handle);
      }   
   tick[ 0 ]=Bid;
   string str= "" ;
   for (i= 0 ;i<x1;i++)
      {

      if(tick[i]==0)break;
      str=str+DoubleToStr(tick[i],MarketInfo( Symbol (),MODE_DIGITS))+ ";" ;
      }
   handle= FileOpen ( "tick.txt" , FILE_WRITE );
   FileWrite (handle,str);
   FileClose (handle);
   handle= FileOpen ( "control.txt" , FILE_READ );
   if (handle!=- 1 )
      {
      int control=StrToInteger( FileReadString (handle));
      FileClose (handle);
      FileDelete ( "control.txt" );
      if (control> 0 )   int ticket = OrderSend ( Symbol (), OP_BUY, lots, Ask, 3 , 0 , 0 ); 
      else if (control< 0 ) ticket = OrderSend ( Symbol (), OP_SELL, lots, Bid, 3 , 0 , 0 );
      else
         {
         for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
            {
            OrderSelect (i,SELECT_BY_POS);
            if (OrderSymbol()== Symbol ())
            if (OrderType()> 1 )OrderDelete(OrderTicket());
            else OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(), 3 );
            }
         }
      }
   return ( 0 );
 } 
 
안녕하세요. 다음 아이디어를 구현할 수 있는 방법을 알려주세요. 예를 들어 Stochastic = 20, 80 및 50과 같이 포지션을 여는 몇 가지 옵션이 있으며 각 옵션에는 고유한 버전의 마감 기준이 있어야 합니다. 배열이나 다른 것을 통해 몇 가지 값 때문에 배열에 의존하고 싶지 않습니다. 코드를 직접 작성하고 일반 원칙을 더 자세히 설명합니다. 미리 감사드립니다.
 
다른 기준으로 열린 주문에 대해 다른 마법이나 설명을 가질 수 있습니다. 그런 다음 짝을 이루는 기준으로 닫을 때 매직이나 코멘트를 체크한다.
 
granit77 :
다른 기준으로 열린 주문에 대해 다른 마법이나 설명을 가질 수 있습니다. 그런 다음 짝을 이루는 기준으로 닫을 때 매직이나 코멘트를 체크한다.
"댓글"에 대한 좋은 생각입니다. 시도해 보겠습니다. 감사합니다.