bisogno di consigli da un professionista della pesca a strascico che controlla due posizioni indipendentemente l'una dall'altra, come può essere implementato?
La rete a strascico deve comunque distinguere le posizioni, quindi possiamo assegnare magie diverse agli ordini e impostare due reti a strascico con magie diverse.
O dovremmo incorporare il codice della rete a strascico nell'EA? In questo caso, dovremmo ancora assegnare numeri magici diversi agli ordini e duplicare la funzione trail su due simboli magici. IMHO.
In ogni caso uno strascico ha bisogno di distinguere tra le posizioni, quindi è possibile assegnare magie diverse agli ordini e impostare due strascichi con magie diverse.
Come apparirebbe nel codice?
c'è un trawl separato per ogni posizione?
E se ci sono 6-8 posizioni?
È davvero impossibile semplificare?
la rete a strascico è nell'EA
Come sarebbe nel codice? È possibile scrivere un nuovo magik per ogni posizione?
c'è una pesca a strascico separata per ogni posizione?
E se ci sono 6-8 posizioni?
Non potrebbe essere più semplice?
Se ci sono molte posizioni, è difficile avere un trawl separato per ognuna, sono d'accordo. Se ci sono due posizioni alla volta, secondo me va bene.
Forse può essere più semplice, ma quale dovrebbe essere la differenza nel trawl dei diversi ordini?
Come sarebbe nel codice? verrebbe scritto un nuovo magik per ogni posizione?
C'è un trawl separato per ogni posizione?
E se ci sono 6-8 posizioni?
è davvero impossibile semplificare?
la rete a strascico è nell'EA
Disabilita il trawl in EA e usa il trawl incorporato, c'è un trawl separato per ogni posizione.
non divertente
//--------------------------------------------------------------- 1 -- // Функция модификации StopLoss всех ордеров указанного типа // Глобальные переменные: // Mas_Ord_New Массив ордеров последний известный // int TralingStop Значение TralingStop(количество пунктов) //--------------------------------------------------------------- 2 -- int Tral_Stop(int Tip) { int Ticket; // Номер ордера double Price, // Цена открытия рыночного ордера TS, // TralingStop (относит.знач.цены) SL, // Значение StopLoss ордера TP; // Значение TakeProfit ордера bool Modify; // Признак необходимости модифи. //--------------------------------------------------------------- 3 -- for(int i=1;i<=Mas_Ord_New[0][0];i++) // Цикл по всем ордерам { // Ищем ордера задан. типа if (Mas_Ord_New[i][6]!=Tip) // Если это не наш тип.. continue; //.. то переступим ордер Modify=false; // Пока не назначен к модифи Price =Mas_Ord_New[i][1]; // Цена открытия ордера SL =Mas_Ord_New[i][2]; // Значение StopLoss ордера TP =Mas_Ord_New[i][3]; // Значение TakeProft ордера Ticket=Mas_Ord_New[i][4]; // Номер ордера if (TralingStop<Level_new) // Если меньше допустимого.. TralingStop=Level_new; // .. то допустимый TS=TralingStop*Point; // То же в относит.знач.цены //--------------------------------------------------------- 4 -- switch(Tip) // Переход на тип ордера { case 0 : // Ордер Buy if (NormalizeDouble(SL,Digits)<// Если ниже желаемого.. NormalizeDouble(Bid-TS,Digits)) { // ..то модифицируем его: SL=Bid-TS; // Новый его StopLoss Modify=true; // Назначен к модифи. } break; // Выход из switch case 1 : // Ордер Sell if (NormalizeDouble(SL,Digits)>// Если выше желаемого.. NormalizeDouble(Ask+TS,Digits)|| NormalizeDouble(SL,Digits)==0)//.. или нулевой(!) { // ..то модифицируем его SL=Ask+TS; // Новый его StopLoss Modify=true; // Назначен к модифи. } } // Конец switch if (Modify==false) // Если его не надо модифи.. continue; // ..то идём по циклу дальше bool Ans=OrderModify(Ticket,Price,SL,TP,0);//Модифицируем его! //--------------------------------------------------------- 5 -- if (Ans==false) // Не получилось :( { // Поинтересуемся ошибками: if(Errors(GetLastError())==false)// Если ошибка непреодолимая return; // .. то уходим. i--; // Понижение счётчика } } return; // Выход из пользов. функции } //--------------------------------------------------------------- 6 --codice a strascico
Posso solo suggerire che ad ogni ordine dovrebbe essere assegnato un nuovo magik a turno, e che una funzione di tipo separato dovrebbe essere fatta per ogni ordine:
//--------------------------------------------------------------- 1 -- // Функция модификации StopLoss всех ордеров указанного типа // Глобальные переменные: // Mas_Ord_New Массив ордеров последний известный // int TralingStop_1 Значение TralingStop(количество пунктов) //--------------------------------------------------------------- 2 -- int Tral_Stop(int Tip) { int Ticket; // Номер ордера double Price, // Цена открытия рыночного ордера TS, // TralingStop (относит.знач.цены) SL, // Значение StopLoss ордера TP; // Значение TakeProfit ордера bool Modify; // Признак необходимости модифи. //--------------------------------------------------------------- 3 -- if(OrderMagicNumber() == magic_1){ for(int i=1;i<=Mas_Ord_New[0][0];i++) // Цикл по всем ордерам { // Ищем ордера задан. типа if (Mas_Ord_New[i][6]!=Tip) // Если это не наш тип.. continue; //.. то переступим ордер Modify=false; // Пока не назначен к модифи Price =Mas_Ord_New[i][1]; // Цена открытия ордера SL =Mas_Ord_New[i][2]; // Значение StopLoss ордера TP =Mas_Ord_New[i][3]; // Значение TakeProft ордера Ticket=Mas_Ord_New[i][4]; // Номер ордера if (TralingStop<Level_new) // Если меньше допустимого.. TralingStop=Level_new; // .. то допустимый TS=TralingStop*Point; // То же в относит.знач.цены //--------------------------------------------------------- 4 -- switch(Tip) // Переход на тип ордера { case 0 : // Ордер Buy if (NormalizeDouble(SL,Digits)<// Если ниже желаемого.. NormalizeDouble(Bid-TS,Digits)) { // ..то модифицируем его: SL=Bid-TS; // Новый его StopLoss Modify=true; // Назначен к модифи. } break; // Выход из switch case 1 : // Ордер Sell if (NormalizeDouble(SL,Digits)>// Если выше желаемого.. NormalizeDouble(Ask+TS,Digits)|| NormalizeDouble(SL,Digits)==0)//.. или нулевой(!) { // ..то модифицируем его SL=Ask+TS; // Новый его StopLoss Modify=true; // Назначен к модифи. } } // Конец switch if (Modify==false) // Если его не надо модифи.. continue; // ..то идём по циклу дальше bool Ans=OrderModify(Ticket,Price,SL,TP,0);//Модифицируем его! //--------------------------------------------------------- 5 -- if (Ans==false) // Не получилось :( { // Поинтересуемся ошибками: if(Errors(GetLastError())==false)// Если ошибка непреодолимая return; // .. то уходим. i--; // Понижение счётчика } } return; // Выход из пользов. функции } } //--------------------------------------------------------------- 6 --
non divertente
Economico e allegro.
Se ogni posizione ha il suo trawl, il valore della variabile trawl dovrebbe essere diverso per ogni posizione. Quindi, per ogni pesca a strascico c'è una variabile: quante posizioni avrà al massimo?
Economico ed economico.
Se ogni posizione ha il suo trawl, allora il valore della variabile trawl dovrebbe essere diverso per ogni posizione. Quindi, per ogni pesca a strascico c'è una variabile: quante posizioni al massimo avrete?
massimo 8 posizioni

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
impostare la rete a strascico, funziona bene per una posizione
ma se c'è più di una posizione, per esempio due posizioni Sell
li chiude entrambi allo stesso tempo
Ho bisogno di un trawl per lavorare per ogni posizione separatamente
quando il trading manuale è possibile, cioè una posizione ha un Sell StopLoss
l'altra posizione Sell ha uno StopLoss diverso
Google non ha aiutato