Trailing Stop Cbot
Trailing Stop Cbot
08 Oct 2015, 23:46
Hello,
can someone explain to me how to use this cbot?
/algos/cbots/show/134
I thought that it will be working like advanced trailing stop loss, but when I turn on this cbot its only set the normal stop loss, But this stop loss not moves behind price like should do!
Description for this cbot is:
Description
This robot can help you to set "trailing stop".
The parameters in this robot are two:
"Trailing Stop (pips)": set the stoploss pips that you want
"Initial Stop Loss (pips)": autoset the stoploss if your trade do not have that.
Can someone help me.
I need this because I walk out from home before my order is buy/sell and I can't set this before sell/buy the order. I usually set buy stop/sell stop and this is a problem for me.
Thanks for help
I hope you will understand my english because I'm not soo good in speak english
Replies
breakermind
12 Oct 2015, 20:12
RE:
robot z trailing stop:
https://github.com/breakermind/cAlgoRobotsIndicators/blob/master/oooDBoo
Przykłady robotów i wskaźników::
https://github.com/breakermind/cAlgoRobotsIndicators
Pozdrawiam
@breakermind
kaliszczak91@gmail.com
13 Oct 2015, 14:46
Niestety żaden z powyższych nie działa tak jak powinien.
Chciałbym aby to działało w taki sposób, że po przyjęciu zlecenia wystawiany jest SL załóżmy 15 pipsów i jest on od razy SL kroczącym, czyli każdy ruch na +, przesuwa mój SL.
/forum/calgo-reference-samples/825 ten nie działa tak jak powinien bo jeśli ustawie obie wartości po 15 pipsów, to SL w ogóle się nie przesuwa, próbowałem wszystkiekombinacje i nic nie działało poprawnie po za przypadkiem gdy ustawiłem (tralling) na 1 to wtedy po zyskaniu jednego pipsa Sl szedł za ceną ale tylko 1 pips niżej, a niestety to za mało.
A co do tego:
https://github.com/breakermind/cAlgoRobotsIndicators/blob/master/oooDBoo
breakermind, czy mógłbyś mi powiedzieć jak to ustawić, ponieważ on ma bardzo dużo pól do wpisania,
Z góry dzięki
@kaliszczak91@gmail.com
breakermind
13 Oct 2015, 15:25
RE:
kaliszczak91@gmail.com said:
Niestety żaden z powyższych nie działa tak jak powinien.
Chciałbym aby to działało w taki sposób, że po przyjęciu zlecenia wystawiany jest SL załóżmy 15 pipsów i jest on od razy SL kroczącym, czyli każdy ruch na +, przesuwa mój SL.
/forum/calgo-reference-samples/825 ten nie działa tak jak powinien bo jeśli ustawie obie wartości po 15 pipsów, to SL w ogóle się nie przesuwa, próbowałem wszystkiekombinacje i nic nie działało poprawnie po za przypadkiem gdy ustawiłem (tralling) na 1 to wtedy po zyskaniu jednego pipsa Sl szedł za ceną ale tylko 1 pips niżej, a niestety to za mało.
A co do tego:
https://github.com/breakermind/cAlgoRobotsIndicators/blob/master/oooDBoo
breakermind, czy mógłbyś mi powiedzieć jak to ustawić, ponieważ on ma bardzo dużo pól do wpisania,
Z góry dzięki
using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; namespace cAlgo { [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class oodboo : Robot { [Parameter(DefaultValue = 50, MinValue = 0)] public int TrailingStop { get; set; } protected override void OnStart() { Print("Open position !!!"); } protected override void OnTick() { //===================================================== Trailing if (TrailingStop > 0) { foreach (var openedPosition in Positions) { Position Position = openedPosition; if (Position.TradeType == TradeType.Buy) { //double distance = Symbol.Bid - Position.EntryPrice; //if (distance >= TrailingStop * Symbol.PipSize) //{ double newStopLossPrice = Math.Round(Symbol.Bid - TrailingStop * Symbol.PipSize, Symbol.Digits); if (Position.StopLoss == null || newStopLossPrice > Position.StopLoss) { ModifyPosition(Position, newStopLossPrice, Position.TakeProfit); } //} } else { //double distance = Position.EntryPrice - Symbol.Ask; //if (distance >= TrailingStop * Symbol.PipSize) //{ double newStopLossPrice = Math.Round(Symbol.Ask + TrailingStop * Symbol.PipSize, Symbol.Digits); if (Position.StopLoss == null || newStopLossPrice < Position.StopLoss) { ModifyPosition(Position, newStopLossPrice, Position.TakeProfit); } //} } } } } protected override void OnStop() { Print("cBot was stoped."); } } }
Ten tak działa.
@breakermind
kaliszczak91@gmail.com
13 Oct 2015, 20:43
RE: RE:
breakermind said:
kaliszczak91@gmail.com said:
Niestety żaden z powyższych nie działa tak jak powinien.
Chciałbym aby to działało w taki sposób, że po przyjęciu zlecenia wystawiany jest SL załóżmy 15 pipsów i jest on od razy SL kroczącym, czyli każdy ruch na +, przesuwa mój SL.
/forum/calgo-reference-samples/825 ten nie działa tak jak powinien bo jeśli ustawie obie wartości po 15 pipsów, to SL w ogóle się nie przesuwa, próbowałem wszystkiekombinacje i nic nie działało poprawnie po za przypadkiem gdy ustawiłem (tralling) na 1 to wtedy po zyskaniu jednego pipsa Sl szedł za ceną ale tylko 1 pips niżej, a niestety to za mało.
A co do tego:
https://github.com/breakermind/cAlgoRobotsIndicators/blob/master/oooDBoo
breakermind, czy mógłbyś mi powiedzieć jak to ustawić, ponieważ on ma bardzo dużo pól do wpisania,
Z góry dzięki
using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; namespace cAlgo { [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class oodboo : Robot { [Parameter(DefaultValue = 50, MinValue = 0)] public int TrailingStop { get; set; } protected override void OnStart() { Print("Open position !!!"); } protected override void OnTick() { //===================================================== Trailing if (TrailingStop > 0) { foreach (var openedPosition in Positions) { Position Position = openedPosition; if (Position.TradeType == TradeType.Buy) { //double distance = Symbol.Bid - Position.EntryPrice; //if (distance >= TrailingStop * Symbol.PipSize) //{ double newStopLossPrice = Math.Round(Symbol.Bid - TrailingStop * Symbol.PipSize, Symbol.Digits); if (Position.StopLoss == null || newStopLossPrice > Position.StopLoss) { ModifyPosition(Position, newStopLossPrice, Position.TakeProfit); } //} } else { //double distance = Position.EntryPrice - Symbol.Ask; //if (distance >= TrailingStop * Symbol.PipSize) //{ double newStopLossPrice = Math.Round(Symbol.Ask + TrailingStop * Symbol.PipSize, Symbol.Digits); if (Position.StopLoss == null || newStopLossPrice < Position.StopLoss) { ModifyPosition(Position, newStopLossPrice, Position.TakeProfit); } //} } } } } protected override void OnStop() { Print("cBot was stoped."); } } }Ten tak działa.
Dzięki wielkie, właśnie o takiego cbota mi chodziło.
Dzięki jeszcze raz za pomoc, Pozdro
@kaliszczak91@gmail.com
rcc25
10 Oct 2015, 10:21
Użyj tego ten chyba działa poprawnie
/forum/calgo-reference-samples/825
pozdrawiam
@rcc25