Edward Garnica 배치해야 하는지 또는 언급하신 세 가지 기호에 배치해야 하는지 알고 싶습니다.
언급된 세 가지 기호 이외의 기호도 모두 코드에 정의되어 있으므로 어떤 기호라도 사용할 수 있습니다.
과거 데이터에서 잘 작동합니다 (목표 수익은 0.1 $로 설정). 지연(핑)을 60ms 수준으로 설정했습니다.
데모 계좌의 실제 데이터에서도 시도해 보았습니다:
거래를 열고 닫을 수 있지만 단점이 있습니다. 아마도 핑 시간이 길기 때문일 것입니다 (약 60ms).
VPS를 통해 시도하고 싶습니다.
데모 계좌의 실제 데이터에서도 시도해 보았습니다:
거래를 열고 닫을 수 있지만 단점이 있습니다. 아마도 핑 시간이 길기 때문일 것입니다 (약 60ms).
VPS를 통해 시도하고 싶습니다.
그 이유는 이것 때문입니다. 이 조건의 모든 EA는 좋은 결과를 보여줄 것입니다.
void CloseArbitragePositions() { double totalProfit = 0; // 매직넘버로 포지션의 누적 수익 계산하기 for(int i = 0; i < PositionsTotal(); i++) { ulong ticket = PositionGetTicket(i); if(PositionSelectByTicket(ticket)) { if(PositionGetInteger(POSITION_MAGIC) == MagicNumber) totalProfit += PositionGetDouble(POSITION_PROFIT); } } if(totalProfit >= ProfitTarget) { Print("Profit target raggiunto: ", totalProfit, ". Procedo alla chiusura delle posizioni."); // 안전을 위해 위치를 안쪽으로 반복하여 변경합니다. for(int i = PositionsTotal() - 1; i >= 0; i--) { ulong ticket = PositionGetTicket(i); if(PositionSelectByTicket(ticket)) { if(PositionGetInteger(POSITION_MAGIC) == MagicNumber) { string sym = PositionGetString(POSITION_SYMBOL); if(!trade.PositionClose(sym)) Print("Errore nella chiusura della posizione su ", sym, " - ", GetLastError()); else Print("Posizione su ", sym, " chiusa con successo."); } } } } }
// 더 강력하고, 더 높은 쓰레쉬홀드 사용 가능 int CheckArbitrageOpportunity(double &diff, double &impliedPrice, double &directPrice) { double price1 = SymbolInfoDouble(symbol1, SYMBOL_BID); double price2 = SymbolInfoDouble(symbol2, SYMBOL_BID); directPrice = SymbolInfoDouble(symbol3, SYMBOL_ASK); impliedPrice = price1 * price2; diff = (implied가격 - 직접가격) / 직접가격; if(diff > Threshold) return 1; price1 = SymbolInfoDouble(symbol1, SYMBOL_ASK); price2 = SymbolInfoDouble(symbol2, SYMBOL_ASK); directPrice = SymbolInfoDouble(symbol3, SYMBOL_BID); impliedPrice = price1 * price2; diff = (impliedPrice - directPrice) / directPrice; if(diff < -Threshold) return -1; return 0; }
michal_ SYMBOL_BID); double price2 = SymbolInfoDouble(symbol2, SYMBOL_BID); directPrice = SymbolInfoDouble(symbol3, SYMBOL_ASK); impliedPrice = price1 * price2; diff = (implied가격 - 직접가격) / 직접가격; if(diff > Threshold) return 1; price1 = SymbolInfoDouble(symbol1, SYMBOL_ASK); price2 = SymbolInfoDouble(symbol2, SYMBOL_ASK); directPrice = SymbolInfoDouble(symbol3, SYMBOL_BID); impliedPrice = price1 * price2; diff = (impliedPrice - directPrice) / directPrice; if(diff < -Threshold) return -1; return 0; }
왜 처음 두 심볼의 입찰가를 사용하여 직접 가격의 요청을 계산하고 그 반대의 경우도 계산하기로 결정 했습니까?
삼각 차익거래:
이 전문가 어드바이저(EA)는 EURUSD, USDJPY, EURJPY 세 가지 통화쌍 간의 삼각 차익거래 전략을 실행합니다.
Author: Джованни Орсани