//+------------------------------------------------------------------+ //| StopLevelに対する正しいStopLossを返します。 //+------------------------------------------------------------------+ double CorrectStopLoss(const string symbol_name,const ENUM_POSITION_TYPE position_type,const int stop_loss) { if(stop_loss==0) return 0; double pt=SymbolInfoDouble(symbol_name,SYMBOL_POINT); if(pt==0) return 0; double price=(position_type==POSITION_TYPE_BUY ? SymbolInfoDouble(symbol_name,SYMBOL_ASK) : SymbolInfoDouble(symbol_name,SYMBOL_BID)); int lv=StopLevel(symbol_name),dg=(int)SymbolInfoInteger(symbol_name,SYMBOL_DIGITS); return (position_type==POSITION_TYPE_BUY ? NormalizeDouble(::fmin(price-lv*pt,price-stop_loss*pt),dg) : NormalizeDouble(::fmax(price+lv*pt,price+stop_loss*pt),dg) ); } //+------------------------------------------------------------------+ //| StopLevelに対してStopLossが正しいかチェックする。 //+------------------------------------------------------------------+ bool CheckCorrectStopLoss(const string symbol_name,const ENUM_POSITION_TYPE position_type,const double stop_loss) { if(stop_loss==0) return true; double pt=SymbolInfoDouble(symbol_name,SYMBOL_POINT); if(pt==0) return false; double price=(position_type==POSITION_TYPE_BUY ? SymbolInfoDouble(symbol_name,SYMBOL_ASK) : SymbolInfoDouble(symbol_name,SYMBOL_BID)); int lv=StopLevel(symbol_name),dg=(int)SymbolInfoInteger(symbol_name,SYMBOL_DIGITS); return ( position_type==POSITION_TYPE_BUY ? NormalizeDouble(stop_loss-price- lv*pt,dg)<0 : NormalizeDouble(stop_loss-price+ lv*pt,dg)>0 ); }
エラーが強調されている。
fxsaber:
エラーが強調表示されます。
double price=(position_type==POSITION_TYPE_BUY ? SymbolInfoDouble(symbol_name,SYMBOL_ASK) : SymbolInfoDouble(symbol_name,SYMBOL_BID)); int lv=StopLevel(symbol_name),dg=(int)SymbolInfoInteger(symbol_name,SYMBOL_DIGITS); return (position_type==POSITION_TYPE_BUY ? NormalizeDouble(::fmin(price-lv*pt,price-stop_loss*pt),dg) : NormalizeDouble(::fmax(price+lv*pt,price+stop_loss*pt),dg) );
エラーは何ですか?
Artyom Trishkin:
何が間違いなのか?
価格が間違っている。
fxsaber:
正当化してください。
価格が間違っている。
Artyom Trishkin:
正当化する。
正当化する。
OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, Bid);
StopLevel==0のときに動作します。
MT4バージョンはありますか?
よくやった!本当にありがとう!
使いやすい。トップ。素晴らしい。
こんにちは。
あなたのEAを使おうとしているのですが、コード1でアウトしてしまいます。
それはブラジルのIBOV市場です。
トレーリングストップは、価格が離れても調整されないようです。何か見落としがあるのでしょうか?
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
TrailingStopAndTake:
作者: Scriptor