SGarnov : 그래서 어떤 이유로 그는 자신의 명령을 기억하지 못하고 역사에서 볼 수 없습니다. 코드에 따르면 그래야 하지만 실제로는 보이지 않습니다. 도울 수 있니? 이전에 게시된 소스 코드
@MakarFX는 이미 합니다. 간섭하지 맙시다.
제가 하고 싶은 말.. (개인적으로/개인적으로) 명확하게 모든 것을 작성하고 코드를 복사하여 붙여넣지 마십시오.
고도로 단순화된 로봇 골격은 다음과 같습니다.
int ticket=- 1 ; // тикет открытого ордераbool inited= false ; // признак завершения инициализацииintOnInit ()
{
ticket=- 1 ;
inited= false ;
// ещё надо проверить параметры, но пока чёрт с ними// пробуем загрузить прежнее состояниеif (LoadState()) {
// из файла, базы или глоб.переменных загрузилисьif (!CheckState()) {
// проверили, плохо всё..
ClearState(); // удалить и поругатьсяAlert ( "Усё пропало, шеф !" );
returnINIT_FAILED ();
}
}
return ( INIT_SUCCEEDED );
}
voidOnDeinit ( constint reason)
{
if (inited) {
// инициализация была проведена, стейт мог уже менятся во время работы
SaveState(); // сохраняем куда-то там
}
}
voidOnTick ()
{
//// ЧТОБЫ БЫ БЫЛО ХОРОШО, //// НЕ БОЛЕЕ 1-го ПРИКАЗА Open/Close/Modify на тик//// И ЗАВЕРШИТЬ ВСЁ ПО БЫСТРОМУif (!inited) {
// связь есть, тики идут// довести инициализацию до нужной кондицииif (!DoInit()) {
// не довеласьAlert ( "вот же блин..." );
ExpertRemove ();
} else {
// в DoInit проставлен корректный ticket
inited= true ;
}
return ;
}
// всё проиничено, ticket или -1 если нет нифига или реально тикет//// РАЗБОРЫ С ТИКЕТАМИif (ticket< 0 ) {
// нет открытых ордеров// может открыть/переоткрыть ?
} else {
if (! OrderSelect (ticket,SELECT_BY_TICKET,MODE_TRADES)) {
// что-то не так с синхронизацией, просто пропустим тикreturn ;
}
if (OrderCloseTime()!= 0 ) {
// ордер закрылся ручками или по стопам/тейкам (или стопаут, приплыли)
OnCloseOrder(); // обработать, разобраться
ticket=- 1 ; // нет у нас больше тикета..// в этот тик больше не успетьreturn ;
} else {
if ((OrderStopLoss()== 0 && SL!= 0 ) || (OrderTakeProfit()== 0 && TP!= 0 )) {
// свежачок - надо ему выстаить Тейк и/или стоп
} else {
// для реала - проверять сработку Sl/Tp на ГЕПАХ, ЭТО ВАЖНО
}
}
}
//// РАЗБОРЫ с БАРАМИ
CheckForOnBar();
/// и так далее...
}
voidOnTimer ()
{
// тики завершаем быстро-быстро, поэтому открытия баров дополнительно проверяем по таймеру
CheckForOnBar();
}
더 쉽게 하기 위해 내 소스 코드를 가져오면 논리가 작동하지만 내가 설명한 문제를 제외하고는 잘 이해되지 않고 머리가 끓어오르지만 의미가 없습니다.
그래서 어떤 이유로 그는 자신의 명령을 기억하지 못하고 역사에서 볼 수 없습니다. 코드에 따르면 그래야 하지만 실제로는 보이지 않습니다. 도울 수 있니? 이전에 게시된 소스 코드
@MakarFX는 이미 합니다. 간섭하지 맙시다.
제가 하고 싶은 말.. (개인적으로/개인적으로) 명확하게 모든 것을 작성하고 코드를 복사하여 붙여넣지 마십시오.
고도로 단순화된 로봇 골격은 다음과 같습니다.
맥주는 놀라운 효과를 내고 사람들을 더 친절하게 만듭니다 :-)
하나 또는 두 개의 다른 방향으로 보류 중인 주문 을 합니까?
나는 항상 보류중인 게시물을 게시합니다
시도, 질문
시도, 질문
런칭. 구독 취소 도와 주셔서 감사합니다.
누군가이 행동의 이유를 설명 할 수 있습니까?
주문을 엽니다
그런 다음 고문이 수정합니다.
그리고 이 헛소리
2021.07.29 18:53:58.313 '60744458': order #1639674290 sell 0.01 USDJPY closing at 0.000 failed [Off quotes] 2021.07.29 18:53:57.647 '60744458': close order #1639674290 sell 0.01 USDJPY at 109.519 sl: 0.000 tp: 0.000 at price 0.000가장 흥미로운 점은 이것이 USDJPY 쌍에서 발생하고 다른 사람에서만 판매된다는 것입니다.
누군가이 행동의 이유를 설명 할 수 있습니까?
주문을 엽니다
그런 다음 고문이 수정합니다.
그리고 이 헛소리
가장 흥미로운 점은 이것이 USDJPY 쌍에서 발생하고 다른 사람에서만 판매된다는 것입니다.
무언가를 이해하려면 최소한의 주기로 유용한 정보를 최대한 끌어내는 법을 배우십시오 ...
무언가를 이해하려면 최소한의 주기로 유용한 정보를 최대한 끌어내는 법을 배우십시오 ...
할줄알았을때 얘기하는게 좋은데..
"최대한 유용한 정보를 끌어내는" 방법에 대한 조언을 돕습니다.
누군가이 행동의 이유를 설명 할 수 있습니까?
주문을 엽니다
그런 다음 고문이 수정합니다.
그리고 이 헛소리
가장 흥미로운 점은 이것이 USDJPY 쌍에서 발생하고 다른 사람에서만 판매된다는 것입니다.
코드가 작성된 고문이 작동하는 방식입니까, 아니면 다른 고문입니까?