Ho fatto trading manuale, eurusd 5 min, controlla se hai tempo....
Voglio costruire un EA basato su questa strategia, ho solo bisogno di chiudere i trade con la condizione _2 :), non riesco a capirlo, ho anche una funzione di chiusura e ottengo errori tutto il tempo.....
int start()
{
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 13.06.2007 |//| Описание : Удаление ордеров. Версия функции для тестов на истории. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL - текущий символ) |//| op - операция ( -1 - любой ордер) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void DeleteOrders(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), ot;
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), CLR_NONE);
}
}
}
}
}
}
Chiamate la procedura in questo modo, per esempio:
int start()
{
DeleteOrders(NULL, -1, -1);
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 13.06.2007 |//| Описание : Удаление ордеров. Версия функции для тестов на истории. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL - текущий символ) |//| op - операция ( -1 - любой ордер) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void DeleteOrders(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), ot;
if (sy=="" || sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType();
if (ot==OP_BUYLIMIT || ot==OP_BUYSTOP || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
OrderDelete(OrderTicket(), CLR_NONE);
}
}
}
}
}
}
Ho fatto trading manuale, eurusd 5 min, controlla se hai tempo....
Voglio costruire un EA basato su questa strategia, ho solo bisogno di chiudere i trade con la condizione _2 :), non riesco a capirlo, ho anche una funzione di chiusura e ottengo errori tutto il tempo.....
creato di nuovo, cancellato tutto, ma lasciato la funzione e salvato - ma nessun errore
ma appena aggiungo int start ci sono errori... Quale potrebbe essere il problema?
non funziona...
come allora chiudere un ordine con questa funzione sotto condizione_2 chiudere un ordine
ecco la condizione per aprire un trade in condizione_1
DanLett:
Chiamate la procedura in questo modo, per esempio: