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

 

안녕하세요. 내 질문으로 돌아갑니다. 트랜잭션 리버스가 작동하지 않습니다. 나는 사이트를 보았지만이 주제에 대해 아무것도 찾지 못했습니다. 내가 뭘 잘못하고 있는지 말해주세요(나는 계속해서 언어를 배우고 있습니다). 이것은 하나의 양초에서 작동하는 데 필요합니다.

외부 이중 TP = 70; // 이익을 취하다
외부 이중 SL = 0; //스톱로스
외부 이중 로트 = 0.1;

더블 하이레벨;
더블 로우레벨;
인트레스바이=0;
인트레스셀=0;


//+----------------------------------------------- --------------------+
//| 전문가 초기화 기능 |
//+----------------------------------------------- --------------------+
정수 초기화()
{
HighLevel=높음[1];
LowLevel=낮음[1];
반품;
}

//+----------------------------------------------- --------------------+
//| 전문가 기능 |
//+----------------------------------------------- --------------------+

무효 시작()
{

if(Bars<100 && IsTradeAllowed()==false) 반환;


if(resBuy==0 && resSell==0 && CheckBreak()==-1)
{
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=닫기[1];
반품;
}

if(resBuy==0 && resSell==0 && CheckBreak()==1)
{
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=고수준;
HighLevel=닫기[1];
반품;
}

if(resBuy!=0 && resSell==0 && 닫기[1]<LowLevel) //----------------------------- --------이 부분이 흥미롭습니다: 같은 막대에서 닫기와 열기
{
bool closeBuy=OrderClose(resBuy, Lot, Bid, 2, Blue);
// while(!IsTradeAllowed()) Sleep(100);
resSell=OrderSend(Symbol(),OP_SELL,Lot,Bid,2,0,Bid -TP,"",MAGICMA,0,Red);
HighLevel=LowLevel;
LowLevel=닫기[1];
반품;
}

if(resSell!=0 && resBuy==0 && 닫기[1]>HighLevel) //---------------------------------------- ------ --이 부분이 흥미롭습니다: 같은 막대에서 닫기와 열기
{
bool closeSell=OrderClose(재판매, 로트, 매도, 0.0002, 레드);
// while(!IsTradeAllowed()) Sleep(100);
resBuy=OrderSend(Symbol(),OP_BUY,Lot,Ask,2,0,Ask + TP,"",MAGICMA,0,Blue);
LowLevel=고수준;
HighLevel=닫기[1];
반품;
}

}

//------------------------------------------------ ------------------ Low&High 브레이크 확인(Func)

이중 CheckBreak()
{
양초=열기[1]-닫기[1];

if(촛불>0 && Low[1]<LowLevel) return(-1);
if(candle<0 && High[1]>HighLevel) return(1);
}


 
좋은 오후에요 여러분,

배열에 문제가 있습니다.

의 말을하자

int start(){ // 함수 시작

int OrdSen_1=OrderSend(Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*포인트, Ask+70*포인트); // 주문 구매
if(OrdSen_1==-1){ Alert("OrdSen_1 ",GetLastError());} // 주문 오류 확인

이중 mas1[]={}; // 배열
}

문제는 OrdSen_1에 속하는 "Symbol(), OP_BUY, 0.10, Ask,1, Ask-70*Point, Ask+70*Point" 값을 mas1[]={} 배열에 넣어 나중에 사용하기 위해 나중에 사용하거나 배열에서 가져오거나 이러한 값을 변수와 동일시할 수 있습니다. 배열뿐만 아니라 그러한 주문이 더 있을 수 있으며, 가장 중요한 것은 원리를 이해하는 것입니다.

도움과 설명에 매우 감사드립니다. 바람직하게는 상세합니다. :)
 
Techno :

외부는 사용하지 않으니 삭제되겠죠. 뭐, 어디선가 부르지 않으시겠지만, 이제 해결이 되셨나요?

알겠습니다, 감사합니다 :)
 
artmedia70 :

이 샘플은 어떠세요? :))))))

Wi-Fi를 조이면 아무것도 아닙니다.
 

인사말. 편집기에서와 같이 동일한 변수가 사용되는 코드의 모든 위치를 추적할 수 있습니다. 기능?

 
Galion :

인사말. 편집기에서와 같이 동일한 변수가 사용되는 코드의 모든 위치를 추적할 수 있습니다. 기능?


나는 이것을 위해 메모장 ++을 사용합니다. 그 안에서 변수를 한 번 선택하면 전체 코드에서 강조 표시됩니다.

 
그러나 Notepad++에서 구문을 강조 표시하려면 MQL4 언어에 맞게 조정해야 합니다. 이 포럼을 검색할 때 Notepad++를 입력하십시오. 이미 구성된 편집기에 대한 링크를 찾을 수 있습니다. 여기에 두 번 이상 게시했습니다.
 
drknn :
그러나 Notepad++에서 구문을 강조 표시하려면 MQL4 언어에 맞게 조정해야 합니다. 이 포럼을 검색할 때 Notepad++를 입력하십시오. 이미 구성된 편집기에 대한 링크를 찾을 수 있습니다. 여기에 두 번 이상 게시했습니다.

고맙습니다. 설치, 하이라이트, 더 재미있어졌습니다))
 
Galion :

고맙습니다. 설치, 하이라이트, 더 재미있어졌습니다))

발견된 변수를 표시하는 매우 흥미로운 기능이 있습니다. Ctrl+F를 누르고 변수 이름을 입력하고 "Bookmark" 및 "Mark found"를 선택합니다. 그런 다음 "모두 찾기" 버튼을 클릭합니다. 제거하려면 "모두 제거" 버튼을 클릭하십시오.
 
drknn :

발견된 변수를 표시하는 매우 흥미로운 기능이 있습니다. Ctrl+F를 누르고 변수 이름을 입력하고 "Bookmark" 및 "Mark found"를 선택합니다. 그런 다음 "모두 찾기" 버튼을 클릭합니다. 제거하려면 "모두 제거" 버튼을 클릭하십시오.

그리고 더블 클릭하면 코드 조각으로 이동합니다))) 그게 당신이 필요로 하는 것입니다, 감사합니다)
사유: