남. 찬성! 수동 모드에서 작동하는 closeBy() 함수는 어디에서 찾을 수 있습니까? 내 올빼미에 삽입하고 싶습니다. 수동이 아니라 자동으로 조건에 따라 최대 플러스가있는 반대 위치의 최대 마이너스 위치를 닫을 수 있습니다. 코드베이스에서 찾을 수 없습니다. 고맙습니다!
borilunad : 남. 찬성! 수동 모드에서 작동하는 CloseBy() 함수는 어디에서 찾을 수 있습니까? 수동이 아니라 자동으로 조건에 따라 최대 플러스가있는 반대쪽의 최대 마이너스 위치를 닫을 수 있도록 올빼미에 삽입하고 싶습니다. 코드베이스에서 찾을 수 없습니다. 고맙습니다!
이 옵션을 시도하십시오.
bool LockOFF( int EA_Magic) {
double Result, PrevLoss, PrevProfit;
int pos, orders_total, order_type, MaxProfitTicket, MaxLossTicket;
bool Ans;
MaxProfitTicket=- 1 ; MaxLossTicket=- 1 ;
orders_total= OrdersTotal ();
for (pos=orders_total- 1 ; pos>= 0 ; pos--) {
if (! OrderSelect (pos, SELECT_BY_POS, MODE_TRADES)) continue ;
if (OrderSymbol()!= Symbol () || OrderMagicNumber()!=EA_Magic) continue ; // не наш ордерif (OrderType()> 1 ) continue ;
Result=OrderProfit()+OrderSwap()+OrderCommission();
if (Result< 0.0 && (PrevLoss== 0.0 || Result<PrevLoss)) {
PrevLoss=Result; MaxLossTicket=OrderTicket(); order_type=OrderType(); } } // end of forif (MaxLossTicket==- 1 ) return ( false ); // нет убыточной позицииif (order_type==OP_BUY) order_type=OP_SELL; else order_type=OP_BUY;
orders_total= OrdersTotal ();
for (pos=orders_total- 1 ; pos>= 0 ; pos--) {
if (! OrderSelect (pos, SELECT_BY_POS, MODE_TRADES)) continue ;
if (OrderSymbol()!= Symbol () || OrderMagicNumber()!=EA_Magic) continue ; // не наш ордерif (order_type!=OrderType()) continue ;
Result=OrderProfit()+OrderSwap()+OrderCommission();
if (Result> 0.0 && (PrevProfit== 0.0 || Result>PrevProfit)) {
PrevProfit=Result; MaxProfitTicket=OrderTicket(); } } // end of forif (MaxProfitTicket==- 1 ) return ( false ); // нет противоположной прибыльной позиции
Ans=OrderCloseBy(MaxLossTicket, MaxProfitTicket);
if (!Ans) { Print ( "Ошибка при встречном закрытие" ); return ( false ); }
return ( true ); }
모두에게 좋은 하루!
저는 초보자입니다. 처음으로 테스터에서 아이디어를 코드로 번역하려고 합니다.
아이디어는 간단합니다. 각 시간 초의 시작 가격에서 하나의 주문을 위아래로 교대로 엽니다.
간단한 코드를 작성했습니다 .... 하지만 문제는 촛불 하나를 열 때 어떤 이유로 프로그램이 때때로 1 개 이상의 주문을 열 수 있다는 것입니다.
1초 이내에 1틱 이상이 오면 이런 일이 일어나는 것 같아요.
옵션으로 if ( ) ..인 경우 조건 헤더를 넣어 보았습니다.
단 하나의 주문만 실제로 열립니다.
그러나이 양초를 열 때 다음날이 양초가 열리지 않기 때문에이 옵션은 나에게 적합하지 않습니다.
거래에 이미 다른 임의의 수의 주문이 있습니다.
나는 또한 OrderSend(Symbol(),OP_BUY,0.1,Price,3,SL,TP); return으로 start() 실행을 중단합니다. .... 도움이되지 않았습니다.
1초 안에 모든 틱에 1개의 주문만 열리도록 만드는 방법을 알려주시면 모두 감사하겠습니다.
정수 시작()
{
두 배 가격=묻다;
더블 SL=가격-300*포인트;
더블 TP=가격+300*포인트;
if( 시()==10 && 분()== 00 && 초()==00)
OrderSend(Symbol(),OP_BUY,0.1,가격,3,SL,TP);
}
빠른 답변 정말 감사합니다. 만족합니다.
이 옵션을 시도하십시오.
남. 찬성! 수동 모드에서 작동하는 CloseBy() 함수는 어디에서 찾을 수 있습니까? 수동이 아니라 자동으로 조건에 따라 최대 플러스가있는 반대쪽의 최대 마이너스 위치를 닫을 수 있도록 올빼미에 삽입하고 싶습니다. 코드베이스에서 찾을 수 없습니다. 고맙습니다!
이 옵션을 시도하십시오.
세르게이, 한 눈에 서! 내가 망쳐놓고 조건을 만들고 해볼게. 매우 감사합니다!
나는 그것을 시도, 그것은 오류없이 작동합니다! 이제 조건을 실험하여 의미가 있고 질서가 있을 것입니다! 하지만 그건 내일이야!
매우 감사합니다! 그리고 흥미로운 꿈!
세르게이, 한 눈에 서! 내가 망쳐놓고 조건을 만들고 해볼게. 매우 감사합니다!
카운터 클로징 명령 대신 본격적인 카운터 클로징 기능을 삽입하십시오. 그렇지 않으면 테스터 전용입니다. 그리고 함수에서 변수를 초기화합니다.
Artyom 감사합니다! 너무 늦었다. 오늘은 온라인 규칙에 따라 모든 것을 할 것입니다!
안녕하세요. 그런 질문이 있습니다.
나는 다른 전문가와 칠면조의 코드 조각에서 큰 어려움으로 지표를 다시 만들었습니다. 코드가 크지 않고 모든 것이 내가 원하는대로 수행됩니다.
사실 자체적으로 계산을 하고 차트에 위 또는 아래 화살표를 표시합니다.
차트에 화살표가 나타나면 주문이 올바른 방향으로 열리도록 전문가를 만드는 방법을 알려주세요.
더 정확하게는 지금 어떤 화살표가 활성화되어 있는지 알아야 하고 나머지는 내가 할 수 있다고 생각합니다.
나는 그것을 더 명확하게하기 위해 코드를 줄 것입니다. 이것은 표시기의 초기화입니다.
SetIndexBuffer(1, Vverh);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,233);
SetIndexBuffer(2,Vniz);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,234);
모두 미리 감사드립니다