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

 
RekkeR :
이 예에서는 별로 어렵지 않다면 코를 찌르면 됩니다.
:)))

 int init()
{
int draw_begin;
string short_name;
//---- drawing settings
SetIndexStyle( 0 , DRAW_LINE );
SetIndexShift( 0 ,MA_Shift);
IndicatorDigits(MarketInfo( Symbol (),MODE_DIGITS));
if (MA_Period< 2 ) MA_Period= 13 ;
draw_begin=MA_Period- 1 ;
//---- indicator short name
switch (MA_Method)
{
case 1 : short_name= "EMA(" ; draw_begin= 0 ; break ;
case 2 : short_name= "SMMA(" ; break ;
case 3 : short_name= "LWMA(" ; break ;
default :
MA_Method= 0 ;
short_name= "SMA(" ;
}
IndicatorShortName( "" );
SetIndexDrawBegin( 0 ,draw_begin);
//---- indicator buffers mapping
SetIndexBuffer ( 0 ,ExtMapBuffer);
SetIndexLabel( 0 , "" );
//---- initialization done
return ( 0 );
}
도움이 되어야 한다
 

메시지를 편집하려고 시도했는데 너무 많은 텍스트를 쓰고 변경 사항과 함께 삽입되지 않습니다.

이것은 코드의 편집된 부분입니까 아니면 추가 부분입니까?

 
dimon74 :
안녕하세요! 얘들아, 말해줘: 슬리피지 - 최대 슬리피지의 값(포인트). 그것은 무엇이며 무엇을 제공합니까? 저는 항상 0을 넣습니다. 바꾸는 것이 의미가 있을지도 모릅니다. DC에서 변경할 수 있습니까? 미리 감사드립니다!

슬리피지(slippage) - 이것은 브로커가 거래를 열 때 슬리피지의 최대 값입니다(즉, 여전히 더 나쁜 가격으로 거래를 하고 싶은 경우). 예를 들어 2 또는 3 또는 5로 설정할 수 있습니다. "0 "는 실제 시장의 조건에서 브로커에게 정의하는 허용 오차가 너무 작습니다.

 
RekkeR :

메시지를 편집하려고 시도했는데 너무 많은 텍스트를 쓰고 변경 사항과 함께 삽입되지 않습니다.

이것은 코드의 편집된 부분입니까 아니면 추가 부분입니까?


수정해야 할 것은 단지 init() 함수일 뿐입니다.

코드를 삽입 하려면 SRC 버튼을 사용하십시오.

 
Vinin :


수정해야 할 것은 단지 init() 함수일 뿐입니다.

코드를 삽입하려면 SRC 버튼을 사용하십시오.

Victor에게 감사합니다. 주말에 스스로 교육하겠습니다. 이것은 흥미로운 비즈니스인 코딩입니다.

결과를 알려드립니다!

 

여러분, 이 스레드에서 같은 질문을 100번이나 하면 화를 내시는 거 잘 압니다.

물론 초심자로서 스스로 알아서 다 하는 것이 재미있기 때문에

그러나 나는 항상 그리고 여전히 조언자가 테스트를 받고 있지만 데모와 실제를 쟁기질하지 않는다는 사실에 대해 막다른 골목에 있습니다.

테스트할 때 오류가 없으며 데모 및 실제 스마일 스마일에서 위치를 열지 않습니다.

문제는 고문이 아니라 DC에 있습니까?

 extern double StopLoss= 1000.0 ;
extern double TakeProfit= 1000.0 ;
extern double Lots= 1.0 ;
extern int total;


int start() {

int dg;
double Price_1,Price_2,min,max,pa,pb,pt;

pt=MarketInfo( Symbol (),MODE_POINT);
dg=MarketInfo( Symbol (),MODE_DIGITS);
pa=MarketInfo( Symbol (),MODE_ASK);
pb=MarketInfo( Symbol (),MODE_BID);
Price_1=pb;
Price_2=pa;
min=iLow( NULL , 0 , 2 );
max=iHigh( NULL , 0 , 2 );
total= OrdersTotal ();

double slB= NormalizeDouble (pa-StopLoss*pt,dg);
double tpB= NormalizeDouble (pa+TakeProfit*pt,dg);
double slS= NormalizeDouble (pb+StopLoss*pt,dg);
double tpS= NormalizeDouble (pb-TakeProfit*pt,dg);

   if (total< 1 ) 
  {
   if (Price_1>max)
       OrderSend ( Symbol (),OP_BUY,Lots,pa, 2 ,slB,tpB, "My order#" , 16384 , 0 , Green );

   if (Price_2<min)
       OrderSend ( Symbol (),OP_SELL,Lots,pb, 2 ,slS,tpS, "My order#" , 16384 , 0 , Green );
  }

}

돕다?

 
artmedia70 :

내역에서 주문을 찾으십시오. 찾으면 해당 주문의 종가 OrderClosePrice()를 StopLoss OrderStopLoss() 수준과 비교하십시오.

그들이 같으면 포지션이 스톱으로 마감되었습니다.

대충 이해했습니다 감사합니다 1번 문제 풀고 나서 알아볼게요
 
gheka :

여러분, 이 스레드에서 같은 질문을 100번이나 하면 화를 내시는 거 잘 압니다.


포지션을 열지 않으면 어떤 오류가 발생합니까? 당신은 이것을 시도 할 수 있습니다

 if (total< 1 ) 
  {
   if (Price_1>max)
       OrderSend ( Symbol (),OP_BUY,Lots,Ask, 100 ,slB,tpB, "My order#" , 16384 , 0 , Green );

   if (Price_2<min)
       OrderSend ( Symbol (),OP_SELL,Lots,Bid, 100 ,slS,tpS, "My order#" , 16384 , 0 , Green );
  }
 
gheka :

여러분, 이 스레드에서 같은 질문을 100번이나 하면 화를 내시는 거 잘 압니다.

물론 초심자로서 스스로 알아서 다 하는 것이 재미있기 때문에

그러나 나는 항상 그리고 여전히 조언자가 테스트를 받고 있지만 데모와 실제를 쟁기질하지 않는다는 사실에 대해 막다른 골목에 있습니다.

테스트할 때 오류가 없으며 데모 및 실제 스마일 스마일에서 위치를 열지 않습니다.

문제는 고문이 아니라 DC에 있습니까?

돕다?


아마도 귀하의 DC는 테이크 및 스톱을 명시적으로 표시하는 것을 허용하지 않을 수 있습니다. 확인 - 해당 위치에서 주문을 여는 기능에 0을 쓰십시오.
 
gheka :

여러분, 이 스레드에서 같은 질문을 100번이나 하면 화를 내시는 거 잘 압니다.

물론 초심자로서 스스로 알아서 다 하는 것이 재미있기 때문에

그러나 나는 항상 그리고 여전히 조언자가 테스트를 받고 있지만 데모와 실제를 쟁기질하지 않는다는 사실에 대해 막다른 골목에 있습니다.

테스트할 때 오류가 없으며 데모 및 실제 스마일 스마일에서 위치를 열지 않습니다.

문제는 고문이 아니라 DC에 있습니까?

돕다?


하나 이상의 위치가 열려 있는 경우(손으로, 다른 고문에 의해) 이 고문은 작동하지 않습니다.
사유: