Myślę, że jest to ilos pipsów na + przy przestawianiu na BE.
Czyli jak dojdzie do działania BE to przestawi Ci SL np. na 3 pipsy na plus.
Aktywne przyciski na wykresie - jak się je wykonuje ?
Re: Aktywne przyciski na wykresie - jak się je wykonuje ?
Solą życia jest kasa.
Re: Aktywne przyciski na wykresie - jak się je wykonuje ?
Nie mogę sobie z tym poradzić...
Dlaczego funkcja OnChartEvent() nie reaguje i nie wyświetla komunikatu z Print? Odpalam to na testerze jako EA, na indykatorze zwraca wartość tzn reaguje na kliknięcie po wykresie myszką, a w EA nie. Tylko tyle kodu i chcialem zrobić kliknięcie na button żeby dodawało zlecenie BUY ale w ogóle nie reaguje, a w indykatorze OrderSend nie jest obsługiwane, więc tylko jako EA się da, ale nie wiem dlaczego to nie działa i jak zrobić żeby zaczęło działać.
Chciałem sprawdzić na testerze historycznym EA działanie tego ale nie wywołuje tej funkcji OnChartEvent() , nie wiem czy da się tak zrobić. Na realnym rynku pewnie da się to odpalić jako script, wrzucić do folderu script i potem na wykres i pewnie zadziała, ale chciałem troche na testerze przetestować.
-- Dodano: 23 wrz 2017, 17:33 --
https://images84.fotosik.pl/819/957d7bb3d538cf35.png
Tutaj jest obrazek, puściłem jako EA ten kod wyżej, i nie ma reakcji w konsoli mimo że klikam po wykresie i na guzik
Dlaczego funkcja OnChartEvent() nie reaguje i nie wyświetla komunikatu z Print? Odpalam to na testerze jako EA, na indykatorze zwraca wartość tzn reaguje na kliknięcie po wykresie myszką, a w EA nie. Tylko tyle kodu i chcialem zrobić kliknięcie na button żeby dodawało zlecenie BUY ale w ogóle nie reaguje, a w indykatorze OrderSend nie jest obsługiwane, więc tylko jako EA się da, ale nie wiem dlaczego to nie działa i jak zrobić żeby zaczęło działać.
Kod: Zaznacz cały
Custom indicator 'test': OrderSend function cannot be called from a custom indicator
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
string name = "test";
int OnInit()
{
//---
ObjectCreate(ChartID(), name, OBJ_BUTTON, 0, 0, 0);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//Print( Bid );
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
Print( 1 );
double minstoplevel = MarketInfo( Symbol(), MODE_STOPLEVEL );
double stoploss = NormalizeDouble( Bid - minstoplevel * Point , Digits );
if ( sparam == name ) {
OrderSend( Symbol(), OP_BUY, 1, Ask, 3, stoploss, 0, "order", 16348, 0, clrNONE );
}
}
https://images84.fotosik.pl/819/957d7bb3d538cf35.png
Tutaj jest obrazek, puściłem jako EA ten kod wyżej, i nie ma reakcji w konsoli mimo że klikam po wykresie i na guzik
Re: Aktywne przyciski na wykresie - jak się je wykonuje ?
Widze że nikt nie kwapi się z pomocą... To tylko napisze, że problem został już rozwiązany. Myślałem że można to sprawdzić na testerze, ale okazuje się że nie, na realnym rynku wszystko działa jak trzeba, klikne guzik i składa zlecenie jako EA. Pytanie nieaktualne.