각 통화 쌍 은 고유한 GlobalVariable을 갖습니다(예: "MyEA_EURUSD").
EA를 하루에 한 번의 거래로 제한하는 경우 코드는 다음과 같습니다.
문자열 sCheck = "MyEA_" + Symbol();
날짜 시간 t = TimeCurrent();
날짜/시간 tTrade = t - TimeHour(t)*60*60 - TimeMinute(t)*60 - TimeSeconds(t);
if(!GlobalVariableCheck(sCheck)) GlobalVariableSet(sCheck, tTrade -PERIOD_D1 * 60);
if(GlobalVariableGet(sCheck) < tTrade) {
주문 보내기(.......);
GlobalVariableSet(sCheck, tTrade);
}
이것을 다시 맨 위로 가져 와서 죄송하지만 지금 같은 문제가 있습니다. 불행히도 sxTed는 나에게 질문에 대답하지 않았습니다. 거래 시간을 설명하는 것은 각 통화 쌍 에 대한 주문량과 다르기 때문입니다.
sxTed의 라인을 수정하려고 시도했지만 이 문제를 해결하는 데 실패했다고 생각합니다.
string sCheck = "MyEA_" + Symbol (); // already the first error in the code, second quotes should be at the end of the line. //I would correct this one to: string sCheck = "MyEA_ + Symbol()" ; //However symbol() is not a function anymore ?? int start () { // Closing Orders here if (! GlobalVariableCheck (sCheck)) //checking Globalvariable, GV available so it becomes true (independently of what kind of GV we have)... GlobalVariableSet (sCheck, Symbol () ); //.. assigning a new GlobalVariable to the function of the current symbol the EA is attached on (does it actually work like this?) if ( GlobalVariableGet (sCheck) == Symbol ()) { // checking if our Symbol is the one which the EA is attached on --> becomes true... // Order Criteria (Open trades here) // What now? Actually i'm missing any kind of numbers or smth that limits the open orders per currency pair.
제발: 이 장소의 어떤 문헌에도 저를 연결하거나 누군가를 고용하라고 말하지 마세요. 저는 지금 책을 공부하고 있는데 막혔습니다!!!
각 통화 쌍에 대해 별도의 EA를 사용합니다.
포지션을 개설해야 하는지 확인하기 위해 "if (OrdersTotal<1)" 미결 주문이 없는지 테스트하지만 이 경우 포지션을 여는 다른 모든 통화 쌍이 차단되고 기회를 놓치게 됩니다.
즉, 통화 쌍당 하나의 포지션만 개설하고 싶습니다 = 여러 포지션이 가능해야 하지만 다른 통화 쌍에 있어야 합니다.
"if (OrdersTotal<1)" 대신 어떤 코드를 사용해야 합니까? 아무도 나를 도울 수 있습니까? 당신의 도움에 미리 감사드립니다.
정수 합계=OrdersTotal(); 정수 개수 = 0; 정수 매그노 = 12345; for(int pos=0;pos<total;pos++) { if(OrderSelect(pos,SELECT_BY_POS) == false) 계속; if (OrderMagicNumber() != magno) 계속; if (OrderSymbol() != Symbol()) 계속; 카운트++; } // 이제 이 EA에서 이 기호에 대해 몇 개의 주문을 개설했는지 알 수 있습니다. if (카운트 < 1) { // 무언가를 하십시오 - 아마도 오픈 오더 }도움이 되나요?
도움이 되나요?
도움이 되나요?
int total= OrdersTotal ();
모든 통화 쌍 의 총 오픈 오더를 제한합니까?
다음과 같이 코드를 삽입했습니다.
int total= OrdersTotal (); int count = 0 ; for ( int pos= 0 ;pos<total;pos++) { if ( OrderSelect (pos,SELECT_BY_POS) == false) continue ; if ( OrderSymbol () != Symbol ()) continue ; count++; } if (Sell_1_1 < Sell_1_2 && CloseSell1_1 > CloseSell1_2 && count < 1 ) Order = SIGNAL_SELL; // Trigger for Sell if (Buy_1_1 > Buy_1_2 && CloseBuy1_1 < CloseBuy1_2 && count < 1 ) Order = SIGNAL_BUY; // Trigger for Buy if (order == SIGNAL_BUY) { OrderSend (...) }
그리고 여전히 하나의 거래만 열었습니다. sxTed는 그의 전역 변수로 우리에게 무엇을 말하려고 했습니까?
모든 통화 쌍의 총 오픈 오더를 제한합니까?
다음과 같이 코드를 삽입했습니다.
그리고 여전히 단 하나의 거래만 시작하고 있습니다. sxTed는 그의 전역 변수로 무엇을 말하려고 했습니까?
귀하의 EA는 몇 개의 차트에 있습니까?
코드를 테스트하기 위해 5개의 차트를 열었지만 N개의 차트를 열고 싶습니다. 금액은 중요하지 않습니다.
각 통화 쌍에 대해 별도의 EA를 사용합니다.
포지션을 개설해야 하는지 확인하기 위해 "if (OrdersTotal<1)" 미결 주문이 없는지 테스트하지만 이 경우 포지션을 여는 다른 모든 통화 쌍이 차단되고 기회를 놓치게 됩니다.
즉 , 통화 쌍당 하나의 포지션만 개설하고 싶습니다 = 여러 포지션이 가능해야 하지만 다른 통화 쌍에 있어야 합니다.
"if (OrdersTotal<1)" 대신 어떤 코드를 사용해야 합니까? 아무도 나를 도울 수 있습니까? 당신의 도움에 미리 감사드립니다.
다음과 같이 코딩하십시오.
int Total_Order = OrdersTotal (); for (pos = 0 ; pos <= Total_Order; pos ++) { if ( OrderSelect (pos, SELECT_BY_POS) == true) { if ( OrderSymbol () == Symbol ()) { Print ( ":( Sorry already have that symbol opened " ); // get outta here do something else break ; } else { Print ( "No order opened for this symbol" ); Print ( "Let\'s call waitress and order some drink :)" ); // do some order then break out and get out } } }
각 통화 쌍 에 대해 별도의 EA를 사용합니다.
포지션을 개설해야 하는지 확인하기 위해 "if (OrdersTotal<1)" 미결 주문이 없는지 테스트하지만 이 경우 포지션을 여는 다른 모든 통화 쌍이 차단되고 기회를 놓치게 됩니다.
즉, 통화 쌍당 하나의 포지션만 개설하고 싶습니다 = 여러 포지션이 가능해야 하지만 다른 통화 쌍에 있어야 합니다.
"if (OrdersTotal<1)" 대신 어떤 코드를 사용해야 합니까? 아무도 나를 도울 수 있습니까? 당신의 도움에 미리 감사드립니다.