C'è già un tentativo di chiudere la posizione per codice. Sembra corretto lasciare all'utente il controllo della chiusura della posizione. 10 tentativi non sono una panacea
Il terminale è stato aggiornato al 1983. Ci sono alcuni strani errori nel tester quando si creano oggetti grafici (sto creando linee verticali e linee di tendenza). Nel 1981 tutto era normale.
Ora ottengo gli errori 4001.
Codice di creazione:
//+------------------------------------------------------------------+//| Создаем трендовую линию на чарте |//+------------------------------------------------------------------+void DrawTrendLine(conststring id,// Строковый идентификаторconstdatetime t1, // Время первой точки линииconstdatetime t2, // Время второй точки линииconstdouble price,// Цена обеих точек линииconstcolor clr // Цвет линии
)
{
//--- Формируем имя линииconststring name=_prefix+id+TimeToString(t1)+"_"+TimeToString(t2);
//--- Сбрасываем код последней ошибкиResetLastError();
//---//Print( __FUNCTION__,": Создаем тренд-линию "+name+": t1 = "+TimeToString( t1 )+", t2 = "+TimeToString( t2 )+", price = "+DoubleToString( price ) );//--- Создаем объект, проверяем созданиеif(ObjectCreate(0,name,OBJ_TREND,0,t1,price,t2,price)) // Если объект создан
{
//--- Меняем свойства линийObjectSetInteger(0,name,OBJPROP_COLOR,clr);
ObjectSetInteger(0,name,OBJPROP_BACK,true);
ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);
ObjectSetInteger(0,name,OBJPROP_SELECTED,false);
ObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_DOT);
ObjectSetInteger(0,name,OBJPROP_RAY_LEFT,false);
ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false);
}
else// Если объект не созданPrint(__FUNCTION__,": ОШИБКА #",GetLastError(),": Объект '"+name+"' не построен! t1 = "+TimeToString(t1)+", t2 = "+TimeToString(t2)+", price = "+DoubleToString(price));
}
//+------------------------------------------------------------------+//| Создаем вертикальную линию на чарте |//+------------------------------------------------------------------+void DrawVLine( conststring id, // Строковый идентификаторconstdatetime time // Время
)
{
//--- Формируем имя линииconststring name=_prefix+id+TimeToString(time);
//--- Сбрасываем код последней ошибкиResetLastError();
//--- Создаем объект, проверяем созданиеif(ObjectCreate(0,name,OBJ_VLINE,0,time,0)) // Если объект создан
{
//--- Меняем свойства линийObjectSetInteger(0,name,OBJPROP_COLOR,_vLineClr);
ObjectSetInteger(0,name,OBJPROP_BACK,true);
ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);
ObjectSetInteger(0,name,OBJPROP_SELECTED,false);
ObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_DOT);
}
else// Если объект не созданPrint(__FUNCTION__,": ОШИБКА #",GetLastError(),": Объект '"+name+"' не построен! t1 = "+TimeToString(time));
}
La funzionemytrade.PositionClose(conststring symbol,ulong deviation=ULONG_MAX) della libreria standard manca di un parametro di commento:conststring comment="".
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
La logica che già esiste è rotta.
Questo è più interessante.
Se non cambiamo le chiamate, il commento sarà sovrascritto come prima.
Se passiamo esplicitamente NULL, copiamo il commento esistente
La logica che già esiste viene violata.
Nessuno usa questa logica. Tanto più che è falso.
La logica che già esiste è rotta.
Questo è più interessante.
Se non cambiate le sfide, il commento sarà sovrascritto come prima.
Se passa esplicitamente NULL, allora copia il commento esistente
Per favore, date un'occhiata e
fa 10 (!!!) tentativi per chiudere una posizione:( Ho avuto queste situazioni durante il debugging (Netting, Real, Opening):
la linea evidenziata è il 2° tentativo di chiudere una posizione :) Come potete vedere dai log non ha avuto completamente successo
Al momento lo sto usando:
C'è già un tentativo di chiudere la posizione per codice. Sembra corretto lasciare all'utente il controllo della chiusura della posizione. 10 tentativi non sono una panacea
La logica che già esiste è rotta.
Questo è più interessante.
Se non cambiamo le chiamate, il commento sarà sovrascritto come prima.
Se passiamo esplicitamente NULL, copiamo il commento esistente
O forse sarà più conveniente.
Poi chiunque ne abbia bisogno lo sovrascriverà con un valore vuoto. Il valore predefinito sarà copiato.
Cari sviluppatori!
Il terminale è stato aggiornato al 1983. Ci sono alcuni strani errori nel tester quando si creano oggetti grafici (sto creando linee verticali e linee di tendenza). Nel 1981 tutto era normale.
Ora ottengo gli errori 4001.
Codice di creazione:
Domanda per gli sviluppatori.
La funzionemytrade.PositionClose(conststring symbol,ulong deviation=ULONG_MAX) della libreria standard manca di un parametro di commento:conststring comment="".
È una svista?
Sembra più appropriato scrivere qui:
https://www.mql5.com/ru/forum/302709#comment_10570043