Stereosin : 모두에게 좋은 하루. 결론 - 각 공개 시장 주문(이익실현 및 손절매가 있음)에 대해 손절매가 발생하면 보류 주문이 반대 방향으로 배치됩니다(주문이 매수인 경우 보류 중인 주문이 전송됨). 현재 주문이 이익실현으로 마감되었을 때 보류 중인 주문을 삭제하는 스크립트를 작성하기 위해 구문의 순서를 어떤 식으로든 파악할 수 없습니까? 무료글 중에 이미 작성된 스크립트가 있을지도 모르지만 검색이 잘 안되네요 (.이를 이해하기 위해 직접 작성하고 싶지만 구문 순서를 이해할 수 없습니다. 다른 예를 들어 설명하겠습니다 - I want ice cream - 구문 순서 - 1) - 소파에서 벗어나기 2) 옷을 입기 3) 가게로 걸어가기 4) 아이스크림을 사세요. 내 작업에 대해 동일한 것을 작성할 수 있습니까?
현재 주문이 마감되면 구매당 주문 수가 감소하거나 전혀 없을 것입니다(알고리즘에 따라 다름) 이 확인을 수행하고 보류 중인 주문을 제거합니다
이와 같은 것(여기서 반대로 이전에 배치된 매수가 이익으로 마감된 경우 연체자는 제거됨):
for ( int m= OrdersTotal ()- 1 ;m>= 0 ;m--)
if ( OrderSelect (m,SELECT_BY_POS,MODE_TRADES))
if ( Symbol ()==OrderSymbol() && OrderMagicNumber()==Magic) {
if (OrderType()==OP_BUY) sBuy++;
if (OrderType()==OP_SELL) sSell++;
if (OrderType()==OP_BUYLIMIT)
if (sBuy== 0 || sSell> 0 ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLLIMIT)
if (sSell== 0 || sBuy> 0 ) OrderDelete(OrderTicket());
}
봐요, 문제가 생겼어요. 그 의미를 잘 이해하지 못해요. 코드의 의미는 정지 손실이 정지 수준보다 작을 수 있는 특정 신호로 주문을 여는 것입니다. 이런 일이 발생하면 - 원하는 크기로 정지 손실을 늘립니다. 나는 열 때 tp를 설정하지 않고 프로그램에서 가상으로두고 주문을 엽니 다. 결과적으로 15 - 20 중 하나만 열려 있습니다. 각 주문을 열려면 어떻게 해야 합니까? 코드 :
함수를 찾았습니다. 100개의 막대에 대한 최대 및 최소 가격을 결정하고 수평선을 그립니다. 선으로 - 한 번만 그립니다. 즉 - 새로운 최고점과 최저점으로 또 다른 100점을 전달하면 선이 그려지지 않습니다. 아시는 분은 회신 부탁드립니다. - 여기 코드 자체가 있습니다
마침내 문서를 존중하는 테마 . 거기에서 많은 흥미로운 것을 찾을 수 있습니다... 예를 들어 , iHighest 는 해당 차트에서 가장 높은 값(현재 막대에 상대적인 오프셋)의 인덱스를 반환합니다. 그리고 iHigh 는 해당 차트의 막대(shift 매개변수로 표시)의 최고 가격 값을 반환합니다. 이 두 가지 기능을 이해하면 항상 잘 작성되지 않은 다른 사람의 기능에 의존하지 않고도 문제를 쉽게 해결할 수 있습니다.
표시기가 비표준 그래픽 개체를 그리는 경우 해당 개체에 액세스할 수 있습니까? 문제는 객체 목록에 표시되지 않고(All 버튼을 누른 상태에서) ObjectsTotal() 함수가 객체를 볼 수 없다는 것입니다. 이름으로 개체에 액세스하려고 할 때 GetLastError()는 오류 4202를 반환합니다( ObjectFind() 함수 ).
모두에게 좋은 하루. 결론 - 각 공개 시장 주문(이익실현 및 손절매가 있음)에 대해 손절매가 발생하면 보류 주문이 반대 방향으로 배치됩니다(주문이 매수인 경우 보류 중인 주문이 전송됨). 현재 주문이 이익실현으로 마감되었을 때 보류 중인 주문을 삭제하는 스크립트를 작성하기 위해 구문의 순서를 어떤 식으로든 파악할 수 없습니까? 무료글 중에 이미 작성된 스크립트가 있을지도 모르지만 검색이 잘 안되네요 (.이를 이해하기 위해 직접 작성하고 싶지만 구문 순서를 이해할 수 없습니다. 다른 예를 들어 설명하겠습니다 - I want ice cream - 구문 순서 - 1) - 소파에서 벗어나기 2) 옷을 입기 3) 가게로 걸어가기 4) 아이스크림을 사세요. 내 작업에 대해 동일한 것을 작성할 수 있습니까?
현재 주문이 마감되면 구매당 주문 수가 감소하거나 전혀 없을 것입니다(알고리즘에 따라 다름) 이 확인을 수행하고 보류 중인 주문을 제거합니다
이와 같은 것(여기서 반대로 이전에 배치된 매수가 이익으로 마감된 경우 연체자는 제거됨):
이것이 작동하는 방식입니다.
if (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;
if (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;
그리고 결국 이렇게?
if (OrderOpenTime()+8100 <=TimeCurrent()) Cls_Buy=true;
현재 주문이 마감되면 구매당 주문 수가 감소하거나 전혀 없을 것입니다(알고리즘에 따라 다름) 이 확인을 수행하고 보류 중인 주문을 제거합니다
이와 같은 것(여기서 반대로 이전에 배치된 매수가 이익으로 마감된 경우 연체자는 제거됨):
봐요, 문제가 생겼어요. 그 의미를 잘 이해하지 못해요. 코드의 의미는 정지 손실이 정지 수준보다 작을 수 있는 특정 신호로 주문을 여는 것입니다. 이런 일이 발생하면 - 원하는 크기로 정지 손실을 늘립니다. 나는 열 때 tp를 설정하지 않고 프로그램에서 가상으로두고 주문을 엽니 다. 결과적으로 15 - 20 중 하나만 열려 있습니다. 각 주문을 열려면 어떻게 해야 합니까? 코드 :
RefreshRates();
double bid = MarketInfo(symbol,MODE_BID);double ask = MarketInfo(symbol,MODE_ASK);
double stoplevel = NormalizeDouble(stoplevelTemp * tickTemp,digitsTemp)+tickTemp;
if(digitsTemp == 5 )stoplevel+=(700 * tickTemp);
if(spreadOrdDangBr < stoplevel) //если спред меньше стоплевела - перебиваем
spreadOrdDangBr=stoplevel;
double lotDB = calculationLot(spreadOrdDangBr,0.0025); //расчитываем лот - четверть процента свободных денег
slODB=ask-spreadOrdDangBr;
tpODB= ask+ spreadOrdDangBr;
orderTicketODB=OrderSend(symbol,OP_BUY,lotDB,ask,3,slODB,0,("dangBr" +spreadOrdDangBr));
결과적으로 터미널에서
도와주세요, 제발! 예를 들어 구매를 연 후 가격이 예를 들어 100 상승할 때 원합니다.
포인트, 손절매 는 이전 손절매에 비해 0이 되었습니다.
내가 옳은 일을 하고 있습니까?
if(Bid-OrderOpenPrice()>Point* 100 )
{
OrderModify(OrderTicket(),OrderOpenPrice(), 0 ,TakeProfit,0,);
반환(0);
}
고맙습니다!
안녕하세요 여러분) 선택한 바의 최고가를 결정하는 방법(예: 백분의 일)
함수를 찾았습니다. 100개의 막대에 대한 최대 및 최소 가격을 결정하고 수평선을 그립니다. 선으로 - 한 번만 그립니다. 즉 - 새로운 최고점과 최저점으로 또 다른 100점을 전달하면 선이 그려지지 않습니다. 아시는 분은 회신 부탁드립니다. - 여기 코드 자체가 있습니다
외부 정수 Quant_Bars=100; // 막대의 수
//------------------------------------------------ --------------------
int start() // 사양. 시작 기능
{
정수 나; // 바 번호
double Minimum=Bid, // 최저 가격
최대=입찰가 // 최고가
for(i=0;i<=Quant_Bars-1;i++) // 0(!)에서 ..
{ // ..Quant_Bars-1(!)
if (Low[i]< Minimum) // If < 알려진 경우
최소=낮음[i]; // 그러면 최소값이 됩니다.
if (High[i]> Maximum) // If > 알려진 경우
최대=높음[i]; // 그러면 최대값이 됩니다.
}
Alert("마지막 ",Quant_Bars, // 표시
" 막대 최소 = ",최소," 최대 = ", 최대);
double line1=ObjectCreate("highLine", OBJ_HLINE ,0,0,최대);
double line2= ObjectCreate("lowLine",OBJ_HLINE,0,0,최소);
리턴(0); // start()에서 종료
}