extern string Settings = "주 설정"; // // 외부 정수 MagicNumber = 227 ; //개별번호// extern 이중 로트 = 1 ; //최소 로트 // extern int 이익 = 5000 ; //이익을 취하다 // extern int 손실 = 10000; //손절매 // 외부 정수 델타 = 500 ; extern int 라즈니카 = 700 ; //------------------------------------------------ ----------------------------------// extern string Indicator2 = "밴드"; // // extern int BandsPeriod = 20 ; //기간 // extern int Bands_shift = 0 ; //오프셋 // 외부 이중 편차 = 2.0 ; // // //------------------------------------------------ ----------------------------------// extern int 슬립 = 5; // 미끄러짐 //////////////// int 틱, 틱2, 이동; // // //------------------------------------------------ ----------------------------------// 정수 시작() // { /////////////////////////////////// //------------------------------------------------ -------------------------------------------------- --------------// //밴드 표시기 // //------------------------------------------------ -------------------------------------------------- --------------// double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//상단 라인 표시기 계산// 더블 세레디나=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0); // 중간 라인 표시기 계산 // double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0);//하단 라인 표시기 계산 // //------------------------------------------------ -------------------------------------------------- --------------// 더블 slb, tpb, sls, tps; 이중 이동=(verhB-nizB); Alert("verhB",DoubleToStr(verhB,Digits)); Alert("nizB",DoubleToStr(nizB,Digits)); slb=NormalizeDouble(Ask - (손실*포인트),자리수) ; tpb=NormalizeDouble(Ask + (Profit*Point),Digits); sls=NormalizeDouble(Bid + (Loss*Point),Digits) ; tps=NormalizeDouble(Bid - (Profit*Point),Digits); if(OrdersTotal()==0) { if(go<=델타/10000) Alert("Delta ", DoubleToStr(go,Digits),"가 옵니다!!!"); tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0, CLR_NONE ); //구매하려면 로그인 // if(tick<0) Print("오류 # - ",GetLastError());
tick=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE); // 입구 마을 // if(tick<0) Print("오류 # - ",GetLastError());
}
반환(0);}
도와주세요!!!! 이제 일주일째 운전중!!! 결론은 볼린저의 상단 라인과 하단 라인 사이의 특정 거리에서 스탑 바이와 스탑 스탑에 대해 두 번의 지연이 설정된다는 것입니다. 볼린저의 상하 라인 가격이 같다고 해서 어떤 식으로든 차이를 설정할 수 없습니다 .... 도와주세요 .......
ruslanchik : 나는 주제에서 벗어났다! 표준 도구를 사용하여 alpari에 대해 Point = 0.00001(5자리)을 얻는 방법???
double point( string symb){
double p = 0 ;
int d = 0 ;
p = MarketInfo(symb, MODE_POINT);
d = MarketInfo(symb, MODE_DIGITS);
if (d == 5 || d == 3 ) p *= 10 ;
return (p);
}
//---- 표시기 설정 #속성 표시기_분리_창 #속성 표시기_버퍼 1 #property indicator_color1 실버 //---- 표시기 매개변수 extern int FastEMA=12; extern int SlowEMA=26; 외부 정수 SignalSMA=9; //---- 표시기 버퍼 이중 ind_buffer1[]; 이중 ind_buffer2[]; 이중 ind_buffer3[]; 이중 ind_buffer4[];
//+----------------------------------------------- --------------------+ //| 사용자 지정 표시기 초기화 기능 | //+----------------------------------------------- --------------------+ 정수 초기화() { //---- 2개의 추가 버퍼가 계산에 사용됩니다. 표시기버퍼(4); //---- 그리기 설정 SetIndexStyle(0,DRAW_LINE); SetIndexDrawBegin(0,SignalSMA); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2); //---- 3개의 인디케이터 버퍼 매핑 if(!SetIndexBuffer(0,ind_buffer1) && !SetIndexBuffer(1,ind_buffer2) && !SetIndexBuffer(3,ind_buffer4) && !SetIndexBuffer(2,ind_buffer3)) Print("표시 버퍼를 설정할 수 없습니다!"); //---- DataWindow의 이름 및 표시기 하위 창 레이블 표시기 짧은 이름(); //---- 초기화 완료 리턴(0); } //+----------------------------------------------- --------------------+ //| 오실레이터의 이동 평균 | //+----------------------------------------------- --------------------+ 정수 시작() { 정수 제한; int counted_bars=IndicatorCounted(); //---- 가능한 오류 확인 if(counted_bars<0) return(-1); //---- 마지막으로 계산된 막대가 다시 계산됩니다. if(counted_bars>0) counted_bars--; 제한=막대 개수 계산된 막대기; //---- 첫 번째 추가 버퍼에서 macd 계산 for(int i=0; i<limit; i++) ind_buffer2[i]=iOBV(NULL, 0, PRICE_CLOSE, i); //---- 두 번째 추가 버퍼에서 계산된 신호 라인 for(i=0; i<limit; i++) { ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,10,0,MODE_SMA,i); ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i); } //---- 메인 루프 for(i=0; i<한계; i++) ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i]; //---- 완료 리턴(0); } //+----------------------------------------------- --------------------+
xtern int FastEMA=12; extern int SlowEMA=26; 외부 정수 SignalSMA=9; 다음은 설정입니다. 창의 변경 사항은 아무 작업도 수행하지 않습니다. 표시줄은 변경되지 않습니다.
관심을 가져주셔서 감사합니다.
외부 정수 MagicNumber = 227 ; //개별번호//
extern 이중 로트 = 1 ; //최소 로트 //
extern int 이익 = 5000 ; //이익을 취하다 //
extern int 손실 = 10000; //손절매 //
외부 정수 델타 = 500 ;
extern int 라즈니카 = 700 ;
//------------------------------------------------ ----------------------------------//
extern string Indicator2 = "밴드"; // //
extern int BandsPeriod = 20 ; //기간 //
extern int Bands_shift = 0 ; //오프셋 //
외부 이중 편차 = 2.0 ; // //
//------------------------------------------------ ----------------------------------//
extern int 슬립 = 5; // 미끄러짐 ////////////////
int 틱, 틱2, 이동; // //
//------------------------------------------------ ----------------------------------//
정수 시작() //
{ ///////////////////////////////////
//------------------------------------------------ -------------------------------------------------- --------------//
//밴드 표시기 //
//------------------------------------------------ -------------------------------------------------- --------------//
double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//상단 라인 표시기 계산//
더블 세레디나=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0); // 중간 라인 표시기 계산 //
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0);//하단 라인 표시기 계산 //
//------------------------------------------------ -------------------------------------------------- --------------//
더블 slb, tpb, sls, tps;
이중 이동=(verhB-nizB);
Alert("verhB",DoubleToStr(verhB,Digits));
Alert("nizB",DoubleToStr(nizB,Digits));
slb=NormalizeDouble(Ask - (손실*포인트),자리수) ;
tpb=NormalizeDouble(Ask + (Profit*Point),Digits);
sls=NormalizeDouble(Bid + (Loss*Point),Digits) ;
tps=NormalizeDouble(Bid - (Profit*Point),Digits);
if(OrdersTotal()==0)
{
if(go<=델타/10000)
Alert("Delta ", DoubleToStr(go,Digits),"가 옵니다!!!");
tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0, CLR_NONE ); //구매하려면 로그인 //
if(tick<0) Print("오류 # - ",GetLastError());
tick=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE); // 입구 마을 //
if(tick<0) Print("오류 # - ",GetLastError());
}
반환(0);}
도와주세요!!!! 이제 일주일째 운전중!!! 결론은 볼린저의 상단 라인과 하단 라인 사이의 특정 거리에서 스탑 바이와 스탑 스탑에 대해 두 번의 지연이 설정된다는 것입니다. 볼린저의 상하 라인 가격이 같다고 해서 어떤 식으로든 차이를 설정할 수 없습니다 .... 도와주세요 .......
아마도 귀하의 로트가 정규화되지 않았을 것입니다. 다음을 사용하여 정상으로 되돌리십시오.
당신은 제비를 숫자로 반올림 할 수 없습니다!!!
잘못된 기능에 대한 주석을 보지 마십시오
주의를 기울이다
double verhB=iBands(NULL,0,BandsPeriod ,Bands_shift , Deviations ,PRICE_CLOSE,MODE_UPPER,0);//상단 라인 표시기 계산//
이중 세레디나=iBands(NULL,0,BandsPeriod, Bands_shift , 편차 ,PRICE_CLOSE,0,0); // 중간 라인 표시기 계산 //
double nizB=iBands(NULL,0,BandsPeriod, Bands_shift , Deviations ,PRICE_CLOSE,MODE_LOWER,0);//하단 라인 표시기 계산 //
교환
나는 주제에서 벗어났다! 표준 도구를 사용하여 alpari에 대해 Point = 0.00001(5자리)을 얻는 방법???
안녕하세요
누군가는 표시기 코드를 볼 것입니다. 설정을 전혀 따르지 않습니다.
그리고 난 코드의 평신도야
//---- 표시기 설정
#속성 표시기_분리_창
#속성 표시기_버퍼 1
#property indicator_color1 실버
//---- 표시기 매개변수
extern int FastEMA=12;
extern int SlowEMA=26;
외부 정수 SignalSMA=9;
//---- 표시기 버퍼
이중 ind_buffer1[];
이중 ind_buffer2[];
이중 ind_buffer3[];
이중 ind_buffer4[];
//+----------------------------------------------- --------------------+
//| 사용자 지정 표시기 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
//---- 2개의 추가 버퍼가 계산에 사용됩니다.
표시기버퍼(4);
//---- 그리기 설정
SetIndexStyle(0,DRAW_LINE);
SetIndexDrawBegin(0,SignalSMA);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 3개의 인디케이터 버퍼 매핑
if(!SetIndexBuffer(0,ind_buffer1) &&
!SetIndexBuffer(1,ind_buffer2) &&
!SetIndexBuffer(3,ind_buffer4) &&
!SetIndexBuffer(2,ind_buffer3))
Print("표시 버퍼를 설정할 수 없습니다!");
//---- DataWindow의 이름 및 표시기 하위 창 레이블
표시기 짧은 이름();
//---- 초기화 완료
리턴(0);
}
//+----------------------------------------------- --------------------+
//| 오실레이터의 이동 평균 |
//+----------------------------------------------- --------------------+
정수 시작()
{
정수 제한;
int counted_bars=IndicatorCounted();
//---- 가능한 오류 확인
if(counted_bars<0) return(-1);
//---- 마지막으로 계산된 막대가 다시 계산됩니다.
if(counted_bars>0) counted_bars--;
제한=막대 개수 계산된 막대기;
//---- 첫 번째 추가 버퍼에서 macd 계산
for(int i=0; i<limit; i++)
ind_buffer2[i]=iOBV(NULL, 0, PRICE_CLOSE, i);
//---- 두 번째 추가 버퍼에서 계산된 신호 라인
for(i=0; i<limit; i++) {
ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,10,0,MODE_SMA,i);
ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i);
}
//---- 메인 루프
for(i=0; i<한계; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- 완료
리턴(0);
}
//+----------------------------------------------- --------------------+
xtern int FastEMA=12;
extern int SlowEMA=26;
외부 정수 SignalSMA=9; 다음은 설정입니다. 창의 변경 사항은 아무 작업도 수행하지 않습니다. 표시줄은 변경되지 않습니다.
작성자가 내 항소를 해킹했습니다.